My internship experience at Voyance

Blessing Mikairu
voyanceHQ
Published in
4 min readJul 30, 2020
Data science at Voyance

In October 2019, I successfully completed my Udacity Data Science nanodegree facilitated by a scholarship I got from the African App Launchpad initiative. For my capstone, I built two projects using SQL and Python, respectively. A few months down the line, I was stuck in tutorial hell. In addition, I barely used any of these at my day job as I mostly worked out of Google Sheets for my data needs. I could feel the knowledge slipping out of my grasp.

I thought about how best to get real-world experience. Voyance had launched in December 2019, and Abdul would regularly post Medium articles focused on the product. So, I thought, where best to learn data science than at a data science company? I reached out to Abdul, asking for the opportunity to intern at Voyance. After some back and forth with Abdul and Ebot, I started my internship on the 6th of April.

I am a huge LeBron fan if that isn’t obvious. Also, Lakers in six.

Structure

The internship required a roughly 20-hour commitment every week. As I am an insomniac, most days I worked during the early hours. Ebot designed a curriculum that covered supervised and unsupervised learning. The premise was simple: learn a particular machine learning algorithm and build a simple project with it. Rinse and repeat.

Weird Lessons

This experience featured one of the steepest learning curves I have experienced. This is saying a lot as I am a self-taught career generalist who studied Law and has always worked in tech. It was not the couple of lines of code required to run each of the algorithms that was the problem. It was the maths.

Argg so much maths everywhere!

At the beginning, I struggled. I was frustrated with my pace. Frustrated at how complex articles tagged “Machine Learning for Dummies” were. Ebot was super supportive and after a while, I learned to be not so hard on myself.

An important lesson I also learnt was that it is possible to go too far down a rabbit hole. I realised, and this is rather counter-intuitive, that if I spent over 4 hours trying to figure out why a single line of code was not working (believe me, I did that on multiple occasions), the actual solution was not in adding successive lines of code to fix the first problem. Instead, the solution was in deleting that line, closing my Jupyter notebook, and coming back to it after I have slept. I would often find that all I had to do was to write that line again and the problem would be something ridiculously simple (e.g. switching from \ to /).

What did I build?

I built projects using various machine learning algorithms including logistic regression, random forest, and k-means clustering. I built them mostly using Python and data science libraries including sklearn, matplotlib, dumpy, pandas, graphviz, hyperopt, and pickle.

One of the projects I worked on was classifying mall customers based on their income and spending level. On this project, I learnt how to solve an unsupervised learning problem using clustering, specifically, k-means. For this, I used numpy, pandas, matplotlib and sklearn.

Visualisation of elbow method to find the optimal number of clusters

The most important lesson learnt building this project was tying findings to business goals. Ultimately, predictions do not live in a vacuum. You are running the model for a reason. In the instant case, a business owner would set his marketing targets on people who earned high and spent high (green).

The logistic regression project was on the classic titanic dataset. Essentially, predictions of survival were made based on various parameters such as age, sex, passenger class etc. It was interesting for various reasons: it was my first machine learning model; it required me to walk though a data pipeline from loading the data, to cleaning it up, training the model, optimising it, and then saving it. It was also my first experience using hyperopt for hyperparameter optimisation which as I have learnt outperforms other methods of model tuning. I may have invented colourful invectives in the process.

What is next?

I am incredibly grateful to Abdul and Ebot for the experience. I had no idea how everything would pan out when I sent that Facebook message. As it turned out, I could not have gotten a more supportive mentor than Ebot. While I am not quitting my day job as a PM soon, I will continue to learn and build stuff.

--

--

Blessing Mikairu
voyanceHQ

Working at the nexus of Data, Product, and Ops. Will work for a second citizenship, dodo, ice cream, and dollars.