$0.53

If you don’t read the second paragraph below, I would be curious to hear your initial thoughts on what $0.53 in the title is all about. Feel free to write them down in the comments section.

Technology news: “Machine Learning”. Business News (Forbes, Wall Street Journal, etc.): “Machine Learning”. LinkedIn, Twitter: “Machine Learning”.

In last six months or so, I literally could not visit any of the outlets above without seeing “Machine Learning” mentioned in one way or another.

So, I decided to go little deeper and check what “Machine Learning” (let’s refer to it as ML) is all about.

According to Wikipedia, “Machine learning is the subfield of computer science that “gives computers the ability to learn without being explicitly programmed”. Evolved from the study of pattern recognition and computational learning theory in artificial intelligence, machine learning explores the study and construction of algorithms that can learn from and make predictions on data — such algorithms overcome following strictly static program instructions by making data driven predictions or decisions, through building a model from sample inputs. Machine learning is employed in a range of computing tasks where designing and programming explicit algorithms is unfeasible; example applications include spam filtering, detection of network intruders or malicious insiders working towards a data breach, optical character recognition (OCR), search engines and computer vision.”

Just by reading the definition itself, one can easily see that fully understanding ML requires a bit of background knowledge, ranging from computer science, to mathematics and statistics.

Don’t get discouraged though. In the cloud computing era that we live in today, many players are doing a pretty good job to hide the complex aspect of Machine Learning. Amazon Web Services (AWS)Microsoft AzureIBM Watson Machine Learning, and Google Cloud Platform offer managed, Pay-As-You-Go, Machine Learning services that offer for anyone to build and train machine learning models and create desired predictions out of the data.

I was using the AWS platform while exploring the amazing world of Machine Learning. When I get a bit of spare time, hope to explore the ML services offered by Microsoft, Google, and IBM Cloud platforms too.

Going through AWS ML Getting started and FAQs pages were sufficient to get me started. AWS ML service is nicely documented (as is the case with other AWS services).

How did I apply Machine Learning?

I build a ML model (following the AWS Machine Learning tutorial) that is looking to identify potential customers for a targeted marketing campaign.

Rather than sending marketing e-mails to hundred thousand of customers, I created the ML model that would identify customers that are more likely to buy a newly released banking product with sample datasets that are publicly available from the University of California at Irvine (UCI) Machine Learning Repository (sample banking and marketing customer data).

Since I will be talking a bit about ML models, let’s define it first. ML model is a collection of patterns that machine learning algorithms find in your data during dataset evaluation and training phase.

Here is the 7-step recipe that needs to be followed when creating the ML application:

  1. Think about what business problem you are trying to solve by building the ML application and what answer you want your ML model to predict.
  2. Collect and Prepare Data (here I mean, a lot of data that has been cleaned up) — Predictive power of your ML model will depend on how good is your data.
  3. Check your data (AWS provides nice tools for data checking).
  4. Create a training datasource — AWS ML uses this datasource to train and evaluate your ML model.
  5. Create an ML Model (very important step since an ML model identifies patters and generate predictions.
  6. Review model’s predictive performance and set a score threshold.
  7. Use the model to generate predictions.

My ML model predicted that 120 customers (out of ~4,500 in the sample dataset) are very likely to purchase the new product. Any customers with a value of “1” are identified by machine learning algorithms are the ones I can specifically target during various marketing efforts during product launch.

Few additional tweaks took place during Step#6 above (evaluating model accuracy, using the Area Under Curve (AUC) Metric and adjusting the score threshold to be at 0.77 (from default value of 0.5) to guide the learning model on how are target values “0” and “1” assigned. Specifics on this are probably beyond this post that cover the ML basics.

So, why “$0.53” title? That is how much I paid to explore this amazing technology with the AWS invoice as follows:

Very inexpensive for a very powerful concept, if you ask me.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s