During my Data Science internship undertaken at Cognifyz technologies in Jan-Feb 2024, I was given 3 levels of tasks to perform analysis of restaurants and factors affectig their ratings. The main objective was to 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 the files I worked on including the necessary data exploration, preprocessing and various visualization methods to dive deep into finding interesting insights. More details are listed below:
All tasks in details can be found here.
It can be downloaded here.
Google Colab
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
(level 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.