Skip to content

Collaborative filtering movie recommendation system with GUI developed by Tkinter

License

Notifications You must be signed in to change notification settings

ChloeZhu1/Machine-Learning-Movie-Recommendation-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Machine Learning Movie Recommendation System

Youtube Demo Link

- Collaborative filtering movie recommendation system with GUI developed by Tkinter

This repository contains a movie recommendation system built using the MovieLens dataset. The project explores user–movie interactions and generates personalized movie recommendations based on rating data. It was developed as a final project with an emphasis on data analysis, machine learning concepts, and practical implementation in Python.

Project Overview

The goal of this project is to build a recommendation engine that suggests movies to users based on historical rating behavior. The system leverages collaborative filtering techniques to uncover patterns in user preferences and predict unseen ratings.

Key components of the project include:

  • Data preprocessing and exploratory analysis
  • Construction of a user–item rating matrix
  • Recommendation logic based on similarity and ratings
  • Visualization and qualitative evaluation of recommendations

Repository Structure

Machine-Learning-Movie-Recommendation-System/
│
├── Movie_Recommendation.ipynb     # Main notebook: data analysis & recommendation logic
├── dataset/                       # MovieLens dataset files
│   ├── movies.csv
│   ├── ratings.csv
│   ├── tags.csv
│   └── links.csv
│
├── downloads/                     # Downloaded movie posters / related media
├── Christmas.mp4                  # Demo or visualization video
├── test.mp4                       # Additional demo file
└── README.md

Dataset

This project uses the MovieLens Latest Small Dataset, which contains:

  • 100,000 ratings
  • 600+ users
  • 9,000+ movies

Each rating consists of:

  • userId
  • movieId
  • rating
  • timestamp Dataset source: MovieLens

Technologies Used

  • Python
  • Pandas & NumPy – data processing
  • Scikit-learn – similarity computation
  • Matplotlib / Seaborn – visualization
  • Tkinter - User Interface
  • Jupyter Notebook – experimentation and presentation

How to Run

  1. Clone this repository:
    git clone https://github.com/your-username/your-repo-name.git
  2. Navigate to the project directory:
    cd Fangjun_final_project
  3. Open the notebook:
    jupyter notebook Movie_Recommendation.ipynb
  4. Run the cells sequentially to reproduce the analysis and recommendations.

Features

  • Exploratory data analysis of movie ratings
  • User-based or item-based collaborative filtering
  • Movie similarity computation
  • Personalized movie recommendations
  • Optional media visualization (posters/videos)

Results

The system successfully identifies meaningful similarities between movies and users, producing reasonable and interpretable recommendations. Sample outputs include top-N movie recommendations for selected users based on predicted preferences.

Author

Fangjun (Chloé) Zhu & Xinyan Yang

If you have questions or suggestions, feel free to open an issue or reach out.

About

Collaborative filtering movie recommendation system with GUI developed by Tkinter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published