З циклу домашніх завдань Python Data Science.
На цьому тижні ми вивчили як працюють рекомендаційні системи. Пропонуємо вам познайомитись з бібліотекою surprise, котра якраз є по суті додатком до знайомої нам бібліотеки scikit-learn для тренування моделей рекомендаційних систем.
Візьміть датасет movielens і побудуйте модель матричної факторизації. У даній бібліотеці він має назву SVD. Підберіть найкращі параметри за допомогою крос-валідації, також поекспериментуйте з іншими алгоритмами розрахунків (SVD++, NMF) і оберіть той, який буде оптимальним.
Підказки як саме побудувати дану модель ви знайдете в документації до даної бібліотеки.
Для більшого заглиблення в роботу алгоритму, пропонуємо реалізувати алгоритм колабораційної фільтрації з нуля. Для цього ми можемо скористатись нашою домашньою роботою з 3-ого модуля. Якщо ми модифікуємо функцію втрат та розрахунок градієнтів, то зможемо побудувати алгоритм матричної факторизації.
Тут ви можете побачити формули та завантаження датасету. А ось посилання на назви фільмів та на рейтинги.
Вдалої роботи!
Використання load_from_df та "ratings.csv" з "ml-latest-small.zip"
Швидші розрахунки у 3.28 рази при використанні load_builtin у порівнянні з "ratings.csv" для SVD++