Skip to content

mukeshsharma99/Netflix-Recommendation-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎬 Netflix Recommendation System

Machine Learning Based Content Recommendation Engine

Developed as a University Project for Vivekananda Global University (VGU)

Python Machine Learning Streamlit Scikit-Learn Status


πŸ“– Project Overview

Netflix hosts thousands of movies and TV shows, making it difficult for users to find content that matches their interests. This project presents a Content-Based Recommendation System that recommends similar movies and TV shows based on their content characteristics.

The recommendation engine analyzes information such as:

  • 🎭 Genre
  • πŸ“ Description
  • 🎬 Director
  • 🎀 Cast Members
  • πŸ“… Release Year

Using Natural Language Processing (NLP) and Machine Learning, the system identifies content similarities and recommends the most relevant titles.


🎯 Objectives

  • Build an intelligent recommendation system
  • Apply Natural Language Processing techniques
  • Implement TF-IDF Vectorization
  • Calculate similarity using Cosine Similarity
  • Develop an interactive Streamlit application
  • Improve content discovery for users

πŸ—οΈ System Architecture

Netflix Dataset
       β”‚
       β–Ό
Data Preprocessing
       β”‚
       β–Ό
Feature Engineering
       β”‚
       β–Ό
TF-IDF Vectorization
       β”‚
       β–Ό
Cosine Similarity Matrix
       β”‚
       β–Ό
Recommendation Engine
       β”‚
       β–Ό
Streamlit Web Application

πŸš€ Features

  • 🎬 Content-Based Recommendation System
  • πŸ€– Machine Learning Powered Recommendations
  • ⚑ Fast Similarity Search
  • 🎨 Interactive Streamlit Interface
  • πŸ“Š Clean and Modular Project Structure
  • πŸ” Recommendation Based on Movie Metadata

πŸ› οΈ Technologies Used

Technology Purpose
Python Programming Language
Pandas Data Processing
NumPy Numerical Operations
Scikit-Learn Machine Learning
Streamlit Web Application
TF-IDF Text Vectorization
Cosine Similarity Recommendation Engine
Pickle Model Serialization

πŸ“Š Dataset

The project uses the Netflix Titles Dataset containing metadata about Netflix movies and TV shows.

Features Used

  • Title
  • Genre
  • Description
  • Director
  • Cast
  • Release Year
  • Rating

βš™οΈ Methodology

1. Data Preprocessing

  • Handle missing values
  • Clean textual data
  • Prepare dataset for analysis

2. Feature Engineering

Important features such as genres, descriptions, directors, and cast members are combined into a single text feature.

3. TF-IDF Vectorization

The combined text is converted into numerical vectors using TF-IDF Vectorizer.

4. Similarity Calculation

Cosine Similarity is used to measure similarity between titles.

5. Recommendation Generation

The system returns the most similar movies or TV shows based on the selected title.


πŸ“‚ Project Structure

Netflix-Recommendation-System/
β”‚
β”œβ”€β”€ data/
β”‚   └── netflix_titles.csv
β”‚
β”œβ”€β”€ notebooks/
β”‚   └── EDA.ipynb
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ preprocessing.py
β”‚   β”œβ”€β”€ feature_engineering.py
β”‚   β”œβ”€β”€ vectorizer.py
β”‚   β”œβ”€β”€ recommender.py
β”‚   └── utils.py
β”‚
β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ similarity.pkl
β”‚   └── tfidf.pkl
β”‚
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ app.py
β”‚   β”œβ”€β”€ recommendation.py
β”‚   └── poster_fetcher.py
β”‚
β”œβ”€β”€ model.py
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ README.md
└── .gitignore

πŸ”§ Installation

Clone the Repository

git clone https://github.com/mukeshsharma99/Netflix-Recommendation-System.git

Navigate to Project Directory

cd Netflix-Recommendation-System

Create Virtual Environment

python -m venv venv

Activate Virtual Environment

Windows

venv\Scripts\activate

Linux/macOS

source venv/bin/activate

Install Dependencies

pip install -r requirements.txt

▢️ Run the Project

Build Recommendation Model

python model.py

Launch Streamlit Application

streamlit run app/app.py

πŸ“ˆ Future Enhancements

  • Movie Poster Integration using TMDB API
  • Personalized Recommendations
  • Trending Content Section
  • User Authentication
  • AWS Cloud Deployment
  • Advanced Filtering Options

πŸŽ“ Learning Outcomes

This project helped in understanding:

  • Data Preprocessing
  • Feature Engineering
  • Natural Language Processing (NLP)
  • TF-IDF Vectorization
  • Cosine Similarity
  • Recommendation Systems
  • Streamlit Development
  • End-to-End Machine Learning Projects

πŸ‘¨β€πŸ’» Developer

Mukesh Kumar

B.Tech – Computer Science & Engineering

Vivekananda Global University (VGU)

GitHub: https://github.com/mukeshsharma99


⭐ Support

If you found this project useful, please consider giving it a Star ⭐ on GitHub.


Made with ❀️ using Python, Machine Learning, and Streamlit

About

A Content-Based Movie Recommendation System built with Machine Learning and NLP to recommend similar Netflix movies and TV shows based on genres, cast, keywords, and descriptions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors