Пример #1
0
class Algorithm(object):
    def __init__(self):
        self._data = Data()

    def __repr__(self):
        s = '%d rows.' % len(self.get_data())
        if len(self.get_data()):
            s += '\nE.g: %s' % str(self.get_data()[0])
        return s

    def __len__(self):
        return len(self.get_data())

    def get_data(self):
        return self._data

    def set_data(self, data):
        self._data = data

    def add_tuple(self, tuple):
        self.get_data().add_tuple(tuple)

    def load_data(self, filename, sep='\t', format={'value':0, 'row':1, 'col':2}):
        self._data.load_file(filename, sep, format)

    def compute(self):
        if not self._data.get():
            raise ValueError('No data set. Matrix is empty!')
Пример #2
0
    print len(r_info),r_info[1:10]

    value = RMSE(r_info).compute()
    print value





def test_itembased(train,test,data):
    itembased = ItemBased()
    itembased.set_data(train)
    itembased.compute(num = 100)
    ITEMID = 1
    USERID = 1
    #print svd.predict(ITEMID, USERID, MIN_RATING, MAX_RATING)
    print itembased.recommend(USERID, is_row=False) #cols are users and rows are items, thus we set is_row=False
    print itembased.recommend(ITEMID)


data = Data()
data.load_file(path='../../data/ratings.dat',sep='::'
          , format={'col':0, 'row':1,'value':2, 'ids': int})
print len(data.get())
train,test = data.split_train_test(percent = 100)
#test_svd(train,test,data)
test_itembased(train,test,data)