Курс для студентов потока ДПИ22 весна 2026 год.
Практические задания включают в себя написание кода для рекомендательных систем в файлах sem1.py, sem2.py и т.д. .
Для оценки используется файлы test*.py, в них прописана логика, которую менять нельзя!
Для проведения тестов и публикации результатов их исполнения используется Github Actions.
-
Делаете форк этого репозитория через веб интерфейс github.
Присылаете ссылку на свой форк на почту ailabintsev@fa.ru с указанием своей фамилии и группы. -
Клонируете свой форк на локальную машину
git clone https://github.com/{your_name}/recsys_course.git
cs recsys_course - Создаете виртуальное окружение и устанавливаете зависимости через интерфейс VsCode или CLI:
python3 -m venv .venv
source .venv/bin/activate- Скачайте данные и распакуйте в папку
data
wget https://storage.yandexcloud.net/labintsev/ml-latest-small.zip
unzip ml-latest-small.zip -d data
rm ml-latest-small.zipПодробное описание данных - здесь
На примере первого задания:
-
реализуете недостающий код в функциях в файле
sem1.py -
проверяете работу, дебаг по необходимости:
python sem1.py- локально тестируете прохождение тестов и начисление баллов
python test1.py-
если тесты проходят, делаете коммит файла и пушите в свой репо.
-
на вкладке Actions проверяете корректное прохождение тестов и начисление баллов.
Функция random_recommend - рекомендует случайные фильмы - 3 балла (уже решено для примера).
Функция top_n_recommend - самые популярные фильмы на основе среднего рейтинга и количества оценок - 3 балла.
Функция evaluate_rec_systems - вычисляет метрику Accuracy для двух подходов: случайные и популярные фильмы - 4 балла.
Функция jaccard_similarity - Вычисление схожести пользователей по коэффициенту Жаккара - 2 балла.
Функция build_user_user_matrix - матрицы сходств между пользователями по коэффициенту Жаккара - 3 балла.
Функция predict_rating - Предсказывает рейтинг, который пользователь user_id поставит фильму item_id - 3 балла.
Функция predict_items_for_user - Рекомендует фильмы пользователю на основе топ-k похожих пользователей - 2 балла.
Функция vectorize_content - Преобразование текстового описания контента в вектор. - 4 балла.
Функция predict_rating - Предсказывает рейтинг, который пользователь user_id поставит фильму item_id - 3 балла.
Функция predict_items_for_user - Рекомендует фильмы пользователю на основе топ-k похожих пользователей - 3 балла.
Функция singular_value_decomposition - разложение матрицы взаимодействий на U, S, V - 4 балла.
Функция predict_rating - Предсказывает рейтинг, который пользователь user_id поставит фильму item_id - 3 балла.
Функция predict_items_for_user - Рекомендует фильмы пользователю на основе топ-k похожих пользователей - 4 балла.
