Skip to content

lexxai/goit_python_ds_hw_07

Repository files navigation

Модуль 7. Рекомендаційні системи.

З циклу домашніх завдань Python Data Science.

Домашнє завдання

На цьому тижні ми вивчили як працюють рекомендаційні системи. Пропонуємо вам познайомитись з бібліотекою surprise, котра якраз є по суті додатком до знайомої нам бібліотеки scikit-learn для тренування моделей рекомендаційних систем.

Візьміть датасет movielens і побудуйте модель матричної факторизації. У даній бібліотеці він має назву SVD. Підберіть найкращі параметри за допомогою крос-валідації, також поекспериментуйте з іншими алгоритмами розрахунків (SVD++, NMF) і оберіть той, який буде оптимальним.

Підказки як саме побудувати дану модель ви знайдете в документації до даної бібліотеки.

Додаткове завдання з зірочкою

Для більшого заглиблення в роботу алгоритму, пропонуємо реалізувати алгоритм колабораційної фільтрації з нуля. Для цього ми можемо скористатись нашою домашньою роботою з 3-ого модуля. Якщо ми модифікуємо функцію втрат та розрахунок градієнтів, то зможемо побудувати алгоритм матричної факторизації.

Тут ви можете побачити формули та завантаження датасету. А ось посилання на назви фільмів та на рейтинги.

Вдалої роботи!

Результати

algo_select_accuracy fit_time test_time algo_select predict_table predict_table_name

Використання load_from_df та "ratings.csv" з "ml-latest-small.zip"

Швидші розрахунки у 3.28 рази при використанні load_builtin у порівнянні з "ratings.csv" для SVD++ fit_time_built algo_select_built

Частина 2 (бонус)

part2_learning_curve part2_pered