Все курсы
Машинное обучение
Изучите полный цикл создания рекомендательной системы на основе машинного обучения: от подготовки и анализа данных до обучения модели и публикации готового веб-приложения. Вы научитесь работать с датасетом MovieLens, реализуете рекомендательную модель на основе матричной факторизации, улучшите её качество с помощью подбора параметров и регуляризации, создадите интерактивное приложение на Streamlit и развернёте проект на Hugging Face Spaces для своего портфолио.
С нуля до junior
Диплом
Чем занимается?
Кто такой разработчик рекомендательных систем
Разработчик рекомендательных систем — это специалист, который создает алгоритмы, способные предсказывать интересы пользователей и предлагать им релевантный контент.
Чем занимается
Он анализирует поведение пользователей, работает с данными оценок, строит модели рекомендаций (например, через матричную факторизацию) и внедряет их в реальные приложения.
Как помогает бизнесу
Рекомендательные системы увеличивают продажи, удержание пользователей и вовлеченность — именно они стоят за Netflix, YouTube, Amazon и другими крупными сервисами.
Реальный проект для вашего портфолио
Вы разработаете полноценный проект с нуля для своего портфолио
Анализ пользовательских данных
Подготовка данных, исследовательский анализ и работа с датасетами рекомендаций.
Разработка рекомендательной системы
Построение и обучение модели рекомендаций с использованием матричной факторизации.
Готовый AI-сервис
Создание и деплой приложения с персональными рекомендациями для пользователей.
Все материалы проекта: код, данные, презентация и дашборд — останутся у вас!
Ведущий преподаватель
Lead Data Engineer
Чемпион Дагестана по спортивному программированию (2024)
Чемпион СКФО по спортивному программированию (2026)
Эксперт в области Data Science
Эксперт по анализу данных и машинному обучению
Python-разработчик NovaData
Backend-разработчик
DevOps-инженер
Автор книг по ИИ, автор ВАК статей
Победитель международных и всероссийских олимпиад по математике
Ведущий преподаватель
Lead Data Engineer
Чемпион Дагестана по спортивному программированию (2024)
Чемпион СКФО по спортивному программированию (2026)
Эксперт в области Data Science
Эксперт по анализу данных и машинному обучению
Python-разработчик NovaData
Backend-разработчик
DevOps-инженер
Автор книг по ИИ, автор ВАК статей
Победитель международных и всероссийских олимпиад по математике
Стабильный доход на каждом этапе карьеры
В настоящее время профессия Data Scientist является одной из самых высокооплачиваемых на рынке.
Профессия Data Scientist особенно востребована в областях финансов, электронной коммерции, маркетинга и технологических компаниях
Данные о средней заработной плате взяты с официального сайта hh.ru и других открытых источников с актуальной информацией о вакансиях.
Кому подойдет программа?
Новичкам в IT
Чтобы попробовать себя в машинном обучении на практике
Python-разработчикам
Чтобы освоить ML и работу с данными
Аналитикам
Чтобы научиться строить рекомендательные модели
Data специалистам
Чтобы понять, как работают рекомендации “под капотом”
Всем, кто хочет сделать ML-проект
И добавить его в портфолио
Чему вы научитесь?
Инструменты
Навыки
Программа курса
Анализ данных
Загрузка датасета MovieLens
Загрузите датасет MovieLens 1M и подготовите данные для дальнейшего анализа и построения рекомендательных систем.
— Скачаете датасет MovieLens 1M с официального сайта GroupLens с помощью wget и распакуете архив.
— Проверите структуру набора данных и убедитесь в наличии файлов ratings.dat, movies.dat и users.dat.
— Подготовите рабочее окружение и импортируете необходимые библиотеки для анализа данных.
— Научитесь читать файлы формата .dat, корректно задавая разделители, кодировки и параметры загрузки.
— Загрузите данные о пользователях, фильмах и оценках в DataFrame для дальнейшей обработки и исследования.
Работа с таблицами (пользователи, фильмы, оценки)
Научитесь работать с основными таблицами датасета MovieLens, выполнять первичную подготовку данных и формировать единый набор данных для последующего анализа и построения рекомендательных моделей.
— Исследуете структуру и размеры таблиц users, movies и ratings.
— Проверите данные на наличие пропусков, дубликатов и некорректных значений.
— Убедитесь в корректности типов данных и приведёте столбцы к необходимым форматам для дальнейшей обработки.
— Объедините таблицы ratings и movies в единый DataFrame для анализа пользовательских оценок фильмов.
— Подготовите итоговый датасет для последующего обучения рекомендательных алгоритмов.
— Сохраните объединённую таблицу в файл movielens_data.csv и подготовите её для использования в следующих практических работах.
Анализ данных через Pandas
Научитесь анализировать данные с помощью Pandas и подготовите базовые статистики, которые используются при построении рекомендательных систем и исследовательском анализе данных.
— Вычислите глобальный средний рейтинг по всему датасету и получите простейший baseline для сравнения будущих моделей рекомендаций.
— Выполните группировку данных по фильмам с помощью groupby и рассчитаете среднюю оценку и количество оценок для каждого фильма.
— Выявите проблему статистического шума при малом количестве оценок и поймёте, почему фильмы с одной-двумя высокими оценками не должны автоматически попадать в рекомендации.
— Добавите фильтр по минимальному количеству оценок и построите реалистичный рейтинг лучших фильмов на основе пользовательских оценок.
— Определите самых активных пользователей по количеству выставленных оценок и подготовите данные для последующего построения персонализированных рекомендательных моделей.
Построение графиков
Научитесь визуализировать данные MovieLens и находить закономерности, которые важно учитывать при построении рекомендательных систем и анализе пользовательского поведения.
— Построите распределение пользовательских оценок и увидите характерный перекос в сторону высоких значений, что важно учитывать при выборе метрик качества моделей.
— Выполните обработку жанров фильмов, разделите их по разделителю "|" и рассчитаете частоту встречаемости каждого жанра.
— Визуализируете популярность жанров и определите наиболее востребованные категории фильмов среди пользователей.
— Построите рейтинг самых популярных фильмов по количеству оценок и сравните его с рейтингом фильмов, имеющих самые высокие средние оценки при достаточном числе голосов.
— Сравните понятия «популярный фильм» и «любимый фильм», проанализировав различия между частотой оценивания и качеством оценок.
— Построите распределение количества оценок на фильм в логарифмической шкале и наглядно увидите эффект «длинного хвоста», характерный для рекомендательных систем.
Результат
В результате выполненной работы подготовите полноценный набор данных для построения рекомендательной системы и получите первые практические выводы о структуре пользовательских предпочтений и особенностях датасета MovieLens.
— Подготовите объединённый и очищенный датасет movielens_data.csv, готовый для дальнейшего обучения рекомендательных моделей.
— Исследуете распределение пользовательских оценок и определите средний рейтинг по всей выборке.
— Выявите смещение распределения оценок в сторону положительных значений и поймёте влияние этого эффекта на рекомендательные алгоритмы.
— Проанализируете жанровые предпочтения пользователей и определите наиболее популярные категории фильмов.
— Обнаружите проблему статистического шума при малом количестве оценок и научитесь корректно учитывать её при анализе рейтингов.
— Исследуете эффект «длинного хвоста» популярности и увидите характерное распределение фильмов по количеству оценок.
— Получите первые аналитические инсайты, которые станут основой для построения и оценки рекомендательной системы в следующих модулях курса.
Первая модель
Матричная факторизация
Познакомитесь с матричной факторизацией — одним из наиболее популярных подходов построения рекомендательных систем. Поймёте, как пользователи и объекты представляются в пространстве скрытых признаков и как на основе этих представлений формируются персональные рекомендации.
— Изучите идею матричной факторизации и научитесь представлять пользователей и фильмы в виде векторов латентных факторов.
— Поймёте, как скалярное произведение вектора пользователя и вектора фильма используется для предсказания пользовательской оценки.
— Разберётесь с понятием размерности латентного пространства k и узнаете, как количество скрытых факторов влияет на качество модели.
— Изучите проблему недообучения при малых значениях k и риск переобучения при чрезмерном увеличении размерности модели.
— Выведете правила обновления параметров модели для стохастического градиентного спуска на основе функции потерь MSE.
— Поймёте, как производные используются для пошагового обучения латентных представлений пользователей и фильмов.
Реализация SGD на NumPy
Реализуете обучение модели матричной факторизации на данных MovieLens и научитесь подготавливать пользовательские оценки для работы с NumPy и стохастическим градиентным спуском.
— Загрузите movielens_data.csv и подготовите данные для обучения рекомендательной модели.
— Создадите отображения user2idx и movie2idx, чтобы перевести идентификаторы пользователей и фильмов во внутренние индексы модели.
— Сформируете массивы user_indices, movie_indices и ratings_values для эффективной работы с NumPy.
— Инициализируете матрицы пользователей и фильмов небольшими случайными значениями.
— Напишете функцию sgd_step, которая обновляет векторы пользователя и фильма для одной оценки и возвращает ошибку предсказания.
— Реализуете цикл обучения на несколько эпох с перемешиванием примеров перед каждой эпохой.
— Отследите снижение train RMSE и убедитесь, что модель действительно учится приближать известные пользовательские оценки.
Оценка качества модели (RMSE)
Научитесь оценивать качество рекомендательной модели на обучающей и валидационной выборках, анализировать кривые обучения и сохранять обученные параметры модели для повторного использования.
— Разделите данные на обучающую и валидационную выборки с помощью train_test_split.
— Поймёте, почему ошибка на валидации важнее ошибки на обучении при оценке качества модели.
— Вычислите RMSE на train и validation после каждой эпохи обучения.
— Проанализируете кривые обучения и определите, переобучается ли модель или продолжает улучшаться.
— Сохраните обученные матрицы пользователей и фильмов для дальнейшего использования.
— Научитесь загружать сохранённую модель повторно и использовать её для предсказания оценок.
Результат
ДЕМО ВНУТРИ
ПРОЕКТ
В результате выполненной работы создадите первую полноценную рекомендательную систему на основе матричной факторизации и научитесь формировать персональные рекомендации для пользователей.
— Построите работающую рекомендательную модель, способную предсказывать оценку любого фильма для любого пользователя из датасета MovieLens.
— Научитесь генерировать персонализированные рекомендации на основе скрытых предпочтений пользователей.
— Для выбранного пользователя рассчитаете прогнозные рейтинги для всех фильмов, исключите уже просмотренные и оценённые фильмы и сформируете персональный топ-10 рекомендаций.
— Оцените качество модели с помощью метрики RMSE и проанализируете результаты обучения.
— Сохраните обученные матрицы пользователей (P) и фильмов (Q) как артефакты модели для дальнейшего использования.
— Подготовите основу для дальнейшего улучшения рекомендательной системы с помощью регуляризации, настройки гиперпараметров и более сложных алгоритмов рекомендаций.
Улучшение модели
Переобучение и регуляризация
Разберётесь с переобучением в рекомендательных системах и научитесь улучшать качество модели с помощью L2-регуляризации, анализа кривых обучения и ранней остановки.
— Поймёте, что такое переобучение в рекомендательных системах и почему модель может запоминать обучающие оценки вместо выявления общих закономерностей.
— Научитесь диагностировать переобучение по кривым Train RMSE и Validation RMSE.
— Разберётесь, где модель ещё продолжает обучаться, где начинает переобучаться и когда стоит остановить обучение.
— Добавите L2-регуляризацию в функцию потерь и обновления SGD.
— Поймёте, как штраф за большие веса помогает модели лучше обобщать данные и меньше подстраиваться под шум.
— Реализуете раннюю остановку early stopping, чтобы прекращать обучение при отсутствии улучшения Validation RMSE в течение заданного числа эпох.
Подбор параметров (k, learning rate)
Освоите подбор гиперпараметров рекомендательной модели и научитесь системно улучшать качество матричной факторизации за счёт настройки k, learning rate и регуляризации.
— Организуете поиск по сетке значений и обучите модель для разных комбинаций гиперпараметров.
— Для каждой комбинации запустите обучение с ранней остановкой и зафиксируете лучшее значение Validation RMSE.
— Сохраните номер эпохи, на которой модель достигла лучшего качества на валидационной выборке.
— Проанализируете таблицу результатов и сравните комбинации по минимальному Validation RMSE.
— Определите чувствительность модели к размерности латентного пространства, скорости обучения и коэффициенту регуляризации.
— Визуализируете влияние k и reg с помощью тепловых карт.
— Узнаете типичные диапазоны гиперпараметров для MovieLens 1M и научитесь корректировать их при переобучении или недообучении.
Сравнение моделей
Научитесь сравнивать несколько вариантов рекомендательной модели, анализировать качество обучения и выбирать лучшую конфигурацию по метрикам, стабильности и способности к обобщению.
— Построите кривые Validation RMSE для лучшей модели, альтернативных значений k и learning rate, а также модели без регуляризации.
— Сравните скорость сходимости, стабильность обучения и итоговый минимум ошибки для разных конфигураций.
— Визуализируете разрыв между Train RMSE и Validation RMSE для лучшей модели и проверите отсутствие переобучения.
— Сравните Validation RMSE улучшенной модели с baseline-моделью и зафиксируете прирост качества.
— Сохраните артефакты лучшей модели: матрицы пользователей и фильмов, порядок пользователей и фильмов, исходный датасет и метаинформацию о гиперпараметрах.
— Подготовите модель к дальнейшему использованию, повторной загрузке и развитию в следующих этапах проекта.
Результат
В результате выполненной работы получите доработанную модель матричной факторизации с подобранными гиперпараметрами, устойчивую к переобучению и готовую к дальнейшей интеграции в веб-приложение.
— Обучите улучшенную рекомендательную модель, которая стабильнее работает на новых данных и предсказывает оценки точнее базовой версии.
— Подберёте оптимальные гиперпараметры модели и убедитесь, что она не переобучается на тренировочных данных.
— Сформируете полный набор артефактов: матрицы пользователей и фильмов, индексы, параметры обучения, метрики качества и исходные данные.
— Подготовите модель как основу для интеграции в веб-приложение и дальнейшего использования в рекомендательном сервисе.
— Освоите полный цикл настройки рекомендательной модели: анализ кривых обучения, регуляризацию, grid search, выбор лучшей модели и сохранение артефактов для production-сценариев.
Продукт
Создание streamlit-приложения
Познакомитесь со Streamlit и научитесь создавать веб-интерфейс для рекомендательной системы на Python, используя заранее сохранённые артефакты обученной модели.
— Изучите Streamlit как фреймворк для быстрого создания интерактивных веб-приложений на Python.
— Подготовите локальное окружение: создадите виртуальное окружение, установите зависимости и настроите запуск приложения.
— Загрузите сохранённые артефакты модели: P_best.npy, Q_best.npy, unique_users.npy, unique_movies.npy и movielens_data.csv.
— Напишете базовый интерфейс Streamlit с заголовком, боковой панелью и основной областью вывода рекомендаций.
— Реализуете выбор пользователя или ввод новых оценок для генерации персональных рекомендаций.
— Подготовите основу веб-приложения для дальнейшей интеграции логики рекомендаций и визуализации результатов.
Персональные рекомендации
Реализуете механику персональных рекомендаций в Streamlit-приложении и научитесь выдавать фильмы как для существующих пользователей датасета, так и для новых пользователей без истории оценок.
— Для выбранного пользователя вычислите предсказанные рейтинги через скалярное произведение его вектора и векторов всех фильмов.
— Отфильтруете уже оценённые фильмы и сформируете топ-N рекомендаций с максимальными предсказанными оценками.
— Реализуете сценарий cold start для нового пользователя через оценку 5–10 фильмов.
— Получите приближённый вектор нового пользователя через усреднение векторов оценённых фильмов или несколько шагов SGD.
— Отобразите рекомендации в виде таблицы с названием фильма, жанрами, предсказанным рейтингом и годом выпуска при наличии этих данных.
Интерактив через кнопки
Добавите интерактивный сценарий оценки фильмов вручную и научитесь управлять состоянием пользовательских действий в Streamlit-приложении.
— Реализуете интерфейс «оцените фильмы вручную» и покажете пользователю случайную подборку из 5 фильмов.
— Для каждого фильма добавите кнопки с оценками от 1 до 5 или визуальный формат со звёздочками.
— Настроите сохранение выбранных оценок в st.session_state, чтобы данные не терялись при перерисовке интерфейса.
— Добавите кнопку «Получить рекомендации», которая запускает расчёт рекомендаций для нового пользователя.
— Реализуете кнопку «Очистить» для сброса всех оценок, истории и состояния пользовательской сессии.
Деплой проекта
Опубликуете рекомендательную систему как полноценное веб-приложение и научитесь упаковывать ML-проект для демонстрации через Hugging Face Spaces.
— Упакуете проект: подготовите requirements.txt, README.md и структуру файлов для запуска приложения.
— Добавите YAML-шапку для Hugging Face Spaces с параметрами sdk: streamlit и app_file: app.py.
— Познакомитесь с возможностями Hugging Face Spaces для публикации интерактивных ML- и AI-приложений.
— Создадите Space с SDK Streamlit и загрузите файлы проекта через веб-интерфейс.
— Получите постоянную публичную ссылку на работающего рекомендателя фильмов.
— Проверите функциональность приложения: ввод оценок, запуск расчёта и получение топа персональных рекомендаций.
Результат
Результатом проекта станет полностью функционирующее веб-приложение для персональных рекомендаций фильмов, доступное по публичной ссылке на Hugging Face Spaces и готовое для демонстрации в портфолио.
— Разработаете интерактивный рекомендатель фильмов с веб-интерфейсом на Streamlit.
— Пройдёте полный цикл создания рекомендательной системы: загрузка и анализ данных, матричная факторизация, подбор гиперпараметров, создание интерфейса и деплой в облако.
— Опубликуете приложение на Hugging Face Spaces и получите постоянную публичную ссылку для демонстрации проекта.
— Проверите работу ключевых сценариев: ввод пользовательских оценок, расчёт персонального профиля и выдача топа рекомендаций.
— Оформите проект как готовое ML-решение с интерактивным фронтендом, которое можно добавить в портфолио и показывать работодателям.
Тарифы
Standart
Premium
Реальные истории наших выпускников
Гарантии, условия и оплата
Отвечаем на вопросы
Каким требованиям нужно соответствовать?
Кто будет меня учить?
Что делать, если я не справлюсь с нагрузкой?
Как можно оплатить?
Если не понравится, я смогу вернуть деньги?
Могу ли я оплатить курс за счёт работодателя?
реквизиты компании и ваше ФИО — мы подготовим необходимые документы.
Что такое налоговый вычет на обучение и как его получить?