July 23rd, 2019
Custom Machine Learning Recipes: The ingredients for successRSS Share Category: AutoML, Data Science, H2O Driverless AI, Machine Learning
By: Parul Pandey
Driverless AI (DAI)
To say that Machine Learning has become indispensable for businesses, would be an understatement. Every company, big or small, has realized the potential of AI applications in driving better customer experiences and increased profits. However, the constant shortage of data scientists is a matter of concern today. Finding technical people who can develop production-ready AI models is not a mean task.
Driverless AI, H2O.ai’s flagship product for automatic machine learning, tries to bridge this gap between supply and demand. With Driverless AI, everyone, including expert and junior data scientists, domain scientists, and data engineers can develop trusted machine learning models and that too, faster.
The goal of DAI is not to replace data scientists but to empower them using automation and state-of-the-art tools. In other words, H2O Driverless AI enables AI to do AI.
Here is an end-to-end demo of H2O Driverless AI. This demo includes Data Visualization, an AI experiment, and Machine Learning Interpretability via Surrogate Models. The demo below gives a perfect overview in just over 6 minutes. You can read more about DAI and its capabilities here.
Driverless AI + Your Recipes = A Truly Extensible AI Platform
H2O Driverless AI is being successfully used across many industries ranging from healthcare to financial institutions to telecom and marketing. Its performance can be leveraged even further by incorporating the domain knowledge and intuition of the users.
The latest version (1.7.0) of DAI implements a key feature called BYOR which stands for Bring Your Own Recipes. This feature has been designed to enable Data Scientists or domain experts to customize the DAI as per their business needs.
Recipes are customizations and extensions to the Driverless AI platform. They are nothing but Python code snippets that can be uploaded into Driverless AI at runtime, like plugins. Recipes can be either any one or a combination of the following:
- Custom machine learning models
- Custom scorers (classification or regression)
- Custom transformers
- Custom datasets
Here are some of the examples of the recipes:
For a complete list, visit the associated GitHub repository which has been completely open-sourced: https://github.com/h2oai/driverlessai-recipes
How Driverless AI Recipes Work
During the training of a machine learning pipeline, Driverless AI can use these custom recipes as building blocks, either independently or in combination with the built-in code pieces. Recipes only need to be added once. After a recipe is added to an experiment, that recipe will then be available for all the future experiments. Users can, in a way gain control over the optimization choices that Driverless AI makes to best solve their specific machine learning problems.
Demo using Credit Card Dataset
All one needs to create a recipe is a text editor. Simply, create a
.py file and punch in the source code. Users can either use one of their own recipes or the ones provided by H2O. H2O has built and open-sourced more than 80 recipes which can be used as templates. The screenshot below gives a preview of the various types of recipes currently in the offering.
Let’s use the famous Credit Card data from Kaggle to demonstrate how to include a recipe into an experiment. The data belongs to a Taiwanese bank and the goal is to predict who will default on the credit card payment.
- Clone the repository containing the recipes(https://github.com/h2oai/driverlessai-recipes)and make modifications to existing recipes, if needed.
- Start a Driverless AI instance. Upload the data and select
defaultas the target column. Keep all the other parameters as default.
- Next, go to the expert settings and upload a recipe from the cloned repository. Suppose we want a new transformer for numeric data. We shall navigate to the
driverlessai-recipes > transformers > numericand select the
round_transformer.pyfile. This recipe rounds numbers to 1, 2 or 3 decimal places. Click
saveto save the settings.
- Launch the experiment using the above custom recipe. If everything goes well,
my_roundtransformer should show up on the screen.
- We can also select specific transformers in the expert settings. Let’s select only
my_roundtransformer and get rid of everything else.
This is it. Uploading a recipe is as simple as uploading a dataset, but the advantages are manifold.
Advantages of BYOR
Creating custom recipes can be advantageous to organizations in several ways:
- BYOR enables flexibility, extensibility, and customization of the DAI platform. As a result, the focus can be more on solving domain-specific problems.
- The recipes provided by H2O are built by the data science community, curated by the Kaggle Grand Masters themselves.
- The custom recipes are treated as first-class citizens and are extremely easy to upload to the workflow.
The screenshot below shows how the inclusion of a custom recipe reduced the Logloss component in case of sentiment analysis, from 0.6 to 0.48, which, when translated to a business domain can have immense value.
- Custom Machine Learning Tutorial
- Webinar: Extending the H2O Driverless AI Platform with Your Recipes
- Take the Driverless AI test drive
- Go to the Driverless AI community Slack channel and ask your BYOR related questions in #general