Импорт облака: from google.colab import drive drive.mount('/content/gdrive') Импорт библиотек: import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error from math import sqrt from sklearn.metrics.pairwise import pairwise_distances Загрузка данных: movies = pd.read_csv('/content/gdrive/MyDrive/recomend/movies.csv') ratings = pd.read_csv('/content/gdrive/MyDrive/recomend/ratings.csv') Подсчёт общего количества пользователей и предметов: n_users = len(ratings['userId'].unique()) n_movies = len(ratings['movieId'].unique()) Приведение movie_id в пригодный вид (от 0 до n_movies): movie_ids = ratings['movieId'].unique() def scale_movie_id(movie_id): scaled = np.where(movie_ids == movie_id)[0][0] + 1 return scaled ratings['movieId'] = ratings['movieId'].apply(scale_movie_id) P.S. На этом этапе можно отнормировать значения рейтингов Разделение данных на выборки: train_data, test_data = train_test_split(ratings, te
Пайплайн по разработке item-based и user-baced рекомендательных систем на базе косинусных расстояний
8 ноября 20228 ноя 2022
5
3 мин