Example #1
0
 def compute_svd(self):
     '''    
     ratings = pd.read_csv("/home/sourabhkondapaka/Desktop/ratingsss.csv",index_col= False)
     ratings = ratings.ix[1:]
     ratings.to_csv("/home/sourabhkondapaka/Desktop/ratingsss.csv",index = False)
     self.data = Data()      
     self.data.load(self.ratings_file, sep=',', format={'col':0, 'row':1 ,'value':2, 'ids':float})
     self.train , self.test = self.data.split_train_test(percent=self.PERCENT_TRAIN)    
     self.svd = SVD()
     self.svd.set_data(self.train)    
     self.svd.compute(k=self.K, min_values=1, pre_normalize=None, mean_center=True, post_normalize=True)'''
     self.data = Data()
     self.data.load(self.ratings_file,
                    sep=',',
                    format={
                        'col': 0,
                        'row': 1,
                        'value': 2,
                        'ids': float
                    })
     self.train, self.test = self.data.split_train_test(percent=85)
     self.svd = SVDNeighbourhood()
     self.svd.set_data(self.train)
     self.svd.compute(k=100,
                      min_values=1,
                      pre_normalize=None,
                      mean_center=False,
                      post_normalize=True)
    # recommender = Recommender()
    # recommender.load_web_data('dataset',
    #                           [{'Запах женщины': 9, 'The Usual Suspects': 8, 'The Departed': 8,
    #                             'Тутси': 7, 'Выпускник': 10, 'Залечь на дно в Брюгге': 4, 'Евротур': 7,
    #                             'Goodfellas': 6, 'Донни Браско': 8, 'Амели': 3, 'Идиократия': 7}],
    #                           100, 0, 10, 10)

    # recommender.load_local_data('dataset', K=100, min_values=0)
    # m = recommender.matrix.get_rating_matrix()
    #
    # m1 = recommender.get_predictions_for_all_users()

    from recsys.algorithm.factorize import SVDNeighbourhood

    svd = SVDNeighbourhood()
    svd.load_data('test_dataset',
                  sep=' ',
                  format={
                      'col': 1,
                      'row': 0,
                      'value': 2,
                      'ids': int
                  })
    svd.compute(100, 0)
    print svd.predict(108, 698)

    # svd.load_data(filename=sys.argv[1], sep='::', format={'col':0, 'row':1, 'value':2, 'ids': int})
    # K=100
    # svd.compute(k=K, min_values=5, pre_normalize=None, mean_center=True, post_normalize=True)
Example #3
0
import sys
from numpy import nan, mean

#To show some messages:
import recsys.algorithm
recsys.algorithm.VERBOSE = True

from recsys.algorithm.factorize import SVD, SVDNeighbourhood
from recsys.datamodel.data import Data
from recsys.evaluation.prediction import RMSE, MAE

# Create SVD
K = 100
svd = SVD()
svd_neig = SVDNeighbourhood()

#Dataset
PERCENT_TRAIN = int(sys.argv[2])
data = Data()
data.load(sys.argv[1],
          sep='::',
          format={
              'col': 0,
              'row': 1,
              'value': 2,
              'ids': int
          })

rmse_svd_all = []
mae_svd_all = []
rmse_svd_neig_all = []