Skip to the content.

Recipes and Ratings from Food.com Exploratory Data Analysis

Introduction

Hello!

Welcome to our Exploratory Data Analysis for a dataset taken from the reviews at food.com.

Food is an ever-present, and often highly cherished, part of our everyday lives. As our world becomes more interconnected, that also means delicious recipes–and thus food–can be widely shared. Food.com is a platform where users can share, rate, and review different recipes.

For our EDA, we used data on both the ratings of each review from food.com and the information about the corresponding recipe.

Although our dataset has 234,429 rows, or reviews from food.com users, it is only a subset of the data–from 2008 onwards–that was originally scraped and used by the authors from here.

For our analysis, we decided to ask: do dessert recipes tend to have more calories than other recipes?

We asked this question because we were interested in whether desserts, specifically, would have more calories than other recipes. Although desserts are typically seen as drastically more unhealthy than other recipes, we wanted to see if this was really the case on food.com.

Our merged dataset (which combines recipe and rating information) contains these (especially) relevant columns:

Column Name Description
name Name of the recipe
id A unique identifier for each recipe
minutes The number of minutes it takes to prepare this recipe
contributor_id A unique identifier for the contributor of the review
tags A list of different tags that apply to this recipe
nutrition Nutrition information in the form [calories (#), total fat (PDV), sugar (PDV), sodium (PDV), protein (PDV), saturated fat (PDV), carbohydrates (PDV)]. PDV stands for “percentage of daily value”
n_steps The number of steps for this recipe
description The user-provided description
rating The rating given, out of a total of 5
review The text of the given review
avg_rate The average rating for this recipe

Note: In our data cleaning process, our nutrition column was later split into different columns. More relevant columns from this cleaned dataframe are listed here::

Column Name Description
calories The number of calories for this recipe
protein The PDV of protein for this recipe

Cleaning and EDA

Data Cleaning

Our first step was to merge the recipes DataFrame, which contains information about things like a recipe’s ingredients and tags, with the interactions DataFrame, which contains information about things like reviews and ratings from different users.

While merging, we also filled all values of 0 in the ratings column with np.nan (not a value). On food.com, it is possible to post a review without leaving a star rating. We decided to fill in 0 ratings as missing, to account for everyone who may have posted without remembering to click on a star value, or didn’t know they had to click the stars to select their desired rating. In addition, many places often recognize 1, not 0, stars as the lowest rating. This way, people who forgot or did not know about the star rating feature also will not drag down the average rating.

We then decided to find the average rating of each recipe, and added the information in a new column: avg_rate. We also changed the submitted and date columns from strings to datetime objects.

Next, we decided to separate the elements inside of the nutrition and tags for better readability and analysis potential.

We used string methods to convert the data inside of the nutrition, tags, steps, and ingredients columns from a string of a list to an actual list.

In our merged dataframe, we exchanged the nutrition columns for columns such as calories, total_fat, etc., which correspond with the original values and units in the old nutrition lists.

We decided to use one-hot encoding to flatten our tags data:

60-minutes-or-less time-to-make course main-ingredient preparation for-large-groups desserts lunch snacks cookies-and-brownies chocolate bar-cookies brownies number-of-servings cuisine north-american canadian british-columbian side-dishes vegetables easy beginner-cook broccoli occasion american southern-united-states dinner-party holiday-event cakes dietary christmas thanksgiving low-sodium low-in-something taste-mood sweet 4-hours-or-less main-dish potatoes meatloaf simply-potatoes2 weeknight 30-minutes-or-less beef diabetic kid-friendly stove-top comfort-food inexpensive ground-beef meat greens lettuces tomatoes equipment 3-steps-or-less soups-stews beans pork mexican stews crock-pot-slow-cooker spicy lentils presentation served-hot danish pancakes-and-waffles breakfast scandinavian european eggs-dairy pasta cheese pasta-rice-and-grains swiss elbow-macaroni 5-ingredients-or-less midwestern free-of-something savory swedish low-protein very-low-carbs french low-cholesterol low-saturated-fat low-calorie low-carb healthy-2 spinach copycat from-scratch 15-minutes-or-less sauces condiments-etc healthy low-fat for-1-or-2 granola-and-porridge vegan vegetarian gumbo seafood african cajun heirloom-historical shrimp creole oamc-freezer-make-ahead shellfish savory-pies salads bacon italian one-dish-meal toddler-friendly leftovers simply-potatoes beverages fruit no-cook smoothies food-processor-blender gluten-free berries strawberries tropical-fruit mango brunch small-appliance technique lactose fall winter seasonal asian marinades-and-rubs apples bananas oven served-cold rice spring summer salad-dressings kosher romantic long-grain-rice steak novelty breads cheesecake greek cocktails citrus oranges bisques-cream-soups crab northeastern-united-states poultry turkey appetizers dips stuffings-dressings 1-day-or-more celebrity english high-calcium high-in-something peppers refrigerator shakes picnic to-go grains ham casseroles squash sandwiches burgers cooking-mixes savory-sauces biscotti peanut-butter fish baja grilling gelatin halloween chicken chicken-thighs-legs quebec lasagna soy-tofu egg-free black-beans mushrooms herb-and-spice-mixes high-fiber high-protein eggs onions infant-baby-friendly potluck zucchini frozen-desserts puddings-and-mousses rolls-biscuits curries valentines-day gifts chick-peas-garbanzos muffins quick-breads cobblers-and-crisps lamb-sheep drop-cookies pies-and-tarts pies turkey-burgers carrots finger-food chili superbowl yams-sweet-potatoes cinco-de-mayo native-american pitted-fruit peaches spaghetti artichoke chicken-breasts cupcakes japanese south-west-pacific australian yeast pacific-northwest hand-formed-cookies spanish pork-chops steaks barbecue tuna saltwater-fish deep-fry scones mixer middle-eastern ramadan clear-soups oaxacan south-american lime indian broil green-yellow-beans melons papaya pineapple german nuts iraqi saudi-arabian thai sourdough baking pakistani chinese white-rice spreads somalian non-alcoholic ontario camping omelets-and-frittatas roast microwave asparagus pork-sausage whole-chicken blueberries independence-day cauliflower memorial-day ravioli-tortellini southwestern-united-states tex-mex candy south-african easter hanukkah passover wild-game deer new-zealand crusts-pastry-dough-2 corn bread-machine flat-shapes rolled-cookies pizza pasta-shells cake-fillings-and-frostings pressure-cooker canning stir-fry pennsylvania-dutch chowders beef-sausage lemon ice-cream freezer sweet-sauces coconut whole-turkey pheasant punch wedding grapes russian salsas water-bath tarts roast-beef chinese-new-year chicken-livers californian penne micro-melanesia fudge   birthday nut-free fillings-and-frostings-chocolate beef-ribs pork-ribs cherries salmon brown-rice freshwater-fish tilapia jams-and-preserves brown-bag colombian caribbean central-american wings kiwifruit breakfast-eggs eggs-breakfast turkey-breasts stocks scottish welsh raspberries irish st-patricks-day cuban smoker pork-loins finnish coffee-cakes a1-sauce avocado moroccan labor-day jewish-sephardi iranian-persian belgian costa-rican garnishes new-years super-bowl dutch pumpkin cod sole-and-flounder turkish polish mardi-gras-carnival puerto-rican filipino georgian brazilian nigerian fathers-day chutneys collard-greens ecuadorean steam mussels peruvian clams lebanese meatballs egyptian argentine portuguese chilean hidden-valley-ranch dehydrator pears oatmeal reynolds-wrap dairy-free veal duck hawaiian eggplant perch scallops icelandic veggie-burgers mothers-day jewish-ashkenazi mashed-potatoes chocolate-chip-cookies vietnamese czech elk amish-mennonite chard rabbit main-dish-beef beef-crock-pot pot-roast szechuan halibut oysters bok-choys halloween-cocktails short-grain-rice hungarian rosh-hashanah libyan austrian april-fools-day palestinian malaysian medium-grain-rice angolan guatemalan korean plums manicotti norwegian indonesian lobster whole-duck honduran halloween-cakes ethiopian soul ragu-recipe-contest macaroni-and-cheese no-shell-fish mahi-mahi irish-st-patricks-day jellies cantonese polynesian pickeral tempeh main-dish-chicken catfish cambodian brewing bass bear beef-organ-meats beef-liver beef-sauces spaghetti-sauce moose beijing college hunan heirloom-historical-recipes nepalese pot-pie kwanzaa unprocessed-freezer congolese rosh-hashana main-dish-pork pork-loins-roast quiche trout sugar-cookies orange-roughy sudanese crawfish squid pressure-canning side-dishes-beans beans-side-dishes baked-beans snacks-kid-friendly snacks-sweet halloween-cupcakes main-dish-pasta pasta-salad venezuelan pasta-elbow-macaroni namibian dips-lunch-snacks duck-breasts whitefish mushroom-soup beef-barley-soup pork-crock-pot crock-pot-main-dish desserts-fruit desserts-easy goose lasagne laotian cabbage prepared-potatoes middle-eastern-main-dish high-in-something-diabetic-friendly black-bean-soup bean-soup served-hot-new-years ham-and-bean-soup lamb-sheep-main-dish mongolian for-large-groups-holiday-event stews-poultry octopus pork-loin cranberry-sauce marinara-sauce breakfast-casseroles breakfast-potatoes main-dish-seafood shrimp-main-dish pumpkin-bread bread-pudding less_thansql:name_topics_of_recipegreater_than chicken-crock-pot chicken-stews chicken-stew Throw the ultimate fiesta with this sopaipillas recipe from Food.com. beef-kidney roast-beef-main-dish roast-beef-comfort-food
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

In this dataframe, 1 means the recipe contains the tag, while a 0 means the recipe does not.

Later on in our hypothesis test, we merge this tags dataframe with our main dataframe to analyze the relationship between certain recipe tags and their number of calories!

As our cleaning came to a close, we did notice certain outliers, particularly for columns of interest such as calories and sugar. We decided to keep these in, as they were valid recipes but with larger servings/amounts of ingredients.

Our final cleaned DataFrame looks like this:

name id minutes contributor_id submitted tags n_steps steps description ingredients n_ingredients user_id date rating review avg_rate calories total_fat sugar sodium protein saturated_fat carbohydrates
1 brownies in the world best ever 333281 40 985201 2008-10-27 00:00:00 [‘60-minutes-or-less’, ‘time-to-make’, ‘course’, ‘main-ingredient’, ‘preparation’, ‘for-large-groups’, ‘desserts’, ‘lunch’, ‘snacks’, ‘cookies-and-brownies’, ‘chocolate’, ‘bar-cookies’, ‘brownies’, ‘number-of-servings’] 10 [‘heat the oven to 350f and arrange the rack in the middle’, ‘line an 8-by-8-inch glass baking dish with aluminum foil’, ‘combine chocolate and butter in a medium saucepan and cook over medium-low heat ‘, ‘stirring frequently ‘, ‘until evenly melted’, ‘remove from heat and let cool to room temperature’, ‘combine eggs ‘, ‘sugar ‘, ‘cocoa powder ‘, ‘vanilla extract ‘, ‘espresso ‘, ‘and salt in a large bowl and briefly stir until just evenly incorporated’, ‘add cooled chocolate and mix until uniform in color’, ‘add flour and stir until just incorporated’, ‘transfer batter to the prepared baking dish’, ‘bake until a tester inserted in the center of the brownies comes out clean ‘, ‘about 25 to 30 minutes’, ‘remove from the oven and cool completely before cutting’] these are the most; chocolatey, moist, rich, dense, fudgy, delicious brownies that you’ll ever make…..sereiously! there’s no doubt that these will be your fav brownies ever for you can add things to them or make them plain…..either way they’re pure heaven! [‘bittersweet chocolate’, ‘unsalted butter’, ‘eggs’, ‘granulated sugar’, ‘unsweetened cocoa powder’, ‘vanilla extract’, ‘brewed espresso’, ‘kosher salt’, ‘all-purpose flour’] 9 386585 2008-11-19 00:00:00 4 These were pretty good, but took forever to bake. I would send it ended up being almost an hour! Even then, the brownies stuck to the foil, and were on the overly moist side and not easy to cut. They did taste quite rich, though! Made for My 3 Chefs. 4 138.4 10 50 3 3 19 6
1 in canada chocolate chip cookies 453467 45 1848091 2011-04-11 00:00:00 [‘60-minutes-or-less’, ‘time-to-make’, ‘cuisine’, ‘preparation’, ‘north-american’, ‘for-large-groups’, ‘canadian’, ‘british-columbian’, ‘number-of-servings’] 12 [‘pre-heat oven the 350 degrees f’, ‘in a mixing bowl ‘, ‘sift together the flours and baking powder’, ‘set aside’, ‘in another mixing bowl ‘, ‘blend together the sugars ‘, ‘margarine ‘, ‘and salt until light and fluffy’, ‘add the eggs ‘, ‘water ‘, ‘and vanilla to the margarine / sugar mixture and mix together until well combined’, ‘add in the flour mixture to the wet ingredients and blend until combined’, ‘scrape down the sides of the bowl and add the chocolate chips’, ‘mix until combined’, ‘scrape down the sides to the bowl again’, ‘using an ice cream scoop ‘, ‘scoop evenly rounded balls of dough and place of cookie sheet about 1 - 2 inches apart to allow for spreading during baking’, ‘bake for 10 - 15 minutes or until golden brown on the outside and soft & chewy in the center’, ‘serve hot and enjoy !’] this is the recipe that we use at my school cafeteria for chocolate chip cookies. they must be the best chocolate chip cookies i have ever had! if you don’t have margarine or don’t like it, then just use butter (softened) instead. [‘white sugar’, ‘brown sugar’, ‘salt’, ‘margarine’, ‘eggs’, ‘vanilla’, ‘water’, ‘all-purpose flour’, ‘whole wheat flour’, ‘baking soda’, ‘chocolate chips’] 11 424680 2012-01-26 00:00:00 5 Originally I was gonna cut the recipe in half (just the 2 of us here), but then we had a park-wide yard sale, & I made the whole batch & used them as enticements for potential buyers ~ what the hey, a free cookie as delicious as these are, definitely works its magic! Will be making these again, for sure! Thanks for posting the recipe! 5 595.1 46 211 22 13 51 26
412 broccoli casserole 306168 40 50969 2008-05-30 00:00:00 [‘60-minutes-or-less’, ‘time-to-make’, ‘course’, ‘main-ingredient’, ‘preparation’, ‘side-dishes’, ‘vegetables’, ‘easy’, ‘beginner-cook’, ‘broccoli’] 6 [‘preheat oven to 350 degrees’, ‘spray a 2 quart baking dish with cooking spray ‘, ‘set aside’, ‘in a large bowl mix together broccoli ‘, ‘soup ‘, ‘one cup of cheese ‘, ‘garlic powder ‘, ‘pepper ‘, ‘salt ‘, ‘milk ‘, ‘1 cup of french onions ‘, ‘and soy sauce’, ‘pour into baking dish ‘, ‘sprinkle remaining cheese over top’, ‘bake for 25 minutes or until cheese is lightly browned’, ‘sprinkle with rest of french fried onions and bake until onions are browned and cheese is bubbly ‘, ‘about 10 more minutes’] since there are already 411 recipes for broccoli casserole posted to “zaar” ,i decided to call this one #412 broccoli casserole.i don’t think there are any like this one in the database. i based this one on the famous “green bean casserole” from campbell’s soup. but i think mine is better since i don’t like cream of mushroom soup.submitted to “zaar” on may 28th,2008 [‘frozen broccoli cuts’, ‘cream of chicken soup’, ‘sharp cheddar cheese’, ‘garlic powder’, ‘ground black pepper’, ‘salt’, ‘milk’, ‘soy sauce’, ‘french-fried onions’] 9 29782 2008-12-31 00:00:00 5 This was one of the best broccoli casseroles that I have ever made. I made my own chicken soup for this recipe. I was a bit worried about the tsp of soy sauce but it gave the casserole the best flavor. YUM! 5 194.8 20 6 32 22 36 3
                            The photos you took (shapeweaver) inspired me to make this recipe and it actually does look just like them when it comes out of the oven.                
                            Thanks so much for sharing your recipe shapeweaver. It was wonderful! Going into my family’s favorite Zaar cookbook :)                
412 broccoli casserole 306168 40 50969 2008-05-30 00:00:00 [‘60-minutes-or-less’, ‘time-to-make’, ‘course’, ‘main-ingredient’, ‘preparation’, ‘side-dishes’, ‘vegetables’, ‘easy’, ‘beginner-cook’, ‘broccoli’] 6 [‘preheat oven to 350 degrees’, ‘spray a 2 quart baking dish with cooking spray ‘, ‘set aside’, ‘in a large bowl mix together broccoli ‘, ‘soup ‘, ‘one cup of cheese ‘, ‘garlic powder ‘, ‘pepper ‘, ‘salt ‘, ‘milk ‘, ‘1 cup of french onions ‘, ‘and soy sauce’, ‘pour into baking dish ‘, ‘sprinkle remaining cheese over top’, ‘bake for 25 minutes or until cheese is lightly browned’, ‘sprinkle with rest of french fried onions and bake until onions are browned and cheese is bubbly ‘, ‘about 10 more minutes’] since there are already 411 recipes for broccoli casserole posted to “zaar” ,i decided to call this one #412 broccoli casserole.i don’t think there are any like this one in the database. i based this one on the famous “green bean casserole” from campbell’s soup. but i think mine is better since i don’t like cream of mushroom soup.submitted to “zaar” on may 28th,2008 [‘frozen broccoli cuts’, ‘cream of chicken soup’, ‘sharp cheddar cheese’, ‘garlic powder’, ‘ground black pepper’, ‘salt’, ‘milk’, ‘soy sauce’, ‘french-fried onions’] 9 1.19628e+06 2009-04-13 00:00:00 5 I made this for my son’s first birthday party this weekend. Our guests INHALED it! Everyone kept saying how delicious it was. I was I could have gotten to try it. 5 194.8 20 6 32 22 36 3
412 broccoli casserole 306168 40 50969 2008-05-30 00:00:00 [‘60-minutes-or-less’, ‘time-to-make’, ‘course’, ‘main-ingredient’, ‘preparation’, ‘side-dishes’, ‘vegetables’, ‘easy’, ‘beginner-cook’, ‘broccoli’] 6 [‘preheat oven to 350 degrees’, ‘spray a 2 quart baking dish with cooking spray ‘, ‘set aside’, ‘in a large bowl mix together broccoli ‘, ‘soup ‘, ‘one cup of cheese ‘, ‘garlic powder ‘, ‘pepper ‘, ‘salt ‘, ‘milk ‘, ‘1 cup of french onions ‘, ‘and soy sauce’, ‘pour into baking dish ‘, ‘sprinkle remaining cheese over top’, ‘bake for 25 minutes or until cheese is lightly browned’, ‘sprinkle with rest of french fried onions and bake until onions are browned and cheese is bubbly ‘, ‘about 10 more minutes’] since there are already 411 recipes for broccoli casserole posted to “zaar” ,i decided to call this one #412 broccoli casserole.i don’t think there are any like this one in the database. i based this one on the famous “green bean casserole” from campbell’s soup. but i think mine is better since i don’t like cream of mushroom soup.submitted to “zaar” on may 28th,2008 [‘frozen broccoli cuts’, ‘cream of chicken soup’, ‘sharp cheddar cheese’, ‘garlic powder’, ‘ground black pepper’, ‘salt’, ‘milk’, ‘soy sauce’, ‘french-fried onions’] 9 768828 2013-08-02 00:00:00 5 Loved this. Be sure to completely thaw the broccoli. I didn't and it didn't get done in time specified. Just cooked it a little longer though and it was perfect. Thanks Chef. 5 194.8 20 6 32 22 36 3

For our hypothesis test, we used the fully combined DataFrame, with all of the tags alongside a recipe’s rating and nutritional information:

name id minutes contributor_id submitted tags n_steps steps description ingredients n_ingredients user_id date rating review avg_rating calories total_fat sugar sodium protein saturated_fat carbohydrates 60-minutes-or-less time-to-make course main-ingredient preparation for-large-groups desserts lunch snacks cookies-and-brownies chocolate bar-cookies brownies number-of-servings cuisine north-american canadian british-columbian side-dishes vegetables easy beginner-cook broccoli occasion american southern-united-states dinner-party holiday-event cakes dietary christmas thanksgiving low-sodium low-in-something taste-mood sweet 4-hours-or-less main-dish potatoes meatloaf simply-potatoes2 weeknight 30-minutes-or-less beef diabetic kid-friendly stove-top comfort-food inexpensive ground-beef meat greens lettuces tomatoes equipment 3-steps-or-less soups-stews beans pork mexican stews crock-pot-slow-cooker spicy lentils presentation served-hot danish pancakes-and-waffles breakfast scandinavian european eggs-dairy pasta cheese pasta-rice-and-grains swiss elbow-macaroni 5-ingredients-or-less midwestern free-of-something savory swedish low-protein very-low-carbs french low-cholesterol low-saturated-fat low-calorie low-carb healthy-2 spinach copycat from-scratch 15-minutes-or-less sauces condiments-etc healthy low-fat for-1-or-2 granola-and-porridge vegan vegetarian gumbo seafood african cajun heirloom-historical shrimp creole oamc-freezer-make-ahead shellfish savory-pies salads bacon italian one-dish-meal toddler-friendly leftovers simply-potatoes beverages fruit no-cook smoothies food-processor-blender gluten-free berries strawberries tropical-fruit mango brunch small-appliance technique lactose fall winter seasonal asian marinades-and-rubs apples bananas oven served-cold rice spring summer salad-dressings kosher romantic long-grain-rice steak novelty breads cheesecake greek cocktails citrus oranges bisques-cream-soups crab northeastern-united-states poultry turkey appetizers dips stuffings-dressings 1-day-or-more celebrity english high-calcium high-in-something peppers refrigerator shakes picnic to-go grains ham casseroles squash sandwiches burgers cooking-mixes savory-sauces biscotti peanut-butter fish baja grilling gelatin halloween chicken chicken-thighs-legs quebec lasagna soy-tofu egg-free black-beans mushrooms herb-and-spice-mixes high-fiber high-protein eggs onions infant-baby-friendly potluck zucchini frozen-desserts puddings-and-mousses rolls-biscuits curries valentines-day gifts chick-peas-garbanzos muffins quick-breads cobblers-and-crisps lamb-sheep drop-cookies pies-and-tarts pies turkey-burgers carrots finger-food chili superbowl yams-sweet-potatoes cinco-de-mayo native-american pitted-fruit peaches spaghetti artichoke chicken-breasts cupcakes japanese south-west-pacific australian yeast pacific-northwest hand-formed-cookies spanish pork-chops steaks barbecue tuna saltwater-fish deep-fry scones mixer middle-eastern ramadan clear-soups oaxacan south-american lime indian broil green-yellow-beans melons papaya pineapple german nuts iraqi saudi-arabian thai sourdough baking pakistani chinese white-rice spreads somalian non-alcoholic ontario camping omelets-and-frittatas roast microwave asparagus pork-sausage whole-chicken blueberries independence-day cauliflower memorial-day ravioli-tortellini southwestern-united-states tex-mex candy south-african easter hanukkah passover wild-game deer new-zealand crusts-pastry-dough-2 corn bread-machine flat-shapes rolled-cookies pizza pasta-shells cake-fillings-and-frostings pressure-cooker canning stir-fry pennsylvania-dutch chowders beef-sausage lemon ice-cream freezer sweet-sauces coconut whole-turkey pheasant punch wedding grapes russian salsas water-bath tarts roast-beef chinese-new-year chicken-livers californian penne micro-melanesia fudge   birthday nut-free fillings-and-frostings-chocolate beef-ribs pork-ribs cherries salmon brown-rice freshwater-fish tilapia jams-and-preserves brown-bag colombian caribbean central-american wings kiwifruit breakfast-eggs eggs-breakfast turkey-breasts stocks scottish welsh raspberries irish st-patricks-day cuban smoker pork-loins finnish coffee-cakes a1-sauce avocado moroccan labor-day jewish-sephardi iranian-persian belgian costa-rican garnishes new-years super-bowl dutch pumpkin cod sole-and-flounder turkish polish mardi-gras-carnival puerto-rican filipino georgian brazilian nigerian fathers-day chutneys collard-greens ecuadorean steam mussels peruvian clams lebanese meatballs egyptian argentine portuguese chilean hidden-valley-ranch dehydrator pears oatmeal reynolds-wrap dairy-free veal duck hawaiian eggplant perch scallops icelandic veggie-burgers mothers-day jewish-ashkenazi mashed-potatoes chocolate-chip-cookies vietnamese czech elk amish-mennonite chard rabbit main-dish-beef beef-crock-pot pot-roast szechuan halibut oysters bok-choys halloween-cocktails short-grain-rice hungarian rosh-hashanah libyan austrian april-fools-day palestinian malaysian medium-grain-rice angolan guatemalan korean plums manicotti norwegian indonesian lobster whole-duck honduran halloween-cakes ethiopian soul ragu-recipe-contest macaroni-and-cheese no-shell-fish mahi-mahi irish-st-patricks-day jellies cantonese polynesian pickeral tempeh main-dish-chicken catfish cambodian brewing bass bear beef-organ-meats beef-liver beef-sauces spaghetti-sauce moose beijing college hunan heirloom-historical-recipes nepalese pot-pie kwanzaa unprocessed-freezer congolese rosh-hashana main-dish-pork pork-loins-roast quiche trout sugar-cookies orange-roughy sudanese crawfish squid pressure-canning side-dishes-beans beans-side-dishes baked-beans snacks-kid-friendly snacks-sweet halloween-cupcakes main-dish-pasta pasta-salad venezuelan pasta-elbow-macaroni namibian dips-lunch-snacks duck-breasts whitefish mushroom-soup beef-barley-soup pork-crock-pot crock-pot-main-dish desserts-fruit desserts-easy goose lasagne laotian cabbage prepared-potatoes middle-eastern-main-dish high-in-something-diabetic-friendly black-bean-soup bean-soup served-hot-new-years ham-and-bean-soup lamb-sheep-main-dish mongolian for-large-groups-holiday-event stews-poultry octopus pork-loin cranberry-sauce marinara-sauce breakfast-casseroles breakfast-potatoes main-dish-seafood shrimp-main-dish pumpkin-bread bread-pudding less_thansql:name_topics_of_recipegreater_than chicken-crock-pot chicken-stews chicken-stew Throw the ultimate fiesta with this sopaipillas recipe from Food.com. beef-kidney roast-beef-main-dish roast-beef-comfort-food
1 brownies in the world best ever 333281 40 985201 2008-10-27 00:00:00 [‘60-minutes-or-less’, ‘time-to-make’, ‘course’, ‘main-ingredient’, ‘preparation’, ‘for-large-groups’, ‘desserts’, ‘lunch’, ‘snacks’, ‘cookies-and-brownies’, ‘chocolate’, ‘bar-cookies’, ‘brownies’, ‘number-of-servings’] 10 [‘heat the oven to 350f and arrange the rack in the middle’, ‘line an 8-by-8-inch glass baking dish with aluminum foil’, ‘combine chocolate and butter in a medium saucepan and cook over medium-low heat ‘, ‘stirring frequently ‘, ‘until evenly melted’, ‘remove from heat and let cool to room temperature’, ‘combine eggs ‘, ‘sugar ‘, ‘cocoa powder ‘, ‘vanilla extract ‘, ‘espresso ‘, ‘and salt in a large bowl and briefly stir until just evenly incorporated’, ‘add cooled chocolate and mix until uniform in color’, ‘add flour and stir until just incorporated’, ‘transfer batter to the prepared baking dish’, ‘bake until a tester inserted in the center of the brownies comes out clean ‘, ‘about 25 to 30 minutes’, ‘remove from the oven and cool completely before cutting’] these are the most; chocolatey, moist, rich, dense, fudgy, delicious brownies that you’ll ever make…..sereiously! there’s no doubt that these will be your fav brownies ever for you can add things to them or make them plain…..either way they’re pure heaven! [‘bittersweet chocolate’, ‘unsalted butter’, ‘eggs’, ‘granulated sugar’, ‘unsweetened cocoa powder’, ‘vanilla extract’, ‘brewed espresso’, ‘kosher salt’, ‘all-purpose flour’] 9 386585 2008-11-19 00:00:00 4 These were pretty good, but took forever to bake. I would send it ended up being almost an hour! Even then, the brownies stuck to the foil, and were on the overly moist side and not easy to cut. They did taste quite rich, though! Made for My 3 Chefs. 4 138.4 10 50 3 3 19 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 in canada chocolate chip cookies 453467 45 1848091 2011-04-11 00:00:00 [‘60-minutes-or-less’, ‘time-to-make’, ‘cuisine’, ‘preparation’, ‘north-american’, ‘for-large-groups’, ‘canadian’, ‘british-columbian’, ‘number-of-servings’] 12 [‘pre-heat oven the 350 degrees f’, ‘in a mixing bowl ‘, ‘sift together the flours and baking powder’, ‘set aside’, ‘in another mixing bowl ‘, ‘blend together the sugars ‘, ‘margarine ‘, ‘and salt until light and fluffy’, ‘add the eggs ‘, ‘water ‘, ‘and vanilla to the margarine / sugar mixture and mix together until well combined’, ‘add in the flour mixture to the wet ingredients and blend until combined’, ‘scrape down the sides of the bowl and add the chocolate chips’, ‘mix until combined’, ‘scrape down the sides to the bowl again’, ‘using an ice cream scoop ‘, ‘scoop evenly rounded balls of dough and place of cookie sheet about 1 - 2 inches apart to allow for spreading during baking’, ‘bake for 10 - 15 minutes or until golden brown on the outside and soft & chewy in the center’, ‘serve hot and enjoy !’] this is the recipe that we use at my school cafeteria for chocolate chip cookies. they must be the best chocolate chip cookies i have ever had! if you don’t have margarine or don’t like it, then just use butter (softened) instead. [‘white sugar’, ‘brown sugar’, ‘salt’, ‘margarine’, ‘eggs’, ‘vanilla’, ‘water’, ‘all-purpose flour’, ‘whole wheat flour’, ‘baking soda’, ‘chocolate chips’] 11 424680 2012-01-26 00:00:00 5 Originally I was gonna cut the recipe in half (just the 2 of us here), but then we had a park-wide yard sale, & I made the whole batch & used them as enticements for potential buyers ~ what the hey, a free cookie as delicious as these are, definitely works its magic! Will be making these again, for sure! Thanks for posting the recipe! 5 595.1 46 211 22 13 51 26 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
412 broccoli casserole 306168 40 50969 2008-05-30 00:00:00 [‘60-minutes-or-less’, ‘time-to-make’, ‘course’, ‘main-ingredient’, ‘preparation’, ‘side-dishes’, ‘vegetables’, ‘easy’, ‘beginner-cook’, ‘broccoli’] 6 [‘preheat oven to 350 degrees’, ‘spray a 2 quart baking dish with cooking spray ‘, ‘set aside’, ‘in a large bowl mix together broccoli ‘, ‘soup ‘, ‘one cup of cheese ‘, ‘garlic powder ‘, ‘pepper ‘, ‘salt ‘, ‘milk ‘, ‘1 cup of french onions ‘, ‘and soy sauce’, ‘pour into baking dish ‘, ‘sprinkle remaining cheese over top’, ‘bake for 25 minutes or until cheese is lightly browned’, ‘sprinkle with rest of french fried onions and bake until onions are browned and cheese is bubbly ‘, ‘about 10 more minutes’] since there are already 411 recipes for broccoli casserole posted to “zaar” ,i decided to call this one #412 broccoli casserole.i don’t think there are any like this one in the database. i based this one on the famous “green bean casserole” from campbell’s soup. but i think mine is better since i don’t like cream of mushroom soup.submitted to “zaar” on may 28th,2008 [‘frozen broccoli cuts’, ‘cream of chicken soup’, ‘sharp cheddar cheese’, ‘garlic powder’, ‘ground black pepper’, ‘salt’, ‘milk’, ‘soy sauce’, ‘french-fried onions’] 9 29782 2008-12-31 00:00:00 5 This was one of the best broccoli casseroles that I have ever made. I made my own chicken soup for this recipe. I was a bit worried about the tsp of soy sauce but it gave the casserole the best flavor. YUM! 5 194.8 20 6 32 22 36 3 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                            The photos you took (shapeweaver) inspired me to make this recipe and it actually does look just like them when it comes out of the oven.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
                            Thanks so much for sharing your recipe shapeweaver. It was wonderful! Going into my family’s favorite Zaar cookbook :)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
