Restaurant Customer Rating Prediction: [Essay Example], 1984 words GradesFixer

Haven't found the right essay?

Get an expert to write your essay!


Professional writers and researchers


Sources and citation are provided


3 hour delivery


Haven't found the right essay?

Get an expert to write your essay!

This essay has been submitted by a student. This is not an example of the work written by professional essay writers.

Restaurant Customer Rating Prediction

Download Print

Pssst… we can write an original essay just for you.

Any subject. Any type of essay.

We’ll even meet a 3-hour deadline.

Get your price

121 writers online

Download PDF


The project aim is to find out the relationship between the dependent and independent variable. To know how all the independent variable influences the dependent variable. The restaurant rating is based on many attributes like the food quality, prize, ambience of the restaurant, if the restaurant has online delivery system, if the restaurant has table booking etc. All these factors will affect the business profit as customers will consider these factors to dine in their favorite restaurant. So, the Customer Relationship Management plays an important role in improving the business profit of any organization.

Keywords—CRM, Hypothesis, Sentiment Analysis, Support Vector Machine


Customer Relationship Management (CRM) plays a vital role in an organization. To be successful in business the organization should have a good relationship with the customer. The organization should also have loyal and long-lasting customers so that the organization business value and profit gets increased.

The main purpose of CRM is to gather all necessary customer related data and analyze the data using different data analytics and machine learning techniques. There are several advantages with the outcome of the analyses, since the data is customer related, the machine learning and data analytics outcome can be used to improve the product quality, it helps to manage the customer related data, customer interaction, manage customer accounts, finding new customers, maintain existing customers, from the analyses we can also find out what exactly are the customer expectations and the organization can improve the quality of the products. This in turn will increase the customer satisfaction and business profit to the organization. Thus, we can tell that CRM can be used to improve the value and relationship towards customer.


With the advent of internet e-commerce, social media and restaurant searches have increased tremendously. The online reviews on different products, places and restaurants will have a great impact on business profit as customers will look for the review and rating online before buying a product or dining in a restaurant. Thus, customer rating plays an important role in business profit.

The customer reviews and ratings of the restaurant online can help in improving the quality and standard of the restaurant, thus improving the business profit. The restaurant rating is important for the users online because it gives an overall rating of the restaurant which includes multiple factors like food quality, ambience, prize range, if it has table booking, if it has online delivery, what kind of cuisines, location etc.

There are multiple restaurant search websites online from with data can be taken to predict the customer ratings of the restaurant. I chose “Zomato” which is one of the most popular search website for restaurant. These rating will be useful for users who log in the Zomato site online to look for the best restaurants in the city. From the dataset, the customer rating can be classified using multiple other parameters which will be explained in the next section. In this project, the restaurant rating given by customer is been classified. The customer ratings and business profitability can be predicted.


From the Zomato dataset, the following hypothesis can be formed:

There are multiple attributes in the dataset, how all the independent attributes from the dataset influences the dependent variable which is the restaurant rating. To be precise how the restaurant: ‘Location’, ‘Cuisine’, ‘Cost’, ‘Has table booking’, ‘Has online delivery’ has an effect on the ‘rating text’.


The dataset has the following attributes such as: Restaurant Name, Restaurant ID, City, Address, Cuisines, Cost for two people, Has table booking, Has online delivery, Is delivering now, Switch to order menu, Prize range, Aggregate rating, Rating color, Rating text and votes.

The restaurant name will have names of all the restaurants in a place, the restaurant ID will be unique for all the restaurants, the city is used to list out all the restaurants in a city, the address will be useful to locate the restaurant in an area, the cuisines has a list of all the items that are served in the restaurant, cost of two gives the total amount of money for two people.

There are other attributes in the dataset which is used to find out different features of the restaurant. A restaurant can have table booking, online delivery etc., all these attributes will have a high correlation with the dependent variable which is the rating. If a restaurant has all the features and the quality of the food is very good, then there is a probability that the rating of the restaurant would be high. In other case, the restaurant may not have the all the features but it may be that the food quality is good and the overall prize may be less, so customers would prefer such restaurants and there are chances for the rating to be high for such restaurants. So, all these attributes together will determine the rating of the restaurant which be given by the customer. The rating will help other users who will login to the Zomato website, so the better the rating of the restaurant the better the business profit for the restaurant.

The aggregate rating is a numeric value from a scale of one-five, one being the lowest and five being the highest. The rating text is being encoded to excellent, very good, good, okay. For example, if the restaurant has an aggregate rating of 4.8, it will be encoded to excellent in the rating text. The rating text will be the dependent variable as it is a categorical variable, whereas the aggregate rating is a continuous numeric value.


There are various methods to find the ratings of the restaurant using machine learning techniques. These ratings will help the users from the Zomato website to choose the best restaurant to dine in for. The sentiment analysis has been used to find the restaurant rating. Here, the sentiment score will automatically classify the restaurant rating to help the users or customers to choose their best restaurant. The sentiment score can be calculated based on the user reviews, the keywords will have associated ratings which will be given a sentiment score. It will be useful to find out the tone behind the user. The process can be explained as follows. The dataset here is extracted from Yelp site, around 100,324 reviews for 2000 restaurants are taken. The reviews have many words like good, bad, excellent, marvelous, amazing, wonderful, awful, terrible etc., from all these words the sentiment score is calculated.

Sentiment Analysis Process

The process for the sentiment analysis is described below:

First the reviews are broken into separate sentiment words, there will be a text file which consists of positive and negative words and each word will have a corresponding sentiment word as seen from the above table, so the final sentiment score will be calculated.

