Movie Review Analysis

Movie Review Analysis
Complete all work using Jupyter notebook
You have developed a website that aggregates scores for different movies. Instead of using ratings from 1-10 or any numeric scale, your website simply marks a review as ”good” or ”bad” (or some other terms that convey the same information, maybe some clever marketing terms around a fruit that is sometimes called a vegetable.) Your website is working well, however 15 of the reviews were not classified as either ”good” or ”bad”. It is your job to classify these 15 reviews (stored in unclassified.json)
• Build multiple models by the usual methods, selecting the best form of each using Cross Validation to select hyperparameters for both the Vectorizer and the base model.
• For example, you will want to choose hyperparameters for the vectorizer. min df, max df, n-gram etc.
• You will need to do multiple GridSearchCV and select the best score of them all to choose your model. – Model Type A has modelA = GridSearchCV(….), then modelA.best score is a value
– Model Type B has modelB = GridSearchCV(….), then modelB.best score is a value 1
– Choose the best one of all those ”best scores” – this will avoid contaminating the test set.
• MultinomialNB, LogisticRegression, BernoulliNB and SVM are the models that you should choose.
• One GridSearchCV for Bag of Words and one for Tfidf, for each model.
• SVM will need its hyperparameters chosen too (e.g. kernel, C etc.) • Evaluate the model using the usual methods.
• Get your predictions with the model you’ve selected – printing the text and its class prediction to the screen.
• Write a one-page document summarising your work, why you chose the model you did and its overall performance.
– Comment on how reasonable you think your predictions are (output the reviews and decide manually if they are good or bad).
Save the document as a PDF
Movie Review Analysis
Complete all work using Jupyter notebook
You have developed a website that aggregates scores for different movies. Instead of using ratings from 1-10 or any numeric scale, your website simply marks a review as ”good” or ”bad” (or some other terms that convey the same information, maybe some clever marketing terms around a fruit that is sometimes called a vegetable.) Your website is working well, however 15 of the reviews were not classified as either ”good” or ”bad”. It is your job to classify these 15 reviews (stored in unclassified.json)
• Build multiple models by the usual methods, selecting the best form of each using Cross Validation to select hyperparameters for both the Vectorizer and the base model.
• For example, you will want to choose hyperparameters for the vectorizer. min df, max df, n-gram etc.
• You will need to do multiple GridSearchCV and select the best score of them all to choose your model. – Model Type A has modelA = GridSearchCV(….), then modelA.best score is a value
– Model Type B has modelB = GridSearchCV(….), then modelB.best score is a value 1
– Choose the best one of all those ”best scores” – this will avoid contaminating the test set.
• MultinomialNB, LogisticRegression, BernoulliNB and SVM are the models that you should choose.
• One GridSearchCV for Bag of Words and one for Tfidf, for each model.
• SVM will need its hyperparameters chosen too (e.g. kernel, C etc.) • Evaluate the model using the usual methods.
• Get your predictions with the model you’ve selected – printing the text and its class prediction to the screen.
• Write a one-page document summarising your work, why you chose the model you did and its overall performance.
– Comment on how reasonable you think your predictions are (output the reviews and decide manually if they are good or bad).
Save the document as a PDF

Last Completed Projects

topic title academic level Writer delivered