Звезды перестроены: улучшение рейтинговой системы IMDb
Опубликовано: 2022-03-11Кинозрители иногда используют рейтинги, чтобы выбрать, что смотреть. Однажды, занимаясь этим сам, я заметил, что многие из фильмов с лучшим рейтингом принадлежат к одному и тому же жанру: драма. Это навело меня на мысль, что рейтинг может иметь какой-то жанровый уклон.
Я был на одном из самых популярных сайтов для любителей кино, IMDb, который охватывает фильмы со всего мира и любого года. Его знаменитый рейтинг основан на огромной коллекции отзывов. Для этого анализа данных IMDb я решил загрузить всю имеющуюся там информацию, чтобы проанализировать ее и попытаться создать новый, уточненный рейтинг, учитывающий более широкий спектр критериев.
Рейтинговая система IMDb: фильтрация данных IMDb
Мне удалось скачать информацию о 242 528 фильмах, выпущенных в период с 1970 по 2019 год включительно. Информация, которую IMDb дал мне для каждого из них, была следующей: Rank
, Title
, ID
, Year
, Certificate
, Rating
, Votes
, Metascore
, Synopsis
, Runtime
, Genre
, Gross
и SearchYear
.
Чтобы иметь достаточно информации для анализа, мне требовалось минимальное количество обзоров на фильм, поэтому первое, что я сделал, это отфильтровал фильмы с менее чем 500 обзорами. В результате получился набор из 33 296 фильмов, и в следующей таблице мы могли видеть сводный анализ его полей:
Поле | Тип | Нулевой счет | Иметь в виду | медиана |
---|---|---|---|---|
Классифицировать | Фактор | 0 | ||
Заголовок | Фактор | 0 | ||
Я БЫ | Фактор | 0 | ||
Год | Интерн. | 0 | 2003 г. | 2006 г. |
Сертификат | Фактор | 17587 | ||
Рейтинг | Интерн. | 0 | 6.1 | 6.3 |
Голоса | Интерн. | 0 | 21040 | 2017 |
Метаоценка | Интерн. | 22350 | 55,3 | 56 |
Синопсис | Фактор | 0 | ||
Время выполнения | Интерн. | 132 | 104,9 | 100 |
Жанр | Фактор | 0 | ||
Валовой | Фактор | 21415 | ||
SearchYear | Интерн. | 0 | 2003 г. | 2006 г. |
Примечание. В R Factor
относится к строкам. Rank
и Gross
в исходном наборе данных IMDb такие, например, из-за тысяч разделителей.
Прежде чем приступить к уточнению оценки, мне пришлось дополнительно проанализировать этот набор данных. Во-первых, поля Certificate
, Metascore
и Gross
содержат более 50 % пустых значений, поэтому они бесполезны. Ранг неразрывно зависит от Рейтинга (переменной, которую нужно уточнять), поэтому он не несет никакой полезной информации. То же самое верно и для ID
в том смысле, что это уникальный идентификатор для каждого фильма.
Наконец, Title
и Synopsis
— это короткие текстовые поля. Их можно было бы использовать с помощью какой-нибудь техники НЛП, но поскольку это ограниченный объем текста, я решил не учитывать их в этой задаче.
После этого первого фильтра у меня остались Genre
, Rating
, Year
, Votes
, год SearchYear
и время Runtime
. В поле « Genre
» для каждого фильма указано более одного жанра, разделенных запятыми. Поэтому, чтобы уловить аддитивный эффект наличия множества жанров, я преобразовал его, используя однократное кодирование. В результате появилось 22 новых логических поля — по одному для каждого жанра — со значением 1, если фильм относится к этому жанру, или 0 в противном случае.
Анализ данных IMDb
Чтобы увидеть корреляции между переменными, я вычислил матрицу корреляции.
Здесь значение, близкое к 1, представляет сильную положительную корреляцию, а значение, близкое к -1, — сильную отрицательную корреляцию. По этому графику я сделал много наблюдений:
-
Year
иSearchYear
абсолютно коррелированы. Это означает, что они, вероятно, имеют одинаковые значения и что наличие обоих равносильно использованию только одного, поэтому я оставил толькоYear
. - В некоторых областях ожидалась положительная корреляция, например:
-
Music
сMusical
-
Action
сAdventure
-
Animation
сAdventure
-
- То же самое для отрицательных корреляций:
-
Drama
противHorror
-
Comedy
противHorror
-
Horror
противRomance
-
- Что касается ключевой переменной (
Rating
), я заметил:- Он имеет положительную и важную корреляцию с
Runtime
иDrama
. - Он имеет более низкую корреляцию с
Votes
,Biography
иHistory
. - Он имеет значительно отрицательную корреляцию с
Horror
и более низкую отрицательную корреляцию сThriller
,Action
,Sci-Fi
иYear
. - У него нет других существенных корреляций.
- Он имеет положительную и важную корреляцию с
Казалось, что длинные драмы имеют хорошие рейтинги, а короткие фильмы ужасов — нет. На мой взгляд — у меня не было данных, чтобы проверить это — это не коррелировало с теми фильмами, которые приносят больше прибыли, такими как фильмы Marvel или Pixar.
Возможно, люди, которые голосуют на этом сайте, не являются лучшим представителем общего критерия людей. Это имеет смысл, потому что те, кто не торопится оставлять отзывы на сайте, вероятно, являются своего рода кинокритиками с более конкретным критерием. Как бы то ни было, моей целью было убрать эффект общих особенностей фильма, поэтому я попытался устранить эту предвзятость в процессе.
Распределение жанров в рейтинговой системе IMDb
Следующим шагом стал анализ распределения каждого жанра по рейтингу. Для этого я создал новое поле под названием Principal_Genre
на основе первого жанра, который появился в исходном поле Genre
. Чтобы визуализировать это, я сделал график скрипки.
Еще раз я увидел, что Drama
коррелирует с высокими рейтингами, а Horror
— с более низкими. Однако этот график также показал, что другие жанры имеют хорошие оценки: Biography
и Animation
. То, что их корреляции не появились в предыдущей матрице, вероятно, было связано с тем, что фильмов этих жанров было слишком мало. Затем я создал частотную шкалу по жанрам.
По сути, у « Biography
и Animation
» было очень мало фильмов, как и у « Sport
» и « Adult
». По этой причине они не очень хорошо коррелируют с Rating
.
Другие переменные в рейтинговой системе IMDb
После этого я начал анализировать непрерывные копеременные: Year
, Votes
и Runtime
. На точечной диаграмме вы можете увидеть связь между Rating
и Year
.
Как мы видели ранее, Year
, по-видимому, имеет отрицательную корреляцию с Rating
: по мере увеличения года дисперсия рейтинга также увеличивается, достигая более отрицательных значений в новых фильмах.
Далее я сделал такой же сюжет для Votes
.
Здесь корреляция была более четкой: чем больше количество голосов, тем выше рейтинг. Однако у большинства фильмов было не так много голосов, и в этом случае Rating
имел большую дисперсию.
Наконец, я посмотрел на отношения с Runtime
.
Опять же, у нас есть похожая модель, но даже сильнее: более высокое время выполнения означает более высокие оценки, но было очень мало случаев высокого времени выполнения.
Уточнения рейтинговой системы IMDb
После всего этого анализа у меня появилось лучшее представление о данных, с которыми я имел дело, поэтому я решил протестировать некоторые модели, чтобы прогнозировать рейтинги на основе этих полей. Моя идея заключалась в том, что разница между моими прогнозами наилучшей модели и реальным Rating
устранит влияние общих черт и отразит конкретные характеристики, которые делают фильм лучше других.
Я начал с самой простой модели, линейной. Чтобы оценить, какая модель работает лучше, я наблюдал среднеквадратичную (RMSE) и среднюю абсолютную (MAE) ошибки. Это стандартные меры для такого рода задач. Кроме того, они находятся в том же масштабе, что и прогнозируемая переменная, поэтому их легко интерпретировать.
В этой первой модели RMSE был равен 1,03, а MAE — 0,78. Но линейные модели предполагают независимость от ошибок, нулевую медиану и постоянную дисперсию. Если это так, то график «остаточные значения против прогнозируемых» должен выглядеть как бесструктурное облако. Поэтому я решил сделать график, чтобы подтвердить это.
Я мог видеть, что до 7 в прогнозируемых значениях он имел неструктурированную форму, но после этого значения он имеет четкую форму линейного спуска. Следовательно, предположения модели были плохими, а также у меня было «переполнение» по прогнозируемым значениям, потому что в реальности Rating
не может быть больше 10.
В предыдущем анализе данных IMDb с большим количеством Votes
Rating
улучшился; однако это произошло в нескольких случаях и при огромном количестве голосов. Это может вызвать искажения в модели и привести к переполнению Rating
. Чтобы проверить это, я оценил, что произойдет с этой же моделью, удалив поле « Votes
».

