This page is a collection of some of the projects I've worked on. This list is headlined by STL NMF, my AI and mathematics research project, but I have also attached several supplementary projects that I completed throughout college for classes and personal interest.

If nothing else, please check out STL NMF!

STL NMF

STL NMF

STL NMF is the culmination of my research in Non-negative Matrix Factorization (NMF) and its application to the analysis of Spatial Transriptomics data. This research took place at Case Western Reserve University under the guidance of Dr. Weihong Guo and the endless support by fellow researcher Jiasen Zhang.

8 Puzzle

8 Puzzle

8-puzzle is a puzzle game that consists of a 3x3 grid with eight numbered tiles and one empty space. The objective of the game is to rearrange the scrambled tiles by sliding them into the empty space, ultimately achieving an ordered configuration. As part of my Artificial Intelligence coursework at Case Western Reserve University, I implemented two different agents to solve the 8-puzzle: one using the A* search algorithm and the other utilizing local beam search.

Classification

Iris Classification

Iris Classification uses a classic machine learning and statistics dataset, consisting of 150 samples of iris flowers, each with four features: sepal length, sepal width, petal length, and petal width. The dataset is commonly used for classification tasks, where the goal is to predict the species of an iris flower based on its features. The three species in the dataset are Iris setosa, Iris versicolor, and Iris virginica. In this project, I implemented two different classifiers to classify the iris dataset: k-means clustering and a neural network. In this page, I will discuss the implementation of both classifiers and the results of various experiments conducted to evaluate their performance.

Classification

Email Classification

Email classification was a machine learning project that I worked on with classmate/roommate/friend Clay Preusch. The input data for this assignment was a csv of roughly 7,000 rows, each with some subset of 20 class features (many entries could be null). The task was to classify each email as Spam/not Spam, given both labeled and unlabeled data. We have our project on GitHub, along with our full writeup.

Classification

Vessel Classification

Vessel classification was another machine learning project that I worked on with classmate/roommate/friend Clay Preusch. The input data for this assignment was a massive csv, with class features including OBJECT_ID, VID, SEQUENCE_DTTM, LAT, LON, SPEED_OVER_GROUND and COURSE_OVER_GROUND. The task was to classify each entry as one of k boats, given k, or not. We have our project on GitHub, along with our full writeup.