This is a Streamlit-based web application that provides movie recommendations based on content similarity. The system leverages vectorization, cosine similarity, and precomputed data stored in pickle files.
- Recommends similar movies based on user input.
- Simple and interactive UI built with Streamlit.
- Backend powered by vectorization and cosine similarity for calculating movie similarity.
- Python 3.7+
- Required libraries:
streamlit
pandas
scikit-learn
numpy
Install dependencies using:
pip install -r requirements.txt
main.ipynb
: Notebook to preprocess data and generatemovies_list.pkl
andsimilarity.pkl
.app.py
: The main Streamlit app file.Movies_data.csv
: Dataset containing movie information.movies_list.pkl
: Pickle file storing processed movie data (not included).similarity.pkl
: Pickle file storing cosine similarity matrix (not included).
-
Clone the repository:
git clone https://github.com/darshan-dalvi/Movie-Recommendation-System.git
-
Navigate to the project directory:
cd Movie-Recommendation-System
-
Generate pickle files:
- Open and run the
main.ipynb
file to process the dataset and generatemovies_list.pkl
andsimilarity.pkl
.
- Open and run the
-
Run the application:
streamlit run app.py
Movies_data.csv
contains movie information used to compute recommendations.
- Run the Streamlit app.
- Enter the name of a movie in the input box.
- Get a list of recommended movies based on similarity.
- Improve recommendation logic by including additional features.
- Support for hybrid recommendations (content + collaborative filtering).
- Include more datasets to expand movie recommendations.
Feel free to fork this repository and contribute by submitting a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
Enjoy exploring your next favorite movie! 🍿