About

As a Civil Engineering graduate (Transportation Engineering specialisation) I had been exposed to the possible benefits of self driving vehicles in transportation corridors. However, something unlikely happened as I became keenly curious about the technology that made them possible. This curiousity drove me to machine learning and over the past few months I've taken a deep dive into the field and decided to turn the source of my curiousity into a career.

I am a Machine Learning Engineer well grounded in building machine learning and deep learning models with Python. I am proficient in the use of Pandas for working with tabular data and Numpy for scientific computing, I am also well versed in the use of Scikit-Learn and PyTorch for building models for structured and unstructured data respectively.

I am skilled at building web scrapers for data collection and curating my own datasets. In addition to this, I am profient at writing Flask web APIs for model deployment, having deployed models on Streamlit cloud and Heroku. I am experinced in version control using Git and containerisation using Docker. In my free time I love to write vanilla code for image processing, machine learning and deep learning concepts then proceed to blog about them.

Resume (360kb)

Projects

Image Recognition

An image classification project where I utilized an image dataset I had personally scraped and curated in building a deep learning model capable of classifying cars as either Sedan, Coupe, SUV or Truck. I used a custom built Convolutional Neural Network architecture and I was able to achieve 95% classification accuracy which rose to 96% upon ensembling.

Libraries/Tools: OpenCV, PyTorch, Numpy, Shap, Flask, Git, Docker, Heroku, Streamlit

Github | Streamlit App | Flask App | Docker Image


Visual Similarity Recommendation

A computer vision project where I built a web app capable of recieving an image via upload, looking through a database of images and returning images most similar to the uploaded image. This web app is powered by a neural network which serves as feature extractor and cosine similarity for computing similarity scores.

Libraries/Tools: OpenCV, PyTorch, Numpy, Shap, Flask, Git, Streamlit

Github | Streamlit App | Article


Customer Churn Classification

A binary classification project where I built and optimized a tree based model capable of predicting if a bank customer is likely to terminate his/her account based on attributes about said customer and their bank account usage. Model explainability is built into the deployed web application for each classification.

Libraries/Tools: Scikit-Learn, Pandas, Numpy, Seaborn, Matplotlib, Shap, Streamlit

Github | Streamlit App


Web Scraping

A data collection project where I built a web scraper which is capable of scraping images with in-built data cleaning features such that it checks for and deletes duplicated as well as non-pertinent instances of images. Using this scraper I built and curated the image dataset which I used for the Image Recognition and Visual Similarity projects.

Libraries/Tools: BeautifulSoup, Requests, OS

Github

Skills

Skills

Regression, Classification, Image Processing, Engineering, Programming, Mathematics, Data Collection.

Technologies

Python, Numpy, Pandas, Scikit-Learn, Pytorch, OpenCV, Flask, Git, GitHub, Docker, BeautifulSoup, Streamlit, Jupyter Notebook, Pycharm, Heroku.

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form