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.
Movie Rating Prediction App Link
-
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.
Before starting the project, make sure you have the following:
- Python 3.x
- scikit-learn
- pandas
- numpy
- Streamlit
- Pickle
- 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.
- Experimenting with various machine learning algorithms such as:
- Linear Regression
- Random Forest Regression
- Gradient Boosting Regression
- XGBoost Regressor
- 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.
- Capping: Identifying and capping outliers in numerical features to reduce their impact on the model's accuracy.
To deploy the model and make it available on the web:
- Create a GitHub Repository: Push all the project files (code, model, etc.) to GitHub.
- Set up Cloud Platform Account: Use platforms like Streamlit Sharing, Heroku, or AWS to deploy the application.
- Configure the Streamlit App: Ensure that the app is correctly configured for cloud deployment.
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.