"Exploratory Visualization of the NYC Restaurant Safety Inspection Data"
Living in New York City for more than two years now, I always enjoy the various, delicious cuisines the city has to offer. One thing I always notice every time I enter a restaurant is the safety grade in huge letters on the window of the restaurant. The grading sure helps me filter out a lot of restaurants. So as an aspiring data scientist, I decided to look into the safety inspection system and see if I could find any interesting factors that influence the grading.
During an inspection, multiple citations will be given to a restaurant depending on safety and hygienic violations. Each citation corresponds to a violation score based on the violation category and its critical conditions. Then the inspection grade is given based upon the number of violations the restaurant receives after inspection. Restaurants with a score between 0 and 13 points will receive an A, those with 14 to 27 points will receive a B, and 28 or more points will receive a C.
The inspection data was obtained from the NYC Open Data library. Two features that jumped out immediately were the borough location of the restaurant and its cuisine type. This will be the starting point for my EDA.
II. Preprocessing the Data
The raw dataset was composed of over 440 thousand of inspection observations with 18 different factors/features. The following tasks were performed for the initial data cleaning:
- Removal of the nonsensical observations, such as blank restaurant names, absurd dates, etc
- Changing of the categorical variables into factors for visualization
- Creating additional features for analysis
After the data was cleaned, some preprocess manipulations were done for ease of analysis
- Due to the NYC Health Department grading process, not every restaurant receives a grade after an inspection; some will only receive a violation score. For this analysis, I converted the score to its respective grade.
- The raw data separates the restaurants into 85 different types of cuisine. I reduced and renamed the initial 85 categories of cuisine to 24 categories for ease of visualization
- The dataset contains multiple inspection visits per each restaurant. Since I was interested only in the latest inspection data, I filtered the dataset to obtain a unique inspection for each restaurant
III. Exploratory Analysis
Inspection Grade vs Location
One feature that was very important was the location of the restaurant, so I decided to visualize the number of restaurants by borough and their respective grades.
- Manhattan has the most restaurants of all five boroughs
- Grade A was is the most frequent rating in all boroughs
Inspection Grade vs Cuisine Type
The second prominent feature related to the inspection grade is the type of cuisine. So I visualized the relationship between the cuisine type and the respective grades.
- The grade distribution for the cuisine type is similar to the grade vs location plot, where the majority of restaurants receive grade A.
- The bar plot also displays the fact that American cuisine is the most common in NYC, followed Chinese and Pizza.
Inspection Grade vs Cuisine Type by Percentage
To explore deeper into the relationship between cuisine type and inspection grade, I decided to plot the percentage of the inspection grade within each cuisine.
- Juices/Smoothies/Ice Cream/Yogurt shops show the highest percentage of grade A scores, followed by French restaurants and then Cafe/Coffee/Tea shops.
- Latin/Hispanic restaurants show the lowest grade A percentage.
Violation Citations and Cuisine Type
Another important aspect I would like to explore is the number of violation citations a restaurant received during its latest inspection. The number of violation citations is plotted against the cuisine type in the similar plot as above, this could potentially provide additional information.
- This plot shown similar distribution compared to the inspection grade vs cuisine type plot. Small juice/ice cream shops and cafe/coffee shops received lowest number of citations (~2 citations/shop) with a relatively big margin compared to the rest.
- South Asian cuisines received the highest number of citations per restaurant. It had the second lowest grade A percentage in the previous plot.
Furthermore, I would like to see this distributions across each individual borough, so I plotted a facet plot containing all five boroughs.
- The plots shown similar distributions across all five boroughs.
- There is no Korean restaurant in the Bronx, and no French restaurant in Staten Island recorded in the data.
Density Curve of Average Violation Score vs Location
The last aspect I wanted to explore was the violation score. It is important because it directly derives the inspection grade. I plotted the density of the average violation scores per restaurant, separated by the five boroughs.
- The distributions are very similar across all boroughs.
- The highest peak occurs at the lower range of grade A, meaning that most grade A restaurants received a score in this range. This shows that although every restaurant wants to get an A grade, most of them exert the least effort to get and maintain it.
Heatmap of Violation Score by Cuisine Type and Location
A heatmap was created to visualize the scores between cuisine and location
- The heatmap shows similar relationship as the facet map earlier, as it also shows the absence of Korean cuisine in Bronx and French cuisine in Staten Island.
- However, the heatmap visualizes extremas more clearly. The darker cells represent higher violation scores (worse hygiene), and lighter cells represent lower violation scores (better hygiene).
Zip Choropleth of Violation Score
To get a better idea of how the restaurant violation score spread throughout NYC, I plotted a choropleth based on the zipcode of each restaurant.
- Most of Staten Island, South Brooklyn, and East Queens (Flushing) show higher violation scores. Astoria and Long Island City show lower violation scores. Manhattan is spread with both high and lower violation scores.
IV. Conclusion and Future Work
- There is definitely a relationship between restaurant location, cuisine type, and the inspection grade. But statistical testing is needed to observe any significance between the factors.
- The location can be further divided by neighborhood for detailed examination of restaurants surrounding.