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:',
Пример #2
0
    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) """