# Last.fm-artist-recommender-pipeline
Автор: Грищенков Н. Д., Р4140
# Цель
Разработать систему для поиска похожих музыкальных исполнителей.
# Задачи
- Проанализировать датасет.
- Спроектировать архитектуру системы.
- Подготовить данные для обучения и тестирования моделей.
- Обучить модели.
- Получить оценки моделей.
- Выбрать оптимальную модель.
- Выполнить развертывание наилучшей модели.
# EDA
Данные об исполнителях:
- Имеем информацию о 17493 исполнителях.
- Столбцы:
- artist_id
- artist_name
- Пропуски в данных отсутствуют.
- Есть одно повторяющееся имя исполнителя с разными id. Удалять не будем, так как может существовать несколько исполнителей с одним названием.
Данные о прослушиваниях
- Имеем 92723 записей.
- Столбцы:
- user_id
- artist_id
- scrobbles (число прослушиваний)
- Пропуски в данных отсутствуют.
- Есть повторяющиеся пары id пользователя и исполнителя с разным числом прослушиваний.
Возможные варианты обработки:
- Удалить дубликаты
- Суммировать число прослушиваний
- Усреднить значения прослушиваний
- Большая часть пользователей имеет информацию о прослушивании 50 исполнителей, однако есть пользователи, прослушавшие меньшее количество, в том числе всего одного исполнителя. Удалять таких пользователей из выборки не следует, так как в этом случае информация о прослушиваниях будет не для всех исполнителей.
# Оценка качества
При оценке качества будем отталкиваться от гипотезы о том, что пользователи слушают схожих исполнителей или несколько групп схожих исполнителей.
Пользователь прослушал n исполнителей. Тогда мы можем для каждого исполнителя, прослушанного пользователем, порекомендовать k похожих исполнителей, составить список из k*n рекомендаций пользователю и рассчитать количество совпадений. Затем поделить его на число рекомендаций.
Итоговая оценка качества для всех пользователей: среднее оценок для каждого пользователя.
При оценке не будем учитывать пользователей, прослушавших только одного исполнителя, так как для них невозможно корректно получить такую оценку.