""" This module describes the most basic usage of Surprise: you define a prediction algorithm, (down)load a dataset and run a cross-validation procedure. """ from __future__ import (absolute_import, division, print_function, unicode_literals) from surprise import SVD from surprise import Dataset from surprise.model_selection import cross_validate import numpy as np # Load the movielens-100k dataset (download it if needed), data = Dataset.load_builtin('ml-100k') sizefinder = data.build_full_trainset() # We'll use the famous SVD algorithm. algo = SVD() s = (sizefinder.n_users + 1, sizefinder.n_items + 1) weight = np.ones(s) algo.weightUpdate(weight) # Run 5-fold cross-validation and print results cross_validate(algo, data, measures=['RMSE', 'MAE'], cv=5, verbose=True)
PredictM = np.zeros(size_mui) # Initializing RMSE vector to store RMSE of ABtestset from each model in Adaboost iteration ABRMSE = np.zeros(m, dtype=float) # Initializing Rating Matrix to store true ratings from T_train RatingM = np.zeros(size_ui) for uid, iid, rating in trainset.all_ratings(): RatingM[uid, iid] = rating # Starting the main Adaboost loop for mm in range(m): #Obtain prediction using current W ############################################ Adaboost Step 1 ######################################### # algo = BaselineOnly(bsl_options = bsl_options) algo.weightUpdate(W) predictions = algo.fit(trainset).test(ABtestset) # predictions = algo.test(ABtestset) ABRMSE[mm] = accuracy.rmse(predictions) for (ruid, riid, _, est, _, _) in predictions: # print("predictM loop: ", ruid,riid,est) uid = WholeSet.to_inner_uid(ruid) iid = WholeSet.to_inner_iid(riid) ABPredictM[mm, uid, iid] = est ############################################ Adaboost Step 2 ######################################### # predictions = algo.fit(trainset).test(testset) # algo = BaselineOnly(bsl_options = bsl_options) # algo.weightUpdate(W) predictions = algo.fit(trainset).test(testset) # predictions = algo.test(testset)