Исследуйте фильмы и телепередачи Netflix, используя машинное обучение с Python

Содержимое таблицы

  1. Введение
  2. Набор данных
  3. Импорт библиотек
  4. Импорт набора данных
  5. Отсутствующий анализ данных
  6. Исследовательский анализ данных

Введение

Netflix, Inc. — одна из самых популярных OTT-платформ в мире. Это американский стриминговый сервис по подписке и продюсерская компания. Запущенный 29 августа 1997 года, он предлагает библиотеку фильмов и телесериалов по договорам о распространении, а также собственное производство Netflix Originals.

Целью этого проекта является анализ телешоу и фильмов Netflix. Я буду исследовать набор данных Netflix с помощью визуализаций и графиков, используя библиотеки Python, matplotlib и seaborn.

Набор данных

Я использовал набор данных Netflix Movies and TV Shows от Kaggle. Этот набор данных широко используется новичками в Kaggle для изучения EDA. Он содержит 8807 уникальных телешоу и фильмов.

Импорт библиотек

В этом проекте я буду использовать язык программирования Python. Я импортировал все библиотеки Python, используемые для EDA.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

Numpy — NumPy — это библиотека для языка программирования Python, добавляющая поддержку больших многомерных массивов и матриц, а также большой набор высокоуровневых математических функций для работы с этими массивами.

Pandas — это программная библиотека, написанная для языка программирования Python для обработки и анализа данных.

MatplotlibMatplotlib — это библиотека построения графиков для языка программирования Python и его расширения для числовой математики NumPy.

Seaborn — библиотека визуализации данных Python на основе matplotlib. Он предоставляет высокоуровневый интерфейс для рисования привлекательных и информативных статистических графиков.

Нажмите здесь, чтобы просмотреть полный анализ в Kaggle Notebook

Импорт набора данных

Прежде всего, я импортировал набор данных в фрейм данных Pandas.

# Import data from CSV file

netflix = pd.read_csv("/kaggle/input/netflix-shows/netflix_titles.csv")

Визуализируйте структуру набора данных, чтобы лучше понять, с чем я работал.

# Display numeric value information and datatype

netflix.info()

Отсутствующий анализ данных

Поиск и исправление отсутствующих значений в базе данных, если это очень важно, поскольку это может привести к неправильным визуализациям и результатам. Я использовал функцию pandas isnull(), чтобы найти недостающие значения.

# Get percentage of null values

netflix.isnull().sum()/len(netflix)*100

По моим наблюдениям в колонке директора отсутствует 29% данных. Отсутствует много данных, я не могу их изменить, поэтому либо я могу удалить столбец director, либо я могу удалить строку, в которой отсутствует директор.

Я удалил столбец директора, используя функцию drop().

# Remove director column as it has maximum null values

netflix.drop('director', axis=1, inplace=True)

Исследовательский анализ данных

В этой части я показал различные типы визуализации данных с помощью Seaborn. Вы также можете использовать другие библиотеки визуализации, такие как ploty.

Количество выпущенных фильмов/телешоу по годам

Он показывает, сколько фильмов или сериалов выпущено в конкретной стране.

# Year wise number of released movies/shows
plt.figure(figsize=(13,10))
g = netflix[netflix['release_year'] > 2010].release_year.value_counts().plot.bar(figsize=(10, 7))
g.set_xlabel("Release Year")
g.set_ylabel("No of Released Movies")
g.set_title("Year Wise Releases")

Я вижу, что в 2018 году было выпущено более 100 фильмов и шоу, тогда как в 2011 году их было менее 200. Количество добавляемого контента значительно увеличивается.

Исследуйте фильмы и телешоу

Я сравнил общее количество фильмов и сериалов, чтобы узнать, какие из них составляют большинство.

g = netflix.type.value_counts().plot.pie(
             figsize=(10, 7),autopct= "%1.1f%%")
g.set_ylabel("Types")
g.set_title("Movies vs TV Shows")

Таким образом, 69,7% фильмов и 30,3% телешоу, причем фильмы составляют большинство.

Распределение контента на основе рейтинга

# Show content distribution based on rating

plt.figure(figsize=(18,7))
g = sns.countplot(x='rating', data=netflix, palette='Blues_r', order=netflix['rating'].value_counts().index[0:15])
g.set_xlabel("Ratings")
g.set_ylabel("No of Movies")
g.set_title("Ratings Wise Counts")

Это показывает, что TV-MA и TV-14 - это большинство оценок, присвоенных фильмам и сериалам. с более чем 3000 до TV-MA.

Топ-5 страновых рейтингов

Далее я хочу увидеть 5 лучших стран по рейтингу. Мне нужно было найти топ-5 стран и на основе этого я поставил распределение рейтингов по этим странам.

plt.figure(figsize=(20,5))
top_countries = netflix[netflix['country'].isin(['United States',
      'India', 'United Kingdom', 'Japan', 'South Korea'])]
g = sns.histplot(x='rating', y='country', data=top_countries)
g.set_xlabel("Ratings")
g.set_ylabel("Countries")
g.set_title("Top 5 country wise ratings")

Кажется, что Netflix более популярен в США и Индии.

Топ-5 самых старых фильмов и сериалов

Чтобы узнать самый старый фильм и шоу, я визуализирую его в табличном формате.

netflix[netflix['type'] == 'TV Show'].sort_values('release_year')[0:5]

«Пионеры: первые женщины-режиссеры» — старейшее шоу на Netflix, выпущенное в 1925 году. Оно было добавлено на Netflix в конце 2018 года.

Месячные релизы

Затем я продемонстрировал количество релизов в зависимости от месяца. Во-первых, я извлек месяц из столбца date_added и использовал новый столбец в графике Seaborn.

# Extract month from date_added column
netflix['month'] = pd.to_datetime(netflix['date_added']).dt.month
# Distribution of releases
plt.figure(figsize=(18,7))

g = sns.countplot(x='month', data=netflix)
g.set_xticklabels(['January','February','March','April',
       'May','June','July','August','September','October',
       'November','December'])
g.set_xlabel("Months")
g.set_ylabel("No of Movies")
g.set_title("Month wise releases")

В целом Netflix выпускает контент в течение всего года, но в декабре и июле его немного больше.

Заключение

  1. Netflix более популярен в США и Индии.
  2. Количество фильмов и шоу, добавленных Netflix, значительно увеличилось после 2013 года.
  3. Netflix выпускает большинство фильмов по сравнению с шоу.
  4. Netflix продолжает выпускать контент в течение всего года, поэтому декабрь и июль имеют большинство
  5. Netflix также добавил старые шоу начала 1925 и 1960 годов.
  6. Наибольшее количество контента Netflix сделано с рейтингом «TV-MA».

Нажмите здесь, чтобы просмотреть полный анализ в Kaggle Notebook

Спасибо за прочтение!

Если вам нравится моя работа и вы хотите поддержать меня, я был бы очень признателен, если бы вы подписались на мои каналы в социальных сетях:

  1. ЛУЧШИЙ способ поддержать меня — подписаться на меня на Medium здесь.
  2. Подпишитесь на меня в Twitter здесь.
  3. Подпишитесь на меня в LinkedIn здесь.
  4. Следуйте за мной на Kaggle здесь.