Skip to content

justAbhinav/SVD-Based-Movie-Recommendation-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Movie Recommendation System

Overview

This project is a movie recommendation system designed to provide personalized movie suggestions to users based on their ratings and movie preferences. It uses collaborative filtering techniques to generate recommendations using Singular Value Decomposition (SVD), a popular matrix factorization method. The system is enhanced with a diverse movie dataset and various genres to test the robustness and scalability of the recommendation model.

Features

  • Movie Recommendation Engine: Recommends movies to users based on their historical ratings using SVD.
  • Diverse Movie Dataset: Contains movies from multiple genres, including Action, Drama, Sci-Fi, Animation, Crime, Thriller, Fantasy, Horror, and more.
  • User-Based Customization: Each user has a unique set of rated movies, and recommendations are tailored based on their past preferences.
  • Genre Overlap: Movies may belong to multiple genres, making recommendations more realistic and dynamic.
  • GUI Interface: A user-friendly interface where users can input their ID and get movie suggestions in real-time.
  • Data Generation: Scripts to generate realistic sample data, including users, movies, ratings, and genre information.
  • CSV Data Export: The generated data is saved in users.csv and movies.csv for easy data manipulation and testing.

Files

  • Recommendation_System.py: Main Python script that implements the recommendation system, using SVD for movie recommendations.
  • Generate_csv_data.py: Script to generate sample user and movie data with diverse genres and movie overlaps, stored in CSV format.
  • users.csv: Sample user data with ratings for different movies.
  • movies.csv: Sample movie data with multiple genres and movie titles.

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/justAbhinav/SVD-Based-Movie-Recommendation-System.git
    cd SVD-Based-Movie-Recommendation-System
  2. Install required libraries: Install the necessary Python libraries to run the project:

    pip install pandas numpy scikit-learn scipy tkinter
  3. Generate sample data: Run the Generate_csv_data.py script to create users.csv and movies.csv files.

    python Generate_csv_data.py
  4. Run the recommendation system: Execute the Recommendation_System.py script to start the GUI application.

    python Recommendation_System.py

Usage

  1. Enter User ID:

    • Open the GUI application.
    • Enter a valid User ID (from 1 to 100) in the input field.
    • Click the "Recommend" button to get movie recommendations based on your ratings.
  2. View Recommendations:

    • The recommended movies will be displayed in the output section below the input field.
    • Recommendations will be based on the highest similarity with past movie ratings and preferences.

Example Output

Once a User ID is entered, the system will return a list of recommended movies tailored to that user. For example, if User ID 1 is entered, the system might suggest the following movies:

User ID: 1
Recommended Movies:

  • Shrek
  • The Conjuring
  • A Beautiful Mind
  • La La Land
  • The Silence of the Lambs

screenshot of ui

Project Structure

AI_Lab_Project_02/
├── Recomendation_System.py
├── Generate_csv_data.py
├── users.csv
├── movies.csv
└── README.md

Dependencies

  • Python 3.x
  • pandas
  • numpy
  • scikit-learn
  • scipy
  • tkinter

License

This project is licensed under the MIT License.

Author

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages