Yelp Rating Classifier

For this project, I gathered over 10,000 written reviews of restaurants from Yelp's Fusion API, and created numeric features by stemming and tokenizing each review. Next I trained multiple predictive models, including Random Forest, Support Vector Classifier, and Ordinal Regression to predict the 5 star rating of a review, given its text. This is an extended version of sentiment analysis: rather than simply positive or negative sentiment, my model would predict a range from 1 to 5.

Check out my report!


Language Similarity

For this project, I calculated the similarities between multiple text files, with the goal of inferring a language type from an unknown text file. Given some set of training languages, I created vectors of bigram frequencies, and used cosine similarity to compare them to unknown language files.


DNDice Roller

For this project, I tried to kill two birds with one stone: familiarize myself with R Shiny apps, and make something that would help me while playing DND. This simple application will calculate the probability distribution for different dice rolls, and plot them as a bar chart. It makes it very easy to see how your likely outcomes change based on how many dice you roll, and your modifier.


Maze Game

For this paired programming project, we generated a random maze by creating a minimum spanning tree with Kruskal's Algorithm. Then, we procedurally solved it using either Breadth first or Depth first search. The results can be seen below: the green path animates the algorithms searching process, the black path is the final solution.


Depth First Search

Breadth First Search