Yelp Machine Learning Web Application
Role: Developer
Team: Solo
Timeline: April 2020 - June 2020
Technologies: Flask, React, Scikit-learn, Docker, Flask-RESTPLUS, Pandas, Numpy, Bootstrap
About:
Yelpify is a machine learning web application built with a react frontend and a flask backend. I made use of a
linear regression model to accurately predict a restaurant's "yelp rating" based off of user input including
review count, average review length, and average review age. After completing the application, I dockerized
the application by creating two Dockerfiles to create images for the frontend and backend, which would then
be served using Docker Compose. More can be found out here, https://github.com/JonathanWong592/ML-Docker
Tasks:
1) I created a linear regression model to predict Yelp ratings based off of data provided by Codecademy including business, photo,
review, and user data. The model had a score of 83% based off of the features I tested with, which includes review count, average
review length, and average review age. I saved the model to disk using joblib and is able to process input from the user accessing
the frontend, and output a result.
2) I used docker to package my application making it easier for myself and other developers to deploy it
without a problem. I created two docker images, one for the React frontend, and the other for the flask backend.
Both images were simulatenously launched by a docker compose file which hleped streamline the deployment process.
3) The application is built off of an open source react and flask template paving the way for a more explicit implementation of my app.
I was able to clearly visualize the workings of how React and Flask communicated with eachother and send data back and forth with
the use of Flask-RESTPLUS. Knowing this, I modified the template to my liking and personzlied the apperance with a more Yelp app vibe.