Project Portfolio

Bike Share Optimization

This project makes use of a publicly available Bike Share dataset. Here I walk through the process of cleaning and preparing bike share ride data for the purposes of simulating customer experiences within the network and optimizing bike inventory.

Languages: Python

Topics & Concepts: Queueing Theory, Stochastic Simulation,

Text Classification for NHL Scouting Reports

This project uses a corpus of 1,338 NHL scouting reports which I collected from The Athletic, ESPN, and FCHockey. I demonstrate how to prepare these documents in Python and then construct a Neural Network classifier capable of reading each report and identifying player position with up to 97% accuracy.

Languages: Python

Topics & Concepts: Natural Language Processing, TF-IDF, Neural Networks

Aspect Based Sentiment Analysis (Part I)

Using the Stanford IMDB Dataset, I train three Bidirectional Encoder Representations from Transformers (BERT) models for the purpose of Sentiment classification. I then process a corpus of 1,338 NHL scouting reports from The Athletic, ESPN, and FCHockey into individual sentences and classify each sentence as containing positive or negative sentiment.

Languages: Python

Topics & Concepts: BERT, Sentiment Analysis

Aspect Based Sentiment Analysis (Part II)

In Part II of this project I take an unorthodox approach, using Latent Dirichlet Allocation (LDA) for sentence-level topic modeling. Although this is widely seen as inappropriate for the LDA algorithm in academic circles, I demonstrate some success with my approach and discuss possible improvements. Finally, I combine my sentence-level topic model and my ensemble BERT Sentiment Classifier for the purpose of understanding what is being talked about in each sentence as well as whether it is being discussed in a positive or negative light.

Languages: Python

Topics & Concepts: Aspect Based Sentiment Analysis, Latent Dirichlet Allocation, BERT

Image Classification (Part I)

In this project I construct a highly diverse, very small dataset containing just 400 images of beer labels, split evenly into two classes; those depicting animate entities, such as people and animals, and those depicting inanimate entities, such as landscapes and geometric patterns. Employing transfer learning models such as VGG16 and MobileNet, I then compare classification performance.

Languages: Python

Topics & Concepts: Convolutional Neural Networks, Transfer Learning

Image Classification (Part II)

Continuing the work from the first part of this project, I demonstrate how certain fine tuning techniques can improve results. I also employ data augmentation tactics in order to stretch the value of this very small, very challenging dataset. Finally, I discuss some surprising findings and present my finished model.

Languages: Python

Topics & Concepts: Fine-Tuning, Data Augmentation, Ensemble Models

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

———————————————————————————————————————————————————————————————————————————————————————————————————————————————–