NLP With Hotel Review dataset

Job ID: 34101175

Budget: £20 – £250 GBP

PLEASE DO THIS IN PYTHON!
Need several machine learning models to label the sentiment behind hotel reviews correctly. This is a fairly large project which needs to be completed by Saturday evening. Preferably Friday evening. Data to be analysed and interpreted has been provided as zip file attachment

The target column is the "rating" column which is a binary column denoting good ratings as 1 and bad ones as 0.
Modeling
1. Employ a K-Nearest Neighbour classifier on this dataset:
a. Fit a KNN model to this data. state accuracy score on the test set.
b. Reduce number of observations (data points) in the dataset. Briefly describe the relationship between the number of observations and run-time for KNN?
c. Find an optimal value for K in the KNN algorithm. split the dataset into train and validation sets when doing please.
d. Check if any issue with splitting the data into train and validation sets after performing vectorization?
2. Next Employ a Decision Tree classifier on this dataset:
a. Fit a decision tree model to this data. state accuracy score on the test set.
b. Use the data set (or a subsample) to find an optimal value for the maximum depth of the decision tree. again split the data set into train and validation.
3. What is the purpose of the validation set, i.e., how is it different than the test set?
4. Re-run a decision tree or logistic regression on the data again:
a. Perform a 5-fold cross validation to optimize the hyperparameters of the model.
b. What does the confusion matrix look like for the best model on the test set?
5. Create one new feature – any acceptable:
a. Explain your new feature and why you consider it will improve accuracy.
b. Run the model from part 4 again. re-optimize hyperparameters. Check if accuracy score of the best model improved on the test set after adding the new feature created?


---
some information however the data has been changed a little, i.e adding a rating column so this description summary may not be fully accurace
Hotel_Address: Address of hotel.
Review_Date: Date when reviewer posted the corresponding review.
Average_Score: Average Score of the hotel, calculated based on the latest comment in the last year.
Hotel_Name: Name of Hotel
Reviewer_Nationality: Nationality of Reviewer
Negative_Review: Negative Review the reviewer gave to the hotel. If the reviewer does not give the negative review, then it should be: 'No Negative'
ReviewTotalNegativeWordCounts: Total number of words in the negative review.
Positive_Review: Positive Review the reviewer gave to the hotel. If the reviewer does not give the negative review, then it should be: 'No Positive'
ReviewTotalPositiveWordCounts: Total number of words in the positive review.
Reviewer_Score: Score the reviewer has given to the hotel, based on his/her experience
TotalNumberofReviewsReviewerHasGiven: Number of Reviews the reviewers has given in the past.
TotalNumberof_Reviews: Total number of valid reviews the hotel has.
Tags: Tags reviewer gave the hotel.
dayssincereview: Duration between the review date and scrape date.
AdditionalNumberof_Scoring: There are also some guests who just made a scoring on the service rather than a review. This number indicates how many valid scores without review in there.
lat: Latitude of the hotel
lng: longtitude of the hotel