Skip to content

okanaykan/FlickFinder

Repository files navigation

FlickFinder Movie Recommendation System

Project Overview

FlickFinder is a personalized movie recommendation system designed to help users explore and discover movies tailored to their unique tastes. Built using data from the TMDB API, this application leverages advanced recommendation algorithms to provide dynamic suggestions.


Dataset Details

Purpose of the Dataset

This dataset is designed for projects such as movie analytics and recommendation systems. It consists of two files:

  1. tmdb_5000_movies.csv - Contains detailed information about movies.
  2. tmdb_5000_credits.csv - Contains information about the cast and crew members.

Content

tmdb_5000_credits.csv

  • movie_id: A unique identifier for the movie.
  • title: The name of the movie.
  • cast: A list of actors in the movie (in JSON format).
  • crew: Details about the crew, such as the director, producer, and writer (in JSON format).

tmdb_5000_movies.csv

  • budget: The budget for making the movie.
  • genre: The genre of the movie, such as action, comedy, thriller, etc.
  • homepage: A link to the movie's official website.
  • id: An identifier that matches the movie_id in the first dataset.
  • keywords: The movie's keywords or tags.
  • original_language: The language in which the movie was made.
  • original_title: The movie's original title before any translation or adaptation.
  • overview: A short description of the movie.
  • popularity: A numerical value indicating the movie's popularity.
  • production_companies: The production companies involved in the movie.
  • production_countries: The countries where the movie was made.
  • release_date: The movie's release date.
  • revenue: The worldwide revenue generated by the movie.
  • runtime: The movie's duration (in minutes).
  • status: The status of the movie, such as "Released" or "Rumored."
  • tagline: The movie's tagline.
  • title: The movie's title.
  • vote_average: The average rating the movie received.
  • vote_count: The total number of votes the movie received.

Dataset Story

The dataset was created using data retrieved from TMDB's API. TMDB is a popular movie database where users can rate and review movies.


System Components

Data Preparation

  1. Data Cleaning: Removing null values and merging datasets.
  2. Feature Engineering: Extracting and combining features such as genres, keywords, cast, and crew into a single "tags" column.
  3. Text Preprocessing: Removing spaces and converting text to lowercase.

Recommendation Algorithm

  1. TF-IDF Vectorization:
    • Converts text data into numerical vectors.
    • Assigns weight to words based on frequency and importance.
  2. Cosine Similarity:
    • Measures the similarity between movies based on their vectorized tags.
    • Outputs a similarity score to rank movies.

App Features

Home Tab

  • Introduction to the application.
  • Key functionalities.

Recommendation Tab

  • Select a movie to find similar recommendations.
  • Displays movie posters, titles, and details.

Data Tab

  • Dataset Summary: Overview of the dataset's structure and size.
  • Interactive Features:
    • Filter movies by genres.
    • View genre distributions with visualizations.
  • Fun Facts: Highlights like most common genres or longest movie titles.

Technologies Used

  • Python Libraries: Streamlit, pandas, scikit-learn, requests, ast
  • API: TMDB API for fetching movie posters and details
  • Frontend: Streamlit for an interactive web application

Installation and Usage

  1. Clone the Repository:

    git clone https://github.com/your-repo/FlickFinder.git
    cd FlickFinder
  2. Install Dependencies:

    pip install -r requirements.txt
  3. Run the Application:

    streamlit run Streamlit_Code.py
  4. Access the Application: Open your browser and go to http://localhost:8501.


Future Improvements

  • Add user-based and item-based collaborative filtering.
  • Include more visualizations and insights.
  • Enable user login for personalized recommendations.

Acknowledgments

This project utilizes data from TMDB API and follows best practices for recommendation system design.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages