This Analysis includes 3 levels of tasks to perform.It contains analysis of restaurants and factors affecting their ratings. The main objective was to gather meaningful insights by conducting exploratory data analysis on the large restaurant dataset, as well as build a ML model to predict ratings. This github repo contains all files that includes necessary data exploraton, preprecessing and various visualization methods.
Dataset is uploaded in repo
Jupyter Notebook
pandas, numpy, matplotlib, seaborn, scikitlearn, folium, geopanda
- Cuisines had 9 null values. So dropped the rows
- Removed features that will inhibit model performance
- Split training data and test data in the ratio 8:2
- Some features/columns needed label encoding
- Used Random Forest, Decision Tree Logistic Regression algorithms to build the models
- My restaurant rating prediction model (Random Forest and Decision Tree) obtained an aggregate R2 score of 0.93
(Analysis and task wise conclusions are given in repo folders in detail.)
- There are many restaurants having 0 rating probably due to less popularity.
- Visualized the geospatial distribution of restaurants on the map coordinates using folium and geopanda
- Most popular restaurants come in the range of ratings 3 to 3.5.
- Expensive restaurants (higher price range) tend to have higher ratings.
- New Delhi has the highest number of restaurants.
- By country, country code “1”, probably North America has most no of restaurants.
- 'North Indian' is the most popular cuisine overall, followed by "Chinese" and "fast food".
- Restaurants having table booking facility have fairly higher average rating.
- “Sunda” is the highest rated cuisine and also has the most votes.