This post features two final projects created by recent graduates of our data science bootcamp. Take a look at what's possible in just 12 weeks.
Food and beer. One you need and the other you don't – but if you're anything like me, you sure enjoy them both quite a bit. In this month's edition of the Made at Metis blog series, we're highlighting two recent student projects that look to improve the status quo surrounding food and beer recommendation engines.
Choose A Beer For Me
Photo by Sarah Pflug via burst.shopify.com
Will is a beer connoisseur and superfan, even admitting that he once waited in line for 9 hours for the chance to try a super rare (and worth-the-wait-delicious) brew. It's no wonder he chose to focus his final Metis project on improving beer recommendation engines. In a blog post about the project, he writes about the flaws within currently available recommenders, including the fact that recommendations are often generated from subjective ratings via beer rating apps. These ratings often give a leg up to rarer beers as they're generally given higher ratings. Problem being? You probably can't find that rare beer anywhere near you! So what's that recommendation really worth?
To combat these and other existing flaws, Will used natural language processing to find similarity of language in the ways people describe beers, figuring this would give better results than arbitrary scores or styles. Found at ChooseABeerFor.me, he currently utilizes 700,000 reviews of 20,000 beers.
"I applied tf-idf to each of these reviews to upweight words used for particular beers and to downweight words used for many beers. This accounts for the fact that almost every beer review mentions things like malt or hops, but few mention more descriptive words like citrus or tart," he writes. "Then, I applied latent semantic analysis to reduce my feature space to 500 dimensions. Taking this dataset, I applied cosine similarity between each of the documents to find the five beers with reviews that have the most similar language. This was all put into a Flask app that is currently hosted on AWS."
Read the post in full here to get a ton more detail on the project and to find out about future work. Cheers!
Metis Graduate and Data Analyst, LendUp
You hear about a new recipe recommendation engine, and before you can even ask the question, Phillip gets to it first. "But...aren't there already plenty of recipe generators online?" he writes in a blog post about his final Metis project.
Yes, he admits, before asking a followup question that serves as the base of his entire project: "But who wants to manually input each ingredient one by one?"
He created a recipe recommender for the Snapchat age that allows users to upload a photo featuring all the ingredients they wish to use. As he writes in the post, he wanted the user interaction to be as follows:
- - Lay out all the ingredients (or leftovers!) you want to cook with on a flat surface.
- - Take a single snap through the app.
- - Select a recommended recipe that uses all these ingredients.
In order to get the job done, he used a multi-label image classification model using convolutional neural networks (CNN). Read the full post here for an in-depth look at all the data science ingredients that went into creating this project.
See more projects created by Metis graduates here.