Meta: Predict Rotten Tomatoes labels via feature-based and text-driven classification. Python, Scikit-learn, Random Forest, NLP.
In this project, you are given large datasets from Rotten Tomatoes - a popular online review aggregator for film and television. Your task is to build a high performing classification algorithm to predict whether a particular movie on Rotten Tomatoes is labeled as 'Rotten', 'Fresh', or 'Certified-Fresh'.
There are 2 datasets
rotten_tomatoes_movies.csv - contains basic information about each movie listed on Rotten Tomatoes; each row represents one movie;rotten_tomatoes_critic_reviews_50k.tsv - contains 50.000 individual reviews by Rotten Tomatoes critics; each row represents one review corresponding to a movie;rotten_tomatoes_movies dataset contains the following columns:
rotten_tomatoes_link - movie IDmovie_title - title of the movie as displayed on the Rotten Tomatoes websitemovie_info - brief description of the moviecritics_consensus - comment from Rotten Tomatoescontent_rating - category based on the movie suitability for audiencegenres - movie genres separated by commes, if multipledirectors - name of director(s)authors - name of author(s)actors - name of actorsoriginal_release_date - date in which the movie has been released in theatres, in YYY-MM-DD formatstreaming_release_date - date in which the movie has been released on streaming platforms, in YYY-MM-DD formatruntime - duration of the movie in minutesproduction_company - name of a studio/company that produced the movietomatometer_status - a label assgined by Rotten Tomatoes: "Fresh", "Certified-Fresh" or "Rotten"; this is the target variables in this challengetomatometer_rating - percentage of positive critic ratingstomatometer_count - critic ratings counted for the calculation of the tomatomer statusaudience_status - a label assgined based on user ratings: "Spilled" or "Upright"audience_rating - percentage of positive user ratingsaudience_count - user ratings counted for the calculation of the audience statustomatometer_top_critics_count - number of ratings by top criticstomatometer_fresh_critics_count - number of critic ratings labeled "Fresh"tomatometer_rotten_critics_count - - number of critic ratings labeled "Rotten"rotten_tomatoes_critic_reviews_50k dataset contains the following columns:
rotten_tomatoes_link - movie IDcritic_name - name of critic who rated the movietop_critic - boolean value that clarifies whether the critic is a top critic or notpublisher_name - name of the publisher for which the critic worksreview_type - was the review labeled "Fresh" or "Rotten"?review_score - review score provided by the criticreview_date - date of the review in YYYY-MM-DD formatreview_content - text of the reviewDefine, train and evaluate a predictive model that takes as the input the data provided. You may want to split the data into training, testing and validation sets, according to your discretion. Do not use external data for this project. You may use any algorithm of your choice or compare multiple models.
Make sure that the solution reflects your entire thought process - it is more important how the code is structured rather than the final metrics. You are expected to spend no more than 3 hours working on this project.