Значения SHAP для жанров фильмов, десятилетия выпуска и количества рейтингов

Оглавление

· Шаг 1 — предварительная обработка данных
· Шаг 2 — настройка модели машинного обучения для прогнозирования рейтингов фильмов
· Шаг 3 — объяснение полученной модели машинного обучения

В этой статье я использую набор данных из 2 500 000 оценок 59 000 фильмов (без дубликатов), взятых с сайта рекомендаций фильмов MovieLens. Набор данных публично доступен на Kaggle. Полную информацию об анализе можно найти в этой общедоступной записной книжке Kaggle.

Шаг 1 — предварительная обработка данных

Здесь предварительная обработка данных состоит из следующих шагов:

  • группировка отдельных рейтингов и их усреднение по названиям фильмов;
  • сбор десятилетия выпуска фильмов и исключение небольшого подмножества фильмов, выпущенных до 1910 года;
  • выбор фильмов с не менее чем 10-кратным рейтингом;
  • преобразование популярности фильма в log10 (количество оценок) с использованием x -> np.log10(x), чтобы 10 оценок стали равными 1,0, 100 единиц стали 2,0 и т. д., и группировать их в более крупные ячейки;
  • извлечение информации о жанрах фильмов с помощью CountVectorizer, взяв только элементы с не менее чем 20 появлением в наборе данных;
  • наконец, удаление неиспользуемых столбцов.

В результате мы получили очищенный набор данных, содержащий 9600 фильмов с рейтингом от 0,5 до 5.

Шаг 2 — настройка модели машинного обучения для прогнозирования рейтингов фильмов

Данные, подготовленные на предыдущем шаге, случайным образом распределяются между обучающей и тестовой выборками и моделируются с помощью модели CatBoostRegressor, которая явно учитывает категориальные признаки. Среднеквадратическая ошибка (RMSE) полученной модели составляет около 0,40 балла, что улучшение по сравнению со среднеквадратичной ошибкой базовой модели примерно на 0,49 балла (при том же strong>оценка около 3,2 балладля каждого фильма).

Шаг 3 — объяснение полученной модели машинного обучения

Здесь мы используем метод Shapley Additive ExPlanations (SHAP), один из наиболее распространенных для изучения объяснимости моделей машинного обучения. Таким образом, единицы ценности SHAP выражаются в рейтинговых баллах.

Во-первых, мы изучаем диапазон значений SHAP для основных функций, которые нас интересуют:

Как мы видим, наиболее важными функциями для прогнозирования рейтингов фильмов в MovieLens являются рейтинг, жанр фильма и дата выхода фильма.

Теперь рассмотрим индивидуальные особенности.

Что касается подсчета рейтинга, то неудивительно, что самые высокие оценки связаны с фильмами, получившими большее количество оценок (обратите внимание также на заострение отношения после приблизительно 10**3.5 = 3000 подсчета рейтинга). , или примерно 1/30 от максимального расчетного количества):

Что касается жанров фильмов, примечательно, что самые высокие оценки связаны с жанрами Документальный, Анимационный и Драма, а самые низкие оценки связаны с жанрами Ужасы, Детский и Научная фантастика:

Наконец, что касается даты выхода фильма, примечательно, что самые высокие рейтинги связаны с относительно старыми фильмами, выпущенными с 1920-х по 1960-е годы, а самые низкие рейтинги > связаны с фильмами, выпущенными в 1990-х:

Эта статья также является продолжением моих предыдущих статей об этих фильмах и сериалах, например,рейтинги фильмов на IMDb,



рейтинги триллеров IMDb,



рейтинги рождественских фильмов IMDb,



рейтинги топ-5000 фильмов IMDb,



и рейтинги топ-1000 фильмов IMDb



Я надеюсь, что эти результаты могут быть полезны для вас. В случае вопросов/комментариев, не стесняйтесь писать в комментариях ниже или свяжитесь со мной напрямую через LinkedIn или Twitter.

Вы также можете подписаться на мои новые статьи или стать приглашенным участником Medium.