Это было намного лучше! Он имел более четкую, неструктурированную форму без прогнозируемых значений переполнения. Поле « Votes
» также зависит от активности рецензента и не является особенностью фильмов, поэтому я решил убрать и это поле. Ошибки после его удаления составили 1,06 на RMSE и 0,81 на MAE — немного хуже, но не так сильно, и я предпочел иметь лучшие предположения и выбор функций, чем немного лучшую производительность на моем тренировочном наборе.
Анализ данных IMDb: насколько хорошо работают другие модели?
Следующее, что я сделал, это попробовал разные модели, чтобы проанализировать, какая из них работает лучше. Для каждой модели я использовал метод случайного поиска для оптимизации значений гиперпараметров и 5-кратную перекрестную проверку для предотвращения систематической ошибки модели. В следующей таблице приведены полученные расчетные ошибки:
Модель | СКО | МАЭ |
---|---|---|
Нейронная сеть | 1.044596 | 0,795699 |
Повышение | 1.046639 | 0,7971921 |
Дерево вывода | 1.05704 | 0,8054783 |
ГАМ | 1.0615108 | 0,8119555 |
Линейная модель | 1.066539 | 0,8152524 |
Штрафной линейный рег. | 1.066607 | 0,8153331 |
КНН | 1.066714 | 0,8123369 |
Байесовский хребет | 1.068995 | 0,8148692 |
SVM | 1.073491 | 0,8092725 |
Как видите, все модели работают одинаково, поэтому я использовал некоторые из них, чтобы проанализировать немного больше данных. Я хотел знать влияние каждого поля на рейтинг. Самый простой способ сделать это — наблюдать за параметрами линейной модели. Но чтобы избежать искажений на них ранее, я масштабировал данные, а затем переобучил линейную модель. Весы были как на фото.
На этом графике видно, что двумя наиболее важными переменными являются Horror
и Drama
», где первая оказывает отрицательное влияние на рейтинг, а вторая — положительное. Есть и другие области, которые оказывают положительное влияние, например, Animation
и Biography
, в то время как Action
, Sci-Fi
и Year
оказывают негативное влияние. Более того, Principal_Genre
не оказывает существенного влияния, поэтому гораздо важнее, какие жанры есть в фильме, чем какой из них является основным.
С помощью обобщенной аддитивной модели (GAM) я также смог увидеть более детальное влияние непрерывных переменных, которыми в данном случае был Year
.
Здесь у нас есть кое-что поинтереснее. Хотя рейтинг недавних фильмов действительно был ниже, эффект не был постоянным. Он имеет самое низкое значение в 2010 году, а затем, похоже, «восстанавливается». Было бы интересно узнать, что произошло после того года в кинопроизводстве, что могло привести к такому изменению.
Лучшей моделью оказались нейронные сети, у которых были самые низкие RMSE и MAE, но, как видите, ни одна модель не достигла идеальной производительности. Но это не было плохой новостью с точки зрения моей цели. Имеющаяся информация позволяет мне достаточно хорошо оценить производительность, но этого недостаточно. Есть и другая информация, которую я не смог получить от IMDb, из-за которой Rating
отличается от ожидаемого балла в зависимости от Genre
, Runtime
и Year
. Это может быть игра актеров, сценарии фильмов, фотографии и многое другое.
С моей точки зрения, эти другие характеристики действительно важны при выборе того, что смотреть. Меня не волнует, является ли данный фильм драмой, боевиком или научной фантастикой. Я хочу, чтобы в нем было что-то особенное, что-то, что заставляет меня хорошо проводить время, заставляет меня чему-то учиться, заставляет меня размышлять о реальности или просто развлекает меня.
Поэтому я создал новый, уточненный рейтинг, взяв рейтинг IMDb и вычтя прогнозируемый рейтинг лучшей модели. Делая это, я удалял влияние Genre
, Runtime
и Year
и сохранял другую неизвестную информацию, которая для меня гораздо важнее.
Альтернатива рейтинговой системе IMDb: окончательные результаты
Давайте теперь посмотрим, какие 10 лучших фильмов по моему новому рейтингу по сравнению с реальным рейтингом IMDb:
IMDb
Заголовок | Жанр | Рейтинг IMDb | Уточненный рейтинг |
---|---|---|---|
Ко то тамо пева | приключения, комедия, драма | 8,9 | 1,90 |
Дипу номер 2 | Приключения,Семейный | 8,9 | 3.14 |
Эль-сеньор-де-лос-анильос: Эль-реторно-дель-рей | приключения, драма, фэнтези | 8,9 | 2,67 |
Эль-сеньор-де-лос-анильос: La comunidad del anillo | приключения, драма, фэнтези | 8,8 | 2,55 |
Анбе Сивам | приключения, комедия, драма | 8,8 | 2,38 |
Хабабам Синифи Татильда | приключения, комедия, драма | 8,7 | 1,66 |
Эль-сеньор-де-лос-анильос: Лас-дос-Торрес | приключения, драма, фэнтези | 8,7 | 2,46 |
Мудры призыва | приключения, драма, романтика | 8,7 | 2,34 |
Интересный | приключения, драма, фантастика | 8,6 | 2,83 |
Волвер аль футуро | приключения, комедия, фантастика | 8,5 | 2,32 |
Мой
Заголовок | Жанр | Рейтинг IMDb | Уточненный рейтинг |
---|---|---|---|
Дипу номер 2 | Приключения,Семейный | 8,9 | 3.14 |
Интересный | приключения, драма, фантастика | 8,6 | 2,83 |
Эль-сеньор-де-лос-анильос: Эль-реторно-дель-рей | приключения, драма, фэнтези | 8,9 | 2,67 |
Эль-сеньор-де-лос-анильос: La comunidad del anillo | приключения, драма, фэнтези | 8,8 | 2,55 |
Колах гермези ва песар кхале | приключения, комедия, семейный | 8.1 | 2,49 |
Эль-сеньор-де-лос-анильос: Лас-дос-Торрес | приключения, драма, фэнтези | 8,7 | 2,46 |
Анбе Сивам | приключения, комедия, драма | 8,8 | 2,38 |
Лос-кабальерос-де-ла-меса-куадрада | приключения,комедия,фэнтези | 8.2 | 2,35 |
Мудры призыва | приключения, драма, романтика | 8,7 | 2,34 |
Волвер аль футуро | приключения, комедия, фантастика | 8,5 | 2,32 |
Как видите, подиум кардинально не изменился. Это было ожидаемо, потому что RMSE был не таким высоким, а здесь мы наблюдаем вершину. Давайте посмотрим, что произошло с десяткой худших:
IMDb
Заголовок | Жанр | Рейтинг IMDb | Уточненный рейтинг |
---|---|---|---|
Holnap Tortent - Надя бульварфильм | Комедия,Мистика | 1 | -4,86 |
Джумали Джебер: Аллах Сени Альсин | Комедия | 1 | -4,57 |
Баданг | Комедия,Фэнтези | 1 | -4,74 |
Йиийрик!!! Космическая номинация | Комедия | 1.1 | -4,52 |
Гордый американец | Драма | 1.1 | -5,49 |
Коричневые мундиры: Война за независимость | Боевики,Научная фантастика,Война | 1.1 | -3,71 |
Выходные, которыми он живет | комедия, ужасы, мистика | 1,2 | -4,53 |
Боливар: герой | Анимация,Биография | 1,2 | -5,34 |
Восстание черной летучей мыши | Боевики,Научная фантастика | 1,2 | -3,65 |
Хацукой | Драма | 1,2 | -5,38 |
Мой
Заголовок | Жанр | Рейтинг IMDb | Уточненный рейтинг |
---|---|---|---|
Гордый американец | Драма | 1.1 | -5,49 |
Санта и кролик-мороженое | Семейный,Фэнтези | 1,3 | -5,42 |
Хацукой | Драма | 1,2 | -5,38 |
Рейс | биография,драма | 1,5 | -5,35 |
Боливар: герой | Анимация,Биография | 1,2 | -5,34 |
Ханум и Рангга: Вера и город | Драма, Романтика | 1,2 | -5,28 |
После прошлого сезона | Анимация,Драма,Научная фантастика | 1,7 | -5,27 |
Баршель - Морд в Генфе | Драма | 1,6 | -5,23 |
Расшу райфу | Драма | 1,5 | -5,08 |
Камифусен | Драма | 1,5 | -5,08 |
То же самое произошло и здесь, но теперь мы видим, что в уточненном случае появляется больше дорам, чем на IMDb, что показывает, что рейтинг некоторых дорам может быть завышен только потому, что они драмы.
Возможно, самый интересный подиум для просмотра — это 10 фильмов с наибольшей разницей между оценкой рейтинговой системы IMDb и моей усовершенствованной. Эти фильмы имеют больший вес из-за своих неизвестных характеристик и делают фильм намного лучше (или хуже), чем ожидалось, исходя из его известных особенностей.
Заголовок | Рейтинг IMDb | Уточненный рейтинг | Разница |
---|---|---|---|
Канашими но берадонна | 7.4 | -0,71 | 8.11 |
Хесусристо Суперзвезда | 7.4 | -0,69 | 8.09 |
Пинк Флойд стена | 8.1 | 0,03 | 8.06 |
Тэнси но тамаго | 7.6 | -0,42 | 8.02 |
Джибон Теке Нея | 9.4 | 1,52 | 7,87 |
Эль Бейле | 7,8 | 0,00 | 7,80 |
Санта и три медведя | 7.1 | -0,70 | 7,80 |
La alegre historia де Скрудж | 7,5 | -0,24 | 7,74 |
Пиль де Асно | 7 | -0,74 | 7,74 |
1776 г. | 7.6 | -0,11 | 7,71 |
Если бы я был кинорежиссером и должен был продюсировать новый фильм, после всего этого анализа данных IMDb я мог бы иметь лучшее представление о том, какой фильм нужно снять, чтобы иметь лучший рейтинг IMDb. Это будет длинная анимационная биографическая драма, ремейк старого фильма, например, «Амадей». Вероятно, это обеспечило бы хороший рейтинг IMDb, но я не уверен насчет прибыли…
Что вы думаете о фильмах, которые занимают место в этом новом показателе? Они тебе нравятся? Или предпочитаете оригинальные? Позвольте мне знать в комментариях ниже!