After the sentiment words are calculated, the emoticons are identified. Let’s take an example of two sentence to understand the emoticons identification “food was GREAT” and “food was great”, the first sentence will have a higher score will compared to the sentence two, because the user has expectedly mentioned the positive review.

The sentiment score is calculated by the average of all the positive and negative score. Neutral score is also calculated. The summation of all the scores will give the sentiment score.

Finally, the rating is calculated.

The following hypothesis can be assumed:

  1. If the food is liked by the customer, then the rating will be better for a restaurant.
  2. The ambience of a restaurant plays an important role in a restaurant rating.
  3. The rating will be higher if the service of the restaurant is good.
  4. The price of the restaurant also plays an important role in the rating of the restaurant.

There are other techniques for implementing sentiment analysis. We can see that techniques like Naïve Bayes, Support Vector Machines, Decision tree, K-Nearest Neighbor Classifier, Winnow Classifier, Adaboost Classifier is used.


Data Preprocessing:

The dataset which was downloaded from Kaggle should be preprocessed before applying any machine learning algorithms to it because the dataset will contain unwanted noise, missing values, null values and special characters.

There were many unwanted rows and columns in the dataset like, Country code, Locality verbose, Latitude, Longitude and Currency. These attributes are removed before applying the machine learning as these independent variables has not much effect on the dependent variable. There were other missing and null values in the dataset which was cleaned in R using gsub function and was manually removed from excel.

Correlation between the attributes:

From the below output got from R studio we can find the correlation between different attributes got from the dataset.

Correlation can be classified into different types, strongly correlated, no correlation and neutral correlation.

  1. Attributes which have 0 have no correlation.
  2. Attributes from 0-0.5 have neutral correlation.
  3. Attributes from 0.5-1 are strongly correlated.

From the above let’s take an example of strongly correlated attribute, ‘Prize range’ and ‘has table booking’ is strongly co-related. ‘Has online delivery’ and ‘has table booking’ has neutral correlation with each other.

Support Vector Machine (SVM):

There are multiple techniques for classifying the restaurant rating using machine learning algorithms. The rating scores can be calculated using sentiment analysis which we have seen earlier. Classifying Support Vector Machine for restaurant rating is implemented, the method implemented for this project has additional attributes to improve the accuracy rate of the restaurant rating classification. The additional attributes include seeing if the restaurant has table booking, has online delivery, is delivering now, switch to menu option, prize of the food in the restaurant, total number of votes by the customer, location of the restaurant. These are all the independent variable which will have effect on the dependent variable restaurant rating.

Now let’s see why Support Vector Machine is used to classify the restaurant rating when compared to the other machine learning techniques:

  1. Support Vector Machine is used for supervised machine learning.
  2. It can be used for both regression and classification problems in machine learning. Support Vector Machine is much simpler when compared to the other machine learning algorithms.
  3. The main area where Support Vector Machine is used is in pattern recognition.
  4. In Support Vector Machine regular parameter is used for classification which makes it easier for the user to implement the algorithm.
  5. Problems which occur during Support Vector Machine can be solved with kernel engineering.
  6. The performance of Support Vector Machine is better when compared to other algorithms.
  7. Support Vector Machine algorithms computational speed is cheaper when compared to other algorithms.
  8. Support Vector Machine can be applied to all kinds of data like structured, semi structured and unstructured data.

These are the reasons for using Support Vector Machine.


The Support Vector Machine algorithm is implemented in R code, and the prediction accuracy is 99.6%. The dataset is first read and stored in a local variable in R. Then the dataset is split into training and test dataset to classify any future restaurant ratings given. After the dataset is split into training and test dataset Support Vector Machine algorithm is applied. When the R code applied to the dataset and the code is executed we can see the accuracy as 99.6%.


From implementing the Support Vector Machine algorithm, we can have found out the accuracy percentage to classify the restaurant rating. The customer rating plays an important role in any organization, the business value and business profit will entirely depend on the rating of the restaurant. So, for the restaurant to have a higher rating the customer rating plays an important role, and if the rating of the restaurant is higher it will also bring new customers to restaurants. The customer relationship plays a very important role for the success and profit in business.

Remember: This is just a sample from a fellow student.

Your time is important. Let us write you an essay from scratch

100% plagiarism free

Sources and citations are provided

Cite this Essay

To export a reference to this article please select a referencing style below:

GradesFixer. (2019, April, 26) Restaurant Customer Rating Prediction. Retrived July 5, 2020, from
"Restaurant Customer Rating Prediction." GradesFixer, 26 Apr. 2019, Accessed 5 July 2020.
GradesFixer. 2019. Restaurant Customer Rating Prediction., viewed 5 July 2020, <>
GradesFixer. Restaurant Customer Rating Prediction. [Internet]. April 2019. [Accessed July 5, 2020]. Available from:
copy to clipboard

Sorry, copying is not allowed on our website. If you’d like this or any other sample, we’ll happily email it to you.

By clicking “Send”, you agree to our Terms of service and Privacy statement. We will occasionally send you account related emails.


Attention! this essay is not unique. You can get 100% plagiarism FREE essay in 30sec

Recieve 100% plagiarism-Free paper just for 4.99$ on email
get unique paper
*Public papers are open and may contain not unique content
download public sample

Sorry, we cannot unicalize this essay. You can order Unique paper and our professionals Rewrite it for you



Your essay sample has been sent.

Want us to write one just for you? We can custom edit this essay into an original, 100% plagiarism free essay.

thanks-icon Order now

Hi there!

Are you interested in getting a customized paper?

Check it out!
Having trouble finding the perfect essay? We’ve got you covered. Hire a writer uses cookies. By continuing we’ll assume you board with our cookie policy.