Posts

Detecting Solar Panels In Imagery Using Semantic Segmentation

Image
SUMMARY - This project demonstrates the use of a deep convolutional semantic segmentation neural network (u-net) to detect solar panels on rooftops in high-resolution aerial imagery. The complete workflow from finding imagery to manually building a training dataset to visualizing the model's predictions are all shown in this projects Github repo (links can be found below).

Time Series Analysis With Python

Image
SUMMARY - This project demonstrates the implementation of several machine learning time-series forecasting techniques using Python. The task is to predict hourly tide heights for the next 7 days in the Victoria, BC harbor within the acceptable error tolerance of the NOAA, the publisher of official tide forecasts in the United States. Utilized models include XGBoost, convolutional neural network (CNN), long-short term memory network (LSTM), simple autoregression, and an autoregression type neural network. All five above models produce results within the acceptable tolerance of the NOAA. Tensorflow and Keras were used to design the neural networks.

Identifying Cracks in Concrete Using a Convolutional Neural Network

Image
SUMMARY - In this project, I build a convolutional neural network (CNN) to classify images of concrete as 'cracked' or 'not cracked'. This exciting use case for machine learning can dramatically improve infrastructure inspections and could even be used to spot defects in an assembly line. The project utilizes Python, Tensorflow and Keras to design the network and the final model achieves over 99% accuracy. Although this is a relatively easy problem to solve, it shows just how powerful machine learning can be. In addition to designing a CNN, the project also contains some useful demonstrations of how to deal with image data in python.

Using Machine Learning to Classify Strava Activities

Image
SUMMARY - As smartphones become more powerful, many apps are utilizing trained machine learning models to conduct inference in real time to improve customer experience. This project aims to solve a small annoyance I found with the Strava app by designing a light-weight machine learning model that classifies my Strava activities to their appropriate activity type (run, hike, bike) so I don't have to, and is simple enough that a typical smartphone could run the model in real time, onboard. Several classifiers are trained and tuned including random forest, XGBoost, Support Vector Machine (SVM), logistic regression and multi-layer perceptron. The final model meets the above stated needs with over 95% accuracy and an inference time of 1.6 seconds.

Creating Animated Time Series Charts in Python With Matplotlib

Image
SUMMARY - Time series data and visualizing trends over time are central to successful data-driven decision making. This project demonstrates how to create animated GIF's or MP4's that show how trends change over time.

Building Interactive Web Maps With Python and Folium

Image
SUMMARY - Maps can be a powerful tool when trying to understand the underlying process behind your data. Many trends are nearly indistinguishable in tabular or chart format and pop out immediately when viewed across space. This project uses the Python library Folium to create interactive maps of my Strava data. Preparing data for any sort of geospatial analysis can be challenging and this project demonstrates how to deal with latitudes and longitudes to make meaningful maps.

Visualizing My Strava Data with Python and Tableau

Image
SUMMARY - Tableau has become a popular tool to transform and present data to others. This project demonstrates how to get, clean, engineer and finally visualize my Strava data using Python and Tableau.