Skip to content

Repository files navigation

Movie Rating Prediction Model

Overview

This project aims to predict movie ratings based on various features using machine learning techniques. The model is trained on a dataset containing information about movies, including their genres, release year, and other relevant attributes. It is then deployed using a web application built with Streamlit, allowing users to input movie attributes and receive predicted ratings.

App link

Movie Rating Prediction App Link

Features

  • Data: The dataset consists of [insert number] movies with [insert number] features, including:

    • Genre
    • Number of Genres
    • Release Year
    • Number of Votes
  • Model: Different machine learning models were trained on the dataset to predict movie ratings.

    • Models tested: Linear Regression, Random Forest Regression, Gradient Boosting Regression, XGBoost Regressor, etc.
  • Pickle File: A serialized version of the trained model is saved in a pickle file, allowing for efficient deployment.

  • Streamlit App: A user-friendly web interface built with Streamlit to interact with the model, input movie attributes, and receive predicted ratings.

Prerequisites

Before starting the project, make sure you have the following:

  • Python 3.x
  • scikit-learn
  • pandas
  • numpy
  • Streamlit
  • Pickle

Model Architecture

1. Data Preprocessing

  • Feature Engineering: Creating new features and transforming raw data into meaningful inputs.
  • Normalization/Standardization: Scaling numerical features for improved model performance.
  • Encoding Categorical Features: Converting categorical data into numerical format for model compatibility.

2. Model Selection

  • Experimenting with various machine learning algorithms such as:
    • Linear Regression
    • Random Forest Regression
    • Gradient Boosting Regression
    • XGBoost Regressor

3. Model Training

  • Data Split: Dividing the dataset into training and testing sets to evaluate model performance.
  • Training: Training the selected model(s) on the training set.
  • Evaluation: Using metrics like RMSE (Root Mean Squared Error) and MAE (Mean Absolute Error) to assess model performance on the testing set.

4. Handling Outliers

  • Capping: Identifying and capping outliers in numerical features to reduce their impact on the model's accuracy.

Deployment

To deploy the model and make it available on the web:

  1. Create a GitHub Repository: Push all the project files (code, model, etc.) to GitHub.
  2. Set up Cloud Platform Account: Use platforms like Streamlit Sharing, Heroku, or AWS to deploy the application.
  3. Configure the Streamlit App: Ensure that the app is correctly configured for cloud deployment.

Contributions

Contributions are welcome! Feel free to:

  • Improve model accuracy.
  • Add new features to enhance the model's predictive capabilities.
  • Enhance the Streamlit web app to improve user experience.

About

This project aims to predict movie ratings based on various features using machine learning techniques. It is then deployed using a web application built with Streamlit, allowing users to input movie attributes and receive predicted ratings.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages