Ұсыныс жүйелері
Автор: onglassynnurai • Май 3, 2024 • Контрольная работа • 265 Слов (2 Страниц) • 70 Просмотры
Практикалық жұмыс №6
Ұсыныс жүйелері
Пайдаланушыларға олардың бұрынғы мінез-құлқы мен қызығушылықтарына негізделген жекелендірілген ұсыныстарды ұсыну үшін ұсыныс жүйесін құрыңыз.
Data mining әдістері мен бағдарламалық кодты қолдана отырып, ұсыныс жүйесін құру үшін scikit-learn кітапханасын қолдана отырып, Python мысалын қарастырайық. Біз матрицалық факторизацияға негізделген бірлескен сүзу әдісін қолданамыз.
Ең алдымен, егер олар әлі орнатылмаған болса, PIP көмегімен қажетті кітапханаларды орнатыңыз:
pip install numpy scikit-learn pandas
Енді кодты жазуды бастайық:
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from scipy.sparse.linalg import svds
# Загрузим данные (предположим, что данные уже содержат информацию о рейтингах)
# Пример: userId, movieId, rating
ratings_data = pd.read_csv('ratings.csv')
# Разделим данные на обучающий и тестовый наборы
train_data, test_data = train_test_split(ratings_data, test_size=0.2)
# Создадим матрицу рейтингов пользователей и предметов
num_users = ratings_data['userId'].nunique()
num_items = ratings_data['movieId'].nunique()
ratings_matrix = np.zeros((num_users, num_items))
for row in train_data.itertuples():
ratings_matrix[row[1]-1, row[2]-1] = row[3]
# Применим метод матричной факторизации (SVD) для прогнозирования рейтингов
U, sigma, Vt = svds(ratings_matrix, k=50)
sigma = np.diag(sigma)
predicted_ratings = np.dot(np.dot(U, sigma), Vt)
# Оценим качество модели
test_ratings = np.zeros((num_users, num_items))
...