This is a movie recommender system built using Python, the MovieLens dataset, and Streamlit.
You can run the application using Docker. The Docker image can be pulled from Docker Hub.
-
Pull the Docker image:
docker pull mlchals/recommender-app:latest -
Run the Docker container:
docker run -dp 8501:8501 mlchals/recommender-app:latestNote: The default port for Streamlit is
8501. Ensure that this port is free on your system.
-
Clone the repository:
git clone https://github.com/MlCHAL-S/recommender.git folder_name cd folder_name -
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment: (On Windows):
venv\Scripts\activate
-
Install the dependencies:
pip install -r requirements.txt
-
Run the Streamlit app:
streamlit run app.py
main_folder/recommender.py: Contains theRecommenderclass and related functions.requirements.txt: List of required Python packages.app.py: Contains the Streamlit app for the movie recommender system.data/: Directory containing the datasets.movies.csv: Dataset with movie information.ratings.csv: Dataset with user ratings for movies.
README.md: Project documentation and setup instructions.
- Collaborative Filtering: The system uses collaborative filtering to identify patterns in user behavior and suggest movies based on these patterns.
- k-Nearest Neighbors (k-NN): The k-NN algorithm is used to find similar movies based on user ratings.
- MovieLens Dataset: Recommendations are based on the MovieLens dataset, which includes a large number of movie ratings and metadata.
- Streamlit: The web application is built using Streamlit, providing a simple and interactive interface for users.
-
Launch the Streamlit app:
streamlit run app.py
-
Navigate to the app in your browser (usually at
http://localhost:8501). -
Interact with the app to get movie recommendations. Start by selecting a movie you like from the dropdown menu to see similar movies.
Here is an example of how to interact with the recommender system:
- Home Page: The home page provides an overview of the recommender system.
- Recommendations Page: Select a movie from the dropdown menu
and get recommendations for similar movies.
- The MovieLens dataset is provided by the GroupLens research group.
- Streamlit is an open-source app framework for Machine Learning and Data Science projects.


