The aim of this project is to analyze the Netflix dataset of movies and TV shows available until 2019, sourced from the third-party search engine Flixable. The goal is to group the content into relevant clusters using Natural Language Processing (NLP) techniques to enhance the user experience through a recommendation system. This will help prevent subscriber churn for Netflix, which currently has over 220 million subscribers. 📊
Additionally, the dataset is analyzed to uncover insights and trends in the streaming entertainment industry. 🎥
The project follows a structured step-by-step process:
-
Handling Missing Values
- 🛠 Cleaning and filling null values to maintain data integrity.
-
Managing Nested Columns
- 📂 Processing nested columns such as
director,cast,listed_in, andcountryto improve visualization and analysis.
- 📂 Processing nested columns such as
-
Binning the Rating Attribute
- 📊 Categorizing ratings into groups:
adult,children's,family-friendly, andnot ratedto enhance interpretability.
- 📊 Categorizing ratings into groups:
-
Exploratory Data Analysis (EDA)
- 🔬 Gaining insights into factors that may contribute to subscriber churn.
- 📈 Identifying trends in content popularity and distribution.
-
Feature Engineering for Clustering
- 🎭 Using attributes such as
director,cast,country,genre,rating, anddescription. - ✂️ Tokenizing, preprocessing, and vectorizing text data using the TF-IDF vectorizer.
- 🎭 Using attributes such as
-
Dimensionality Reduction
- ⚡ Applying Principal Component Analysis (PCA) to reduce dimensionality and improve model performance.
-
Clustering Techniques
- 🧩 Implementing K-Means Clustering and Agglomerative Hierarchical Clustering.
- 📌 Determining optimal cluster numbers:
- K-Means: 4 clusters 🎯
- Hierarchical Clustering: 2 clusters 🏗
- 🏆 Evaluating clusters using silhouette scores and other validation techniques.
-
Developing a Content-Based Recommender System
- 🔍 Utilizing a cosine similarity matrix to provide personalized recommendations based on clustered content.
- 🚀 Aiming to reduce subscriber churn by enhancing user satisfaction and engagement.
- A well-defined clustering model for Netflix content. 🎬
- A recommendation system that improves user experience and retention. 🤖
- Key insights into streaming trends and subscriber engagement. 📊
- Enhanced decision-making for content curation to cater to diverse audiences. 🎯
- Python (Pandas, NumPy, Scikit-learn, Matplotlib, Seaborn, NLTK, SciPy) 🐍
- Natural Language Processing (NLP) (TF-IDF Vectorization) 📚
- Machine Learning (K-Means, Hierarchical Clustering, PCA) 🤖
- Recommendation Systems (Cosine Similarity Matrix) 🔄
- Data Visualization (Seaborn, Matplotlib) 📊
This comprehensive analysis and recommendation system are expected to enhance user satisfaction, leading to improved retention rates for Netflix. By clustering similar content and delivering personalized recommendations, Netflix can offer a better viewing experience and reduce subscriber churn. 🎥🚀