Zero to Hero: Machine Learning Competition
By: Akshay Kachroo
Tags: Hackathons, Machine Learning, Ensemble, Data Science, Kaggle

Okay Google.. How to solve a Hackathon?

Okay Google.. Tricks to solve machine learning challenges with high accuracy..

If you feel any such urge to google up every time you get into a new Data science competition then this is the right article for you.

Just try to bear with me till the end and I can guarantee you that from next time on wards you will never feel unfamiliar or uncomfortable with any kind of machine learning challenge.

Well.. everything sounds good. Now let’s get started.

Today we are going to go through an actual Machine Learning challenge which was released in November 2019 by MachineHack. The name of the challenge is “PREDICTING FOOD DELIVERY TIME” and it was organized by IMS Pro School.

The reason I am taking this hackathon as a reference example is because when I went through this challenge I observed it to be an average level challenge with less dimensions, high interpret ability and supervised data form. Got confused? Don’t worry the journey ahead is all constructed in such a way that any beginner can take benefits from it.

First of all, let’s import the training data(csv file) that we have got online.

Now, before pre-processing and applying all the fancy techniques over the data set, what everyone needs to do is WAIT.. OBSERVE.. UNDERSTAND.. And even if you think you understood the data set, then also wait and relax and observe one more time.

Actually this is something you will hardly find told over any online/offline platform but observing and understanding the domain is the most important step that every ML engineer or Data scientist should go through. In real world projects, at times a domain expert comes into play for better insights.

After getting well versed with the domain, now let’s make some observations.

Here comes a task for you. Don’t scroll or read further and make your own set of observations from the data set and write it down somewhere. Later see mine and evaluate yourself. If you have any unique observation please mention it in the comment section as I would love to see it.

Let me categorize my understandings in different levels so that you can get the better idea:

Beginner : Remove the prefix “?” from Average_Cost and Minimum_order. Remove the suffix “minutes” from Delivery_Time. Extraction of city name from the complete address as other wise it will over-train our data model.

Intermediate : Removal of commas from Cuisine and then removing spaces in between cuisine name with multiple words(e.g. Convert Fast Food to either FastFood or Fast_Food). Idea behind this is that later while converting our data dimensions into vector form, we will be converting each unique cuisine name as a different dimension/column.

Looking out for all the unique values of each dimension to get the better understanding.

Advanced : Removal of Restaurant column as it of no use to us for prediction and it will only over-train our data model.

Looking for all the missing values in the data set and then filling it up through Imputation techniques and if there is any string value in column with integer values then fixing it accordingly(e.g. converting 1,200 into 1200).

Well done, you have done the most tedious and dirty part of building a model.

Now let’s have a look at our data set again but this time graphically.