by Ananya Singh, Devika Mittal, Manas Gupta and Prashasti Agarwal
Machine Learning (CSE343, ECE343) at Indraprastha Institute of Information Technology, Delhi.
The aim of our project was to predict revenue of a movieand study how different parameters like genre, title, description keywords, run-time, etc, affect its success. Through several machine learning techniques, we have tried to verifyour preconceived notions about various factors which mightbe important in determining revenue. We have tried several hyperparameter tuned models to finally reach the one thatbest models our data in predicting revenues.
We used Kaggle’s The Movies Dataset for our analysis.This is a labelled dataset containing entries of about 45,000 movies listed at IMDB. We have used the following 3 of the 7 files in the dataset for our analysis:
- moviesmetadata: contains 45,466 entries each containing 24 features namely: adult, belongstocollection, budget, genres, homepage, id, imdbid, originallanguage, originaltitle, overview, popularity, posterpath, productioncompanies, productioncountries,releasedate,revenue,runtime,spokenlanguages, status, tagline, title, video, voteaverage,votecount
- keywords: contains movie IDs and the keywords used todescribe their plot.
- credits: contains movie IDs with the cast as well as crew involved in the movie
Download the entire repository and extract all the files to a folder.
Open a terminal in this folder and run the below command:
python download.py
This command would download a zip file to the data folder.
Then:
All the following steps involve running python notebooks. They can be run using Run All command in the respective IDE
- Run the file preprocessing.ipynb
- This will extract the data from /data folder
- It will extract all the required features from the datasets
- It will generate and process the features
- After all this processing preprocessed.csv is saved in /data folder and can be used for training and predictions.
- Run the file visualisations.ipynb
- This helps in plotting of various features against revenue
- This helps in estimation of the data
- It tells us the idstibution of data and determine which models might be useful.
- Run the file ML_models.ipynb
- This notebook has been documented and commented and runs each model one by one
- After each training a prediction is made on the testing set
- R2 Score, RMSE are printed
- Scatter plots of true vs predicted value for training as well as testing set are made for predition visualisation.
For any further queries feel free to reach out the following contributors.
Ananya Singh ([email protected])
Devika Mittal ([email protected])
Manas Gupta ([email protected])
Prashasti Agarwal ([email protected])