コード例 #1
0
    mat_c = np.array(Matrix_C)
    mat_r = np.array(Matrix_R)
    print(mat_c.shape, " ", U_mat.shape, " ", mat_r.shape)
    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()
コード例 #2
0
                if c >= n:
                    break
                elif temp_rating_dist[i][1][0] != 0:
                    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)
コード例 #3
0
            np.dot(matrix.T, np.reshape(U[:, i], [U.shape[0], 1])),
            [matrix.shape[1]])
    V_t = V.T

    if save_factorized:
        np.save('temp_data/U', U)
        np.save('temp_data/V_t', V_t)
        np.save('temp_data/sigma', sigma)
        print('matrices saved!')

    return U, V_t, sigma


if __name__ == '__main__':
    # Read data
    train = np.array(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()

    start_time = time()

    # Subtracting mean of data from train set
    user_means = np.squeeze(np.sum(train, axis=1))
    user_means = np.divide(user_means, (train != 0).sum(1))
    for i in range(train.shape[0]):
        train[i, :][train[i, :] != 0] -= user_means[i]

    # Decomposition and Reconstruction of SVD
    U, V_t, sigma = SVD(train, retain_energy=90, save_factorized=True)