Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ajay-karmakar/mov-rec
Get recommended a movie
https://github.com/ajay-karmakar/mov-rec
flet python3 scikit-learn
Last synced: about 15 hours ago
JSON representation
Get recommended a movie
- Host: GitHub
- URL: https://github.com/ajay-karmakar/mov-rec
- Owner: ajay-karmakar
- License: gpl-3.0
- Created: 2024-11-16T17:15:50.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-16T17:32:54.000Z (2 months ago)
- Last Synced: 2024-12-02T12:14:48.228Z (about 2 months ago)
- Topics: flet, python3, scikit-learn
- Language: Python
- Homepage:
- Size: 2.8 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mov-rec
A Python-based movie recommendation tool built using **Flet**, a UI framework based on **Flutter**, along with **Pandas** for fast data handling.
The app fetches movie data from a `.csv` file, processes it using Pandas, and filters the results based on user input. It then uses the **Nearest Neighbors algorithm** from **Scikit-learn** to optimize the filtering process, providing faster and more accurate movie recommendations.## Features
- Built with [Flet](https://flet.dev/), a framework based on Flutter for creating modern, interactive user interfaces in Python.
- **Fast Data Processing**: Uses **Pandas** to efficiently read, process, and filter the movie data from a `.csv` file, ensuring the app can handle large datasets and provide quick updates.
- **Real-time Recommendations**: The tool updates movie recommendations instantly as the user selects different genres or languages.
- **Nearest Neighbors Filtering**: Uses the **Nearest Neighbors algorithm** from **Scikit-learn** to optimize movie recommendations by finding the most similar movies based on user input (e.g., genre, language).## Screenshots
Here are some screenshots of the application in action:
### main-interface
![main-interface](assets/main-interface.png)
### genre-selection
![genre-selection](assets/genre-selection.png)
### result-text
![result-text](assets/result-screen.png)
## Prerequisites
Make sure you have the following installed:
- Python 3.11.x or higher
- pip (Python package installer)## Installation
1. Clone the repository or download the project files.
```bash
git clone https://github.com/ajay-karmakar/mov-rec.git
cd mov-rec
```2. Install the required dependencies by running:
```bash
pip install -r requirements.txt
```3. Ensure you have the `.csv` file in the same directory as the script, or update the file path in the code.
## Usage
1. Run the Python application using the following command:
```bash
python main.py
```## File Descriptions
- **`.csv`**: This file contains the movie data used by the tool. It includes columns such as `id`, `title`, `genres`, `original_language` and other relevant movie details.
- **`requirements.txt`**: Contains a list of Python dependencies required to run the application.- **`main.py`**: Main Python script that implements the application logic.