Исследуйте фильмы и телепередачи Netflix, используя машинное обучение с Python
Содержимое таблицы
- Введение
- Набор данных
- Импорт библиотек
- Импорт набора данных
- Отсутствующий анализ данных
- Исследовательский анализ данных
Введение
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 для обработки и анализа данных.
Matplotlib —Matplotlib — это библиотека построения графиков для языка программирования 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 выпускает контент в течение всего года, но в декабре и июле его немного больше.
Заключение
- Netflix более популярен в США и Индии.
- Количество фильмов и шоу, добавленных Netflix, значительно увеличилось после 2013 года.
- Netflix выпускает большинство фильмов по сравнению с шоу.
- Netflix продолжает выпускать контент в течение всего года, поэтому декабрь и июль имеют большинство
- Netflix также добавил старые шоу начала 1925 и 1960 годов.
- Наибольшее количество контента Netflix сделано с рейтингом «TV-MA».
Нажмите здесь, чтобы просмотреть полный анализ в Kaggle Notebook
Спасибо за прочтение!
Если вам нравится моя работа и вы хотите поддержать меня, я был бы очень признателен, если бы вы подписались на мои каналы в социальных сетях: