MovieDude
An advanced "content-based filtering" movie recommendation system built with Python, scikit-learn, and SQLite. It provides personalized movie suggestions based on user preferences through data analysis, and also allows users to search by a specific movie title to find similar recommendations.
Install / Use
/learn @a-partovii/MovieDudeREADME
MovieDude 
An advanced "content-based filtering" movie recommendation system built with Python, scikit-learn, and SQLite.<br> It provides personalized movie suggestions based on user preferences through data analysis, and also allows users to search by a specific movie title or keyword to find similar recommendations. <br> The current demo utilizes a pre-processed dataset of the top 6,000 TMDB movies.
<img src="https://github.com/user-attachments/assets/cacf4628-27c0-4831-82a8-372857e6d378" width="800">Setup Requirements | Workflow Sections | DataBase Structure | MovieDude on DeepWiki
Setup Requirements:
After installing Python 3.x you can install the required packages by running the following command in the terminal.<br>
- Using a virtual environment is recommended.
pip install pandas==2.3.3 scikit-learn==1.7.2 numpy==2.3.3 rich==14.2.0
Alternatively, you can install all dependencies from the included requirements.txt file, simply open your terminal in the project directory and run:
pip install -r requirements.txt
Workflow Sections:
-
<strong>On Users Table Flow </strong>>>><br> Extract and analyze user activity data from the database to determine personal preferences.
<ol type="1"> <li>Apply Min–Max data normalization</li> <li>Extract top favorite movies by normalized score</li> <li>Use quasi-NLP to extract movie attributes</li> <li>Return final result processed matrix ready for model use</li> </ol> -
<strong>Main Engine Processes</strong> >>><br> Performs similarity analysis and recommendation generation based on user preferences and the database contents.
<ol type="1"> <li>Apply selected options #1 (filter out watched movies)</li> <li>Pre-processing validation check</li> <li>Multi-binary encoding</li> <li>Execute engine process</li> <li>Apply selected options #2 (filter for high-rated movies)</li> <li>Return final result as a list (array)</li> </ol>
DataBase Structure:
MovieDude.db
│
├── TABLE: Movies
│ ├── movie_id: INTEGER (PRIMARY KEY)
│ ├── title: TEXT (NOT NULL)
│ ├── release_year: INTEGER
│ ├── genres: TEXT (Split by comma ",")
│ ├── original_lang: VARCHAR(20)
│ ├── director: TEXT (Split by comma ",")
│ ├── stars: TEXT (Split by comma ",")
│ ├── keywords: TEXT (Split by comma ",")
│ ├── rating: REAL
│ ├── rating_count: INTEGER
│ └── final_score: REAL
│
├── TABLE: Users
│ ├── user_id: VARCHAR(20) (PRIMARY KEY)
│ ├── password: VARCHAR(20) (Prototype)
│ ├── name: VARCHAR(40)
│ └── created_at: TIMESTAMP
│
└── TABLE: Users_data
├── user_id: VARCHAR(20)
├── movie_id: INT
├── user_rate: REAL
└── liked: BOOLEAN (DEFAULT FALSE)
For more details, follow: deepwiki.com/a-partovii/MovieDude
Related Skills
feishu-drive
339.1k|
things-mac
339.1kManage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database)
clawhub
339.1kUse the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com
task-list
Platform to build admin panels, internal tools, and dashboards. Integrates with 25+ databases and any API.