412 broccoli casserole 306168 40 50969 2008-05-30 00:00:00 [‘60-minutes-or-less’, ‘time-to-make’, ‘course’, ‘main-ingredient’, ‘preparation’, ‘side-dishes’, ‘vegetables’, ‘easy’, ‘beginner-cook’, ‘broccoli’] 6 [‘preheat oven to 350 degrees’, ‘spray a 2 quart baking dish with cooking spray ‘, ‘set aside’, ‘in a large bowl mix together broccoli ‘, ‘soup ‘, ‘one cup of cheese ‘, ‘garlic powder ‘, ‘pepper ‘, ‘salt ‘, ‘milk ‘, ‘1 cup of french onions ‘, ‘and soy sauce’, ‘pour into baking dish ‘, ‘sprinkle remaining cheese over top’, ‘bake for 25 minutes or until cheese is lightly browned’, ‘sprinkle with rest of french fried onions and bake until onions are browned and cheese is bubbly ‘, ‘about 10 more minutes’] since there are already 411 recipes for broccoli casserole posted to “zaar” ,i decided to call this one #412 broccoli casserole.i don’t think there are any like this one in the database. i based this one on the famous “green bean casserole” from campbell’s soup. but i think mine is better since i don’t like cream of mushroom soup.submitted to “zaar” on may 28th,2008 [‘frozen broccoli cuts’, ‘cream of chicken soup’, ‘sharp cheddar cheese’, ‘garlic powder’, ‘ground black pepper’, ‘salt’, ‘milk’, ‘soy sauce’, ‘french-fried onions’] 9 1.19628e+06 2009-04-13 00:00:00 5 I made this for my son’s first birthday party this weekend. Our guests INHALED it! Everyone kept saying how delicious it was. I was I could have gotten to try it. 5 194.8 20 6 32 22 36 3 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
412 broccoli casserole 306168 40 50969 2008-05-30 00:00:00 [‘60-minutes-or-less’, ‘time-to-make’, ‘course’, ‘main-ingredient’, ‘preparation’, ‘side-dishes’, ‘vegetables’, ‘easy’, ‘beginner-cook’, ‘broccoli’] 6 [‘preheat oven to 350 degrees’, ‘spray a 2 quart baking dish with cooking spray ‘, ‘set aside’, ‘in a large bowl mix together broccoli ‘, ‘soup ‘, ‘one cup of cheese ‘, ‘garlic powder ‘, ‘pepper ‘, ‘salt ‘, ‘milk ‘, ‘1 cup of french onions ‘, ‘and soy sauce’, ‘pour into baking dish ‘, ‘sprinkle remaining cheese over top’, ‘bake for 25 minutes or until cheese is lightly browned’, ‘sprinkle with rest of french fried onions and bake until onions are browned and cheese is bubbly ‘, ‘about 10 more minutes’] since there are already 411 recipes for broccoli casserole posted to “zaar” ,i decided to call this one #412 broccoli casserole.i don’t think there are any like this one in the database. i based this one on the famous “green bean casserole” from campbell’s soup. but i think mine is better since i don’t like cream of mushroom soup.submitted to “zaar” on may 28th,2008 [‘frozen broccoli cuts’, ‘cream of chicken soup’, ‘sharp cheddar cheese’, ‘garlic powder’, ‘ground black pepper’, ‘salt’, ‘milk’, ‘soy sauce’, ‘french-fried onions’] 9 768828 2013-08-02 00:00:00 5 Loved this. Be sure to completely thaw the broccoli. I didn't and it didn't get done in time specified. Just cooked it a little longer though and it was perfect. Thanks Chef. 5 194.8 20 6 32 22 36 3 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Univariate Graph EDA

