Skip to content

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.

Notifications You must be signed in to change notification settings

ikomalgupta/movie_rating_prediction

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

Watchers

Forks

Releases

No releases published

Packages

No packages published