Original size 1024x1536

Формула идеального фильма: визуальный анализ 1000 картин IMDB

PROTECT STATUS: not protected
Original size 1536x1024

Концепция проекта

Фильмы — это не только искусство, но и данные. Каждый фильм содержит десятки параметров: жанр, длительность, рейтинг, сборы, метаскор, год выпуска. Эти параметры можно визуализировать, сравнивать и анализировать. Мой проект — это попытка взглянуть на кино как на набор структурированных признаков, чтобы выявить закономерности, которые делают фильм успешным с точки зрения зрителя.

Цель проекта

Цель проекта — провести комплексный анализ параметров фильмов IMDB с использованием методов визуализации данных, чтобы определить статистически значимые зависимости между характеристиками фильмов и их рейтингами.

Загрузка и подготовка данных

Original size 1110x984

Перевод жанров

Original size 2048x804

Создание метки «Высокий рейтинг»

Original size 1042x408

Визуализация и анализ

  1. Средний рейтинг по жанрам

Чтобы понять, какие жанры системно получают более высокие оценки, а какие — ниже. Это помогает выявить жанровые предпочтения аудитории.

Жанры «Драма», «Биография» и «История» стабильно показывают самые высокие средние рейтинги. Это говорит о том, что зрители чаще ценят фильмы с эмоциональной глубиной, сильными персонажами и реальными событиями. Комедии, ужасы и фантастика получают более низкие оценки — вероятно, из‑за жанровой специфики: они сильнее зависят от вкуса аудитории и качества исполнения.

0

Столбчатая диаграмма. (Жанры и Рейтинг) Этот график показывает, какие жанры в среднем получают самые высокие оценки зрителей.

Средний рейтинг по жанрам был рассчитан с использованием группировки данных методом groupby (), после чего для каждого жанра вычислялось среднее значение рейтинга через функцию mean (). Полученные результаты были отсортированы по величине рейтинга с помощью sort_values (), что позволило визуализировать жанры в порядке убывания. Для построения диаграммы использовалась функция sns.barplot (), обеспечивающая наглядное сравнение средних значений.

  1. Связь длительности и рейтинга

Чтобы проверить гипотезу: «длинные фильмы получают более высокие оценки».

Хотя разброс большой, заметна тенденция: фильмы длительностью 110–140 минут чаще попадают в диапазон рейтингов 7.5–8.5. Это может означать, что более длинные фильмы дают авторам больше пространства для раскрытия сюжета и персонажей, что положительно влияет на восприятие зрителей.

0

Точечная диаграмма. (Длительность и Рейтинг) Этот график показывает, как длительность фильма связана с его рейтингом и есть ли между ними тенденция.

Для анализа взаимосвязи между длительностью фильма и его рейтингом была построена точечная диаграмма с использованием функции sns.scatterplot (). Перед визуализацией были выбраны только необходимые столбцы DataFrame, что позволило избежать лишнего шума. Параметр alpha был использован для уменьшения плотности точек и повышения читаемости графика. Подписи осей были добавлены через plt.xlabel () и plt.ylabel (), а общий стиль графика задавался функцией sns.set_theme ().

  1. Количество фильмов 8+ по годам

Чтобы увидеть динамику качества киноиндустрии: растёт ли количество высокооценённых фильмов.

С 2006 по 2016 наблюдается рост числа фильмов с рейтингом 8+. Пик — 2016 год. Это может быть связано с развитием технологий, ростом бюджетов, глобализацией кино и усилением конкуренции между студиями.

0

Линейный график. (Годы и Количество фильмов 8+) Этот график показывает, как менялось число высокооценённых фильмов в разные годы.

Для построения графика динамики фильмов с высоким рейтингом данные были предварительно отфильтрованы по условию df['Рейтинг'] >= 8.0. Затем количество таких фильмов по каждому году рассчитывалось с помощью value_counts () или groupby ('Год').count (). Полученные значения были отсортированы по возрастанию года методом sort_index (). Линейный график строился с использованием sns.lineplot (), а точки на линии добавлялись параметром marker='o' для повышения наглядности.

  1. Длительность фильмов 8+ и остальных

Чтобы сравнить распределения длительности и подтвердить выводы из предыдущего графика.

Фильмы с рейтингом 8+ имеют более высокую медиану длительности. Это подтверждает, что «короткие» фильмы реже попадают в топ, а более длинные — чаще оказываются качественными и глубокими.

0

Boxplot. (Категории рейтинга и Длительность) Этот график показывает, отличаются ли по длительности фильмы с высоким рейтингом от остальных.

Для сравнения распределений длительности фильмов была создана бинарная метка Высокий рейтинг на основе условия df['Рейтинг'] >= 8.0. Затем с помощью функции sns.boxplot () был построен график, позволяющий визуально сравнить медиану, межквартильный размах и выбросы в обеих категориях.

  1. Топ‑10 фильмов по рейтингу

Чтобы увидеть конкретные примеры фильмов, которые формируют верхушку рейтинга.

В топ‑10 доминируют драмы, криминальные триллеры и психологические истории. Это подтверждает жанровые выводы: зрители ценят эмоциональную сложность, сильные конфликты и глубокие темы.

0

Столбчатая диаграмма. (Топ‑10 фильмов) Этот график показывает десять фильмов с самыми высокими рейтингами в датасете.

Метод nlargest () позволяет быстро выбрать лучшие фильмы по рейтингу.

  1. Корреляции между параметрами

Чтобы определить, какие параметры действительно связаны между собой статистически.

Сильная корреляция между голосами и сборами — логично: популярные фильмы собирают больше денег. Рейтинг почти не связан со сборами — кассовый успех ≠ качество. Метаскор умеренно коррелирует с рейтингом, но не идеально — критики и зрители оценивают по-разному.

0

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

Корреляция между всеми переменными была рассчитана с использованием метода .corr (), который вычисляет коэффициенты корреляции Пирсона. Полученная матрица была визуализирована в виде тепловой карты посредством функции sns.heatmap (), что позволило наглядно оценить силу и направление связей между параметрами. Для облегчения интерпретации результатов сложные английские обозначения переменных были заменены на более понятные русские аналоги с использованием словаря rename_dict.

  1. Распределение длительности фильмов

Чтобы понять, какова «норма» длительности фильма и где находятся выбросы.

Большинство фильмов длится 90–120 минут. Фильмы длиннее 140 минут — редкость, но среди них чаще встречаются высокооценённые картины.

0

Гистограмма. (Длительность фильмов) Этот график показывает, какие значения длительности встречаются чаще всего.

Для анализа распределения длительности фильмов использовалась функция sns.histplot (), позволяющая строить гистограммы с заданным количеством интервалов (bins). При необходимости добавлялась сглаженная линия плотности (kde=True), что помогало лучше понять форму распределения. Вертикальная линия медианы добавлялась через plt.axvline (), подчёркивая центральную тенденцию данных.

  1. Количество фильмов по жанрам

Чтобы увидеть, какие жанры наиболее распространены в индустрии.

Боевики, драмы и комедии — самые массовые жанры. Редкие жанры (биография, фантастика, романтика) встречаются реже, но часто дают высокие рейтинги — «качество вместо количества».

0

Столбчатая диаграмма. (Жанры и Количество фильмов) Этот график показывает, какие жанры встречаются в датасете чаще других.

Для подсчёта количества фильмов в каждом жанре использовался метод value_counts (), после чего данные визуализировались с помощью sns.countplot (). Параметр order позволял отсортировать жанры по частоте появления, а горизонтальная ориентация (y=) обеспечивала лучшую читаемость длинных названий.

  1. Средняя длительность по жанрам

Чтобы понять, какие жанры требуют больше экранного времени.

Биографии, приключения и криминальные фильмы — самые длинные. Ужасы и анимация — самые короткие. Это отражает жанровую специфику: сложные сюжеты требуют времени, а жанры с высокой динамикой — наоборот.

0

Столбчатая диаграмма. (Жанры и Средняя длительность) Этот график показывает, какие жанры обычно имеют более длинные или короткие фильмы.

Средняя длительность фильмов по жанрам рассчитывалась с помощью группировки groupby ('Основной жанр') и функции mean (). Затем данные сортировались методом sort_values (), что позволяло визуализировать жанры в порядке увеличения или уменьшения длительности. Для построения графика использовалась функция sns.barplot (), а подписи жанров были повернуты для удобства чтения.

Вывод

Анализ 1000 фильмов IMDB показывает, что высокие рейтинги формируются под влиянием нескольких устойчивых факторов. Чаще всего высокооценённые фильмы относятся к драмам и биографиям — жанрам, которые опираются на сильный сценарий и эмоциональную глубину. Такие фильмы, как правило, длиннее среднего: диапазон 110–140 минут позволяет авторам раскрыть сюжет и персонажей. Динамика по годам демонстрирует рост количества качественных фильмов, что отражает развитие индустрии и повышение стандартов производства. При этом рейтинг почти не связан со сборами: коммерческий успех не гарантирует художественной ценности. В совокупности визуализации показывают, что «идеальный» фильм — это не блокбастер, а продуманная, содержательная история, которая вызывает эмоциональный отклик и предлагает зрителю глубину, а не только зрелищность.

Источники

Датасет: https://www.kaggle.com/datasets/PromptCloudHQ/imdb-data

Нейросеть используемая для подбора цветов и генерирования картинок: https://copilot.microsoft.com

Помощь в написании кода: Google Gemini V3. https://gemini.google.com

Написание кода: Google Collab. https://colab.research.google.com

Формула идеального фильма: визуальный анализ 1000 картин IMDB
Project created at 17.01.2026
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more