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.
- 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
andmovies.csv
for easy data manipulation and testing.
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.
-
Clone the repository:
git clone https://github.com/justAbhinav/SVD-Based-Movie-Recommendation-System.git cd SVD-Based-Movie-Recommendation-System
-
Install required libraries: Install the necessary Python libraries to run the project:
pip install pandas numpy scikit-learn scipy tkinter
-
Generate sample data: Run the
Generate_csv_data.py
script to createusers.csv
andmovies.csv
files.python Generate_csv_data.py
-
Run the recommendation system: Execute the
Recommendation_System.py
script to start the GUI application.python Recommendation_System.py
-
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.
-
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.
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
AI_Lab_Project_02/
├── Recomendation_System.py
├── Generate_csv_data.py
├── users.csv
├── movies.csv
└── README.md
- Python 3.x
- pandas
- numpy
- scikit-learn
- scipy
- tkinter
This project is licensed under the MIT License.