This project aims to build a Movie Recommendation System using Python and Machine Learning techniques. The system provides personalized movie suggestions to users, helping them discover films they are likely to enjoy.
The system combines two major approaches:
-
Collaborative Filtering
- Learns from user interactions (like ratings).
- Finds patterns among users with similar tastes.
- Recommends movies based on similar users' preferences.
-
Content-Based Filtering
- Uses movie features like genre, cast, and plot.
- Recommends movies similar to those the user liked before.
By integrating both techniques, the system delivers more accurate and personalized recommendations.
- Simple text-based input and output
- Recommends similar movies using TF-IDF and cosine similarity
- Uses a dataset of movies with metadata
- User-friendly CLI interface
- Loads movie data from a CSV file.
- Combines relevant movie features into one text field.
- Transforms this text using TF-IDF vectorization.
- Calculates similarity between movies using cosine similarity.
- Asks the user for a movie title and recommends similar ones.
- Python
- Pandas β Data manipulation
- Scikit-learn β Machine learning models & similarity metrics
- Surprise Library β Collaborative filtering models
- Difflib β For matching close movie titles
- TfidfVectorizer β To analyze textual features of movies
- Cosine Similarity β To measure similarity between movies
- The model performance is evaluated using:
- Root Mean Square Error (RMSE)
To ensure reliable accuracy in recommendations.
- Root Mean Square Error (RMSE)
- Deliver relevant and engaging movie suggestions.
- Simplify the movie discovery process for users.
- Show the power of Machine Learning in building real-world recommendation systems.