Machine Learning Projects

Multilayer Perceptron on MNIST Handwritten Data

The MNIST dataset of handwritten digits is a pretty classic set for experimenting with perceptron learning. This project compares several different hyperparameters for training on the MNIST data, including changing the number of hidden layer units, the momentum term, and the batch size for testing/training. Training uses forward feeding and back propagation algorithm.

mnist_digits mlp_code
mlp_code

Spam Identification using Naive Bayes

In another well-known machine learning application, using a probabilistic model with a Naive Bayesian classifier, you can train a model to identify spam emails. This project was based on the spam dataset from University of California Irvine.

bayes_formula
bayes_code

Unsupervised K-means and Fuzzy C-means clustering

K-means is a popular algorithm for classifying data when no labels are present. This program ran a classifier on random data from a gaussian distribution, clustering the data based on several values of k, from 2-8.

kcluster
k-means_code

NBA Player Success Predictions

For this project, a team of four students worked on recreating another research project with the same goal. This project compares Logisitic Regression, SVM, and Random Forest algorithms on NBA player data, with the goal of determining whether or not the player, once drafted, will have a successful career.