rating += temp_rating_dist[i][1][0] * temp_rating_dist[i][ 0][0] den += temp_rating_dist[i][0][0] c += 1 if den == 0: den = 1 rating = rating / den pred.append(rating) return np.array(pred) if __name__ == '__main__': training = recsys_utils.read_train(sparse=True) testing = recsys_utils.read_test_table().head(10000) truth = testing['rating'].head(10000).as_matrix() user_mappings = recsys_utils.read_user_map() movie_mappings = recsys_utils.read_movie_map() user_means = np.squeeze(np.sum(np.array(training.todense()), axis=1)) user_means = np.divide(user_means, (np.array(training.todense()) != 0).sum(1)) print('collaborative filtering for User-User:'******'float32')), metric='cosine') print('distance calculation time:', time() - start_time_user) predictions = predict(training, user_dist, testing, user_mappings, movie_mappings, 10) print('Time for User-User:'******'RMSE:', evaluation.RMSE(predictions, truth)) print('spearman rank correlation:',
Cur_mat = np.matmul(Matrix_C, U_mat) Cur_mat = np.matmul(Cur_mat, Matrix_R) print("Final Matrix Shape") print(Cur_mat.shape) a = Cur_mat[0, 1] Cur_mat = np.add(Cur_mat, means_mat) return Cur_mat train2 = recsys_utils.read_train() test = recsys_utils.read_test_table() truth = test['rating'].as_matrix() user_map = recsys_utils.read_user_map() movie_map = recsys_utils.read_movie_map() print("Train Data Shape") print(train2.shape) means_mat = Usr_Mean(train2) print("Done till here") train = Subtract_Mean_value(train2) '''Calcuating Frobnieus Norm rowwise and column wise''' start_time_user = time() forbenius_norm_matrix, forbenius_norm_matrix_col, forbenius_norm_matrix_row = calc_frob( train) """This is No of rows to be selected which is equal to 4 * (no_of_dimension in svd) """