Description and Trends: This is a graph that shows the recipes and their protein count. From the graph, we can quickly see that many recipes (about 43,000) have a protein amount between 0 to 4 PDV(Percent Daily Value) ; the distribution is right-skewed and we see a large decrease in the number of recipes following the initial peak.

Bivariate Graph EDA

Description and Trends: This graph gives us a box plot, or a five summary set, for calories per rating. It tells us the minimum, 1st quartile, median, 3rd quartile, and maximum for calories within each ranking. Based on this graph, we can see that the median and the 1st quartile, or where the first 25% of the calorie values would lie, remains fairly consistent throughout each ranking. As the rating decreases, the 3rd quartile, or the value where 75% and less of the data lies, appears to increase in number of calories. The max calorie count is very variable throughout the rankings.

Aggregate Table

rating 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 37
1 nan 732.766 419.622 394.972 487.563 480.697 437.898 426.47 431.817 504.764 518.621 481.568 471.365 555.204 648.734 601.148 534.337 1383.63 603.558 610.593 948.844 1947.12 851.6 528.9 965.6 nan 1057.9 nan nan 531.2 nan nan nan nan
2 199.5 349.979 329.928 345.579 362.728 406.282 431.593 392.315 407.474 390.436 473.763 446.025 613.924 599.497 646.12 610.905 613.74 1226.8 532.813 597.1 1074.17 nan 149.6 1049.05 965.6 nan 1136.7 nan nan nan nan nan nan nan
3 136.05 292.772 335.446 325.212 332.405 338.827 404.565 385.13 416.227 464.635 447.069 483.974 452.795 502.469 681.038 513.886 640.673 540.492 517.72 859.706 769.953 740.025 681.883 660.8 739.6 456.1 1514 nan nan nan nan nan nan nan
4 758.68 347.403 268.41 295.253 332.652 331.788 382.173 374.346 408.351 430.635 464.698 449.799 451.492 466.983 520.831 564.316 528.639 591.55 534.66 663.231 832.135 791.418 635.236 692.518 780.2 854.564 701.1 597.15 1011.35 554.1 nan nan nan nan
5 1263.21 390.09 276.888 301.288 322.762 353.73 385.01 380.566 414.073 431.29 466.726 463.182 490.16 518.264 545.531 587.254 549.3 609.648 599.235 655.086 756.979 680.999 671.108 576.93 766.322 847.61 1475.78 689.778 894.596 697.996 872.454 864.475 338.2 10687.7

Significance: This pivot table gives us the average calories for each rating group and the number of ingredients used. This pivot table was created to see if there was any relation between recipes’ number of ingredients and ranking to its average calorie count. Based on the rankings and number of ingredients, we can see that there appears to be an increase in average calories as the number of ingredients increases for each ranking.

Assessment of Missingness

NMAR ANALYSIS:

What is NMAR?

NMAR or Not Missing at Random is a type of missingness mechanism that tells us that the data is missing due to values within itself, and not dependent on any other data in the dataset.

We believe that the 114 missing values in the description column of our dataset is Not Missing At Random (NMAR). We believe this because the description of a recipe does not really have any relation with other columns like recipe_id, recipe_name, or n_steps. In addition, the description may be missing depending on the actual description itself. For example, if the description would have been extremely short, since the recipe is self-explanatory or very widely known, users may have decided to exclude the description. If the user was lazy, and wanted to only write the bare minimum, they may have also decided to exclude a description. Because of the description column’s (logical) independence from the other columns in our DataFrame, and how the values of description itself may influence the missingness of the description column, we decided to categorize the description column as NMAR.

However, if we had other data that could explain the missingness of the description column, it could be then classified as MAR, or Missing at Random. Some data that might explain why the description column is perhaps how well-known the recipe, how simple the recipe is, and how complicated it would be to describe the recipe.

MAR Permutation Tests

Another column that had missing values would be the review column. This column seems to contain a core purpose of using food.com (sharing opinions about a recipe), and we decided that this column may be MAR. Missing at Random (MAR) is a missingness mechanism where the missingness may be dependent on another column in the DataFrame. We used permutation tests to see which columns rating may have depended on.

For our first permutation test, we decided to test whether the distribution of column rating when review is missing differs from the distribution of column rating when column review is not missing. This is because we reasoned that mediocre or higher ratings may have more missing reviews, since the rating itself was enough to account for their opinion. We used Total Variation Distance (TVD) as our test statistic, as we were dealing with two categorical variables.

Empirical Distribution of TVD’s

Our observed test statistic was about 0.02594. We got a p-value of 0.822. What this means in terms of our question is that we would fail to reject the null hypothesis. Our null hypothesis is that the distribution of rating when review is missing is the same as the distribution of rating when review is not missing. Since we got a p-value that was higher than 0.05, which was our threshold, we decided to fail to reject the null. This means that the missingness of reviews is not dependent on ratings.

Difference in Group Means

For our second permutation test, we decided to look at how the distribution of column calories when review is missing differs from the distribution of column calories when column reviews is not missing. Our null hypothesis is that the distribution of review when calories is missing is the same as the distribution of review when calories is not missing. We decided to use the difference in group means (distribution when review was missing - when review was not missing) as our test statistic, since calories is a quantitative variable. Here is a graph of our empirical distribution of group means:

Our observed test statistic was about 319.26908. We got a p-value of about 0.002, which was smaller than our significance level of 0.05. Since we got a p-value that was lower than 0.05, we decided to reject the null. This means that the missingness of reviews is dependent on the number of calories for that recipe.

Hypothesis Testing

Our question was: do dessert recipes tend to have more calories than other recipes?

Null Hypothesis: The recipes with the dessert tags have the same amount of calories as the recipes with other tags.

Alternative Hypothesis: The recipes with the dessert tags have higher amounts of calories than the recipes with other tags.

Test statistic: Signed Difference of Means (between dessert recipes and overall recipes). We chose to use this test statistic because our alternative hypothesis is directional, and we were dealing with quantitative variables (number of calories).

Observed Test Stat: 86.71038102803391

Significance Level: 0.05

P-Value: 0.493 A p-value is the likelihood of a sample drawn from the population having a test statistic that is more extreme than our observed value. Here, it seems our observed difference is not very large or unique, as under the null hypothesis.

Conclusion We fail to reject the null hypothesis because our p-value of 0.493 is not significant–it is greater than our alpha value of 0.05. From our data, it appears that the recipes with the dessert tags do not have significantly more mean calories as the recipes with other tags.