SlideShare a Scribd company logo
1 of 40
Automated
Machine
Learning
(AutoML)
By Hayim Makabee
November 2019
Automated
Machine
Learning
Automated Machine Learning (AutoML)
systems find the right algorithm and
hyperparameters in a data-driven way
without any human intervention.
Auto ML
Benefits
AutoML allows the data scientist
to extend his productivity
without adding more members
to the data science team.
AutoML addresses the skills gap
between the demand for data
science talent and the
availability of this talent.
Olson
Experiment
on Parameter
Tuning
Used 165 classification data sets from a variety of sources
and 13 different classification algorithms from scikit-learn.
Compared classification accuracy using default parameters
for each algorithm to a tuned version of those algorithms.
On average, got 5–10% improvement in classification
accuracy from tuning algorithms from default parameters.
However, there is no parameter combination that works best
for all problems.
Tuning is mandatory to see improvement and this feature is
built into all AutoML solutions.
Example: Learning Rate
Bayesian
Optimization
Bayesian
Optimization for
Hyperparameter
Selection
Build a probabilistic model to capture the relationship
between hyperparameter settings and their
performance.
Use the model to select useful hyperparameter
settings to try next by trading off exploration
(searching in parts of the space where the model is
uncertain) and exploitation (focusing on parts of the
space predicted to perform well).
Run the machine learning algorithm with those
hyperparameter settings, measure the performance
and update the probabilistic model.
Bayesian Optimization Algorithm
Auto-sklearn
Auto-sklearn is open source, implemented
in python and built around the scikit-
learn library.
It contains a machine learning pipeline
which takes care of missing values,
categorical features, sparse and dense data,
and rescaling the data.
Next, the pipeline applies a preprocessing
algorithm and an ML algorithm.
Generalizing the Bayesian Algorithm
Bayesian Optimization can be generalized to jointly select algorithms,
preprocessing methods, and their hyperparameters as follows:
• The choices of classifier / regressor and preprocessing methods are top-
level, categorical hyperparameters, and based on their settings the
hyperparameters of the selected methods become active.
• The combined space can then be searched with Bayesian optimization
methods that handle such high-dimensional, conditional spaces.
Hyperparameters
Auto-sklearn includes 15 ML algorithms, 14
preprocessing methods, and all their respective
hyperparameters, yielding a total of 110
hyperparameters.
Meta-learning
Optimizing performance in Auto-sklearn’s space
of 110 hyperparameters can of course be slow.
To jumpstart this process it uses meta-learning
to start from good hyperparameter settings for
previous similar datasets.
Specifically, Auto-sklearn comes with a
database of previous optimization runs on 140
diverse datasets from OpenML.
For a new dataset, it first identifies the most
similar datasets and starts from the saved best
settings for those.
Ensemble
Selection
• Auto-sklearn automatically construct
ensembles.
• Instead of returning a single
hyperparameter, it automatically
constructs ensembles from the models
trained during the Bayesian
optimization.
• Specifically, Auto-sklearn
uses Ensemble Selection to create
small, powerful ensembles with
increased predictive power and
robustness.
Winning the
AutoML
challenge
The ChaLearn AutoML challenge was a machine
learning competition.
Auto-sklearn placed in the top three for nine out of
ten phases and won six of them.
Particularly in the last two phases, Auto-sklearn won
both the auto track and the tweakathon.
During the last two phases of the tweakathon the
team combined Auto-sklearn with Auto-Net for
several datasets to further boost performance.
Auto-sklearn Example
X_train, X_test, y_train, y_test = 
sklearn.model_selection.train_test_split(X, y, test_size = 0.3)
automl = autosklearn.classification.AutoSklearnClassifier
(time_left_for_this_task=3600, per_run_time_limit=360)
automl.fit(X_train, y_train)
print(automl.show_models())
predictions = automl.predict(X_test)
probabilities = automl.predict_proba(X_test)[:,1]
Result = Ensemble
(0.520000, SimpleClassificationPipeline({'balancing:strategy': 'weighting',
'categorical_encoding:__choice__': 'one_hot_encoding',
'classifier:__choice__': 'random_forest', 'imputation:strategy':
'most_frequent', 'preprocessor:__choice__': 'no_preprocessing',
'rescaling:__choice__': 'quantile_transformer',
'categorical_encoding:one_hot_encoding:use_minimum_fraction': 'True',
'classifier:random_forest:bootstrap': 'True',
'classifier:random_forest:criterion': 'entropy',
'classifier:random_forest:max_depth': 'None',
'classifier:random_forest:max_features': 0.7884268823432835,
'classifier:random_forest:max_leaf_nodes': 'None',
'classifier:random_forest:min_impurity_decrease': 0.0,
'classifier:random_forest:min_samples_leaf': 20,
'classifier:random_forest:min_samples_split': 15,
'classifier:random_forest:min_weight_fraction_leaf': 0.0,
'classifier:random_forest:n_estimators': 100,
'rescaling:quantile_transformer:n_quantiles': 1000,
'rescaling:quantile_transformer:output_distribution': 'uniform',
'categorical_encoding:one_hot_encoding:minimum_fraction':
0.002615346832354839}
Result = Ensemble
(0.020000, SimpleClassificationPipeline({'balancing:strategy': 'none',
'categorical_encoding:__choice__': 'no_encoding’,'classifier:__choice__':
'k_nearest_neighbors', 'imputation:strategy': 'mean',
'preprocessor:__choice__': 'no_preprocessing', 'rescaling:__choice__':
'standardize', 'classifier:k_nearest_neighbors:n_neighbors': 1,
'classifier:k_nearest_neighbors:p': 2,
'classifier:k_nearest_neighbors:weights': 'uniform'}
Performance – Impact of Time
AutoML 20 Minute Run
Accuracy : 0.89
Precision : 0.89
Recall : 1.0
ROC AUC : 0.61
AutoML 60 Minutes Run
Accuracy : 0.89
Precision : 0.90
Recall : 0.99
ROC AUC : 0.72
Performance – Over-Fitting
AutoML 60 Minutes Run
Accuracy : 0.89
Precision : 0.90
Recall : 0.99
ROC AUC : 0.72
AutoML 120 Minutes Run
Accuracy : 0.87
Precision : 0.91
Recall : 0.95
ROC AUC : 0.70
Performance X Non-AutoML (train data 1)
AutoML 60 Minutes Run
Accuracy : 0.89
Precision : 0.90
Recall : 0.99
ROC AUC : 0.72
XGBoost
ACCURACY = 0.89
PRECISION = 0.90
RECALL = 0.99
AUC = 0.71
Performance X Non-AutoML (train data 2)
AutoML 60 Minutes Run
Accuracy : 0.73
Precision : 0.69
Recall : 0.56
ROC AUC : 0.79
XGBoost
ACCURACY = 0.66
PRECISION = 0.61
RECALL = 0.42
AUC = 0.62
Performance – Balance
Negative = 8 X Positive
Accuracy : 0.99
Precision : 1.0
Recall : 0.91
ROC AUC : 0.97
Negative = 20 X Positive
Accuracy : 0.99
Precision : 0.99
Recall : 0.76
ROC AUC : 0.94
TPOT
• TPOT = Tree-based
Pipeline Optimization
Tool
• TPOT is a Python
Automated Machine
Learning tool that
optimizes machine
learning pipelines using
Genetic Algorithms.
TPOT uses Genetic Algorithms to
find the best ML model and
hyperparameters based on the
training / validation set.
The model options include all the
algorithms implemented in the
scikit-learn library.
Parameters include population size
and number of generations to run
the Genetic Algorithm.
TPOT
Genetic
Algorithm
Practical
Questions
Can we really move AutoML from the Lab to
production environments?
What would be the latency of using an
Ensemble of models in production?
Would the AutoML training time be prohibitive
for big datasets?
I think we need Incremental AutoML: in which
the previous model (together with new data)
serves as an input to find the next best model.
My personal
experience:
Semi-AutoML
at Yahoo Labs
Finite (large) number of manually pre-defined
model configurations (hyperparameters).
Incremental Learning: previous model was used
as input for training new models.
Used Hadoop Map-Reduce: each Reducer used
one configuration, trained a model and
measured its performance (parallel training).
The model with best performance was chosen
for deployment.
What next? My
personal opinion
Automated ML will not replace the Data Scientist but
will enable the Data Scientist to produce more models
in less time with higher quality.
This is probably the end of “good enough models” using
standard parameters because the Data Scientist did not
have time to check different parameters.
The main advantage is not saving time. The main
benefit is doing things that were never done because of
lack of time.
Data scientists will have more time to collaborate with
business experts to get domain knowledge and use it in
feature engineering.
References
• https://medium.com/@ODSC/the-past-present-and-future-of-automated-machine-learning-5e081ca4b71a
• https://softwareengineeringdaily.com/2019/05/15/introduction-to-automated-machine-learning-automl/
• https://medium.com/georgian-impact-blog/automatic-machine-learning-aml-landscape-survey-f75c3ae3bbf2
• https://medium.com/@MLJARofficial/automl-comparison-4b01229fae5e
• https://www.fast.ai/2018/07/16/auto-ml2/
• https://www.kdnuggets.com/2016/10/interview-auto-sklearn-automated-data-science-machine-learning-team.html
• https://www.kdnuggets.com/2016/08/winning-automl-challenge-auto-sklearn.html
• https://www.kdnuggets.com/2017/07/design-evolution-evolve-neural-network-automl.html
• https://www.slideshare.net/JoaquinVanschoren/automl-lectures-acdl-2019
• https://www.youtube.com/watch?v=QrJlj0VCHys
• https://www.youtube.com/watch?v=jn-22XyKsgo
• https://cloud.google.com/automl/
Thanks!
Questions?
Comments?

More Related Content

What's hot

Automatic Machine Learning, AutoML
Automatic Machine Learning, AutoMLAutomatic Machine Learning, AutoML
Automatic Machine Learning, AutoMLHimadri Mishra
 
Microsoft Introduction to Automated Machine Learning
Microsoft Introduction to Automated Machine LearningMicrosoft Introduction to Automated Machine Learning
Microsoft Introduction to Automated Machine LearningSetu Chokshi
 
Explainable AI in Industry (KDD 2019 Tutorial)
Explainable AI in Industry (KDD 2019 Tutorial)Explainable AI in Industry (KDD 2019 Tutorial)
Explainable AI in Industry (KDD 2019 Tutorial)Krishnaram Kenthapadi
 
Explainability and bias in AI
Explainability and bias in AIExplainability and bias in AI
Explainability and bias in AIBill Liu
 
A Friendly Introduction to Machine Learning
A Friendly Introduction to Machine LearningA Friendly Introduction to Machine Learning
A Friendly Introduction to Machine LearningHaptik
 
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete Deck
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete DeckAI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete Deck
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete DeckSlideTeam
 
Guiding through a typical Machine Learning Pipeline
Guiding through a typical Machine Learning PipelineGuiding through a typical Machine Learning Pipeline
Guiding through a typical Machine Learning PipelineMichael Gerke
 
General introduction to AI ML DL DS
General introduction to AI ML DL DSGeneral introduction to AI ML DL DS
General introduction to AI ML DL DSRoopesh Kohad
 
Explainable AI (XAI) - A Perspective
Explainable AI (XAI) - A Perspective Explainable AI (XAI) - A Perspective
Explainable AI (XAI) - A Perspective Saurabh Kaushik
 
Machine Learning and its Applications
Machine Learning and its ApplicationsMachine Learning and its Applications
Machine Learning and its ApplicationsDr Ganesh Iyer
 
Hyperparameter Tuning
Hyperparameter TuningHyperparameter Tuning
Hyperparameter TuningJon Lederman
 
Unified Approach to Interpret Machine Learning Model: SHAP + LIME
Unified Approach to Interpret Machine Learning Model: SHAP + LIMEUnified Approach to Interpret Machine Learning Model: SHAP + LIME
Unified Approach to Interpret Machine Learning Model: SHAP + LIMEDatabricks
 
Artificial Intelligence Introduction & Business usecases
Artificial Intelligence Introduction & Business usecasesArtificial Intelligence Introduction & Business usecases
Artificial Intelligence Introduction & Business usecasesVikas Jain
 
Intro to Machine Learning & AI
Intro to Machine Learning & AIIntro to Machine Learning & AI
Intro to Machine Learning & AIMostafa Elsheikh
 
The Future of AI is Generative not Discriminative 5/26/2021
The Future of AI is Generative not Discriminative 5/26/2021The Future of AI is Generative not Discriminative 5/26/2021
The Future of AI is Generative not Discriminative 5/26/2021Steve Omohundro
 

What's hot (20)

Automatic Machine Learning, AutoML
Automatic Machine Learning, AutoMLAutomatic Machine Learning, AutoML
Automatic Machine Learning, AutoML
 
Microsoft Introduction to Automated Machine Learning
Microsoft Introduction to Automated Machine LearningMicrosoft Introduction to Automated Machine Learning
Microsoft Introduction to Automated Machine Learning
 
Explainable AI in Industry (KDD 2019 Tutorial)
Explainable AI in Industry (KDD 2019 Tutorial)Explainable AI in Industry (KDD 2019 Tutorial)
Explainable AI in Industry (KDD 2019 Tutorial)
 
Explainability and bias in AI
Explainability and bias in AIExplainability and bias in AI
Explainability and bias in AI
 
Explainable AI
Explainable AIExplainable AI
Explainable AI
 
A Friendly Introduction to Machine Learning
A Friendly Introduction to Machine LearningA Friendly Introduction to Machine Learning
A Friendly Introduction to Machine Learning
 
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete Deck
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete DeckAI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete Deck
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete Deck
 
Guiding through a typical Machine Learning Pipeline
Guiding through a typical Machine Learning PipelineGuiding through a typical Machine Learning Pipeline
Guiding through a typical Machine Learning Pipeline
 
General introduction to AI ML DL DS
General introduction to AI ML DL DSGeneral introduction to AI ML DL DS
General introduction to AI ML DL DS
 
Explainable AI
Explainable AIExplainable AI
Explainable AI
 
Explainable AI (XAI) - A Perspective
Explainable AI (XAI) - A Perspective Explainable AI (XAI) - A Perspective
Explainable AI (XAI) - A Perspective
 
Machine learning
Machine learningMachine learning
Machine learning
 
Machine Learning and its Applications
Machine Learning and its ApplicationsMachine Learning and its Applications
Machine Learning and its Applications
 
Hyperparameter Tuning
Hyperparameter TuningHyperparameter Tuning
Hyperparameter Tuning
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Explainable AI
Explainable AIExplainable AI
Explainable AI
 
Unified Approach to Interpret Machine Learning Model: SHAP + LIME
Unified Approach to Interpret Machine Learning Model: SHAP + LIMEUnified Approach to Interpret Machine Learning Model: SHAP + LIME
Unified Approach to Interpret Machine Learning Model: SHAP + LIME
 
Artificial Intelligence Introduction & Business usecases
Artificial Intelligence Introduction & Business usecasesArtificial Intelligence Introduction & Business usecases
Artificial Intelligence Introduction & Business usecases
 
Intro to Machine Learning & AI
Intro to Machine Learning & AIIntro to Machine Learning & AI
Intro to Machine Learning & AI
 
The Future of AI is Generative not Discriminative 5/26/2021
The Future of AI is Generative not Discriminative 5/26/2021The Future of AI is Generative not Discriminative 5/26/2021
The Future of AI is Generative not Discriminative 5/26/2021
 

Similar to Automated Machine Learning (Auto ML)

Understanding Mahout classification documentation
Understanding Mahout  classification documentationUnderstanding Mahout  classification documentation
Understanding Mahout classification documentationNaveen Kumar
 
Initializing & Optimizing Machine Learning Models
Initializing & Optimizing Machine Learning ModelsInitializing & Optimizing Machine Learning Models
Initializing & Optimizing Machine Learning ModelsEng Teong Cheah
 
RapidMiner: Data Mining And Rapid Miner
RapidMiner:  Data Mining And Rapid MinerRapidMiner:  Data Mining And Rapid Miner
RapidMiner: Data Mining And Rapid MinerRapidmining Content
 
RapidMiner: Data Mining And Rapid Miner
RapidMiner: Data Mining And Rapid MinerRapidMiner: Data Mining And Rapid Miner
RapidMiner: Data Mining And Rapid MinerDataminingTools Inc
 
PPT - AutoML-Zero: Evolving Machine Learning Algorithms From Scratch
PPT - AutoML-Zero: Evolving Machine Learning Algorithms From ScratchPPT - AutoML-Zero: Evolving Machine Learning Algorithms From Scratch
PPT - AutoML-Zero: Evolving Machine Learning Algorithms From ScratchJisang Yoon
 
Apache Spark Based Hyper-Parameter Selection and Adaptive Model Tuning for De...
Apache Spark Based Hyper-Parameter Selection and Adaptive Model Tuning for De...Apache Spark Based Hyper-Parameter Selection and Adaptive Model Tuning for De...
Apache Spark Based Hyper-Parameter Selection and Adaptive Model Tuning for De...Databricks
 
Understanding Parallelization of Machine Learning Algorithms in Apache Spark™
Understanding Parallelization of Machine Learning Algorithms in Apache Spark™Understanding Parallelization of Machine Learning Algorithms in Apache Spark™
Understanding Parallelization of Machine Learning Algorithms in Apache Spark™Databricks
 
Machine learning with ADA Boost
Machine learning with ADA BoostMachine learning with ADA Boost
Machine learning with ADA BoostAman Patel
 
OPTIMIZE TO ACTUALIZE: THE IMPACT OF HYPERPARAMETER TUNING ON AI
OPTIMIZE TO ACTUALIZE: THE IMPACT OF HYPERPARAMETER TUNING ON AIOPTIMIZE TO ACTUALIZE: THE IMPACT OF HYPERPARAMETER TUNING ON AI
OPTIMIZE TO ACTUALIZE: THE IMPACT OF HYPERPARAMETER TUNING ON AIChristopherTHyatt
 
Supervised learning techniques and applications
Supervised learning techniques and applicationsSupervised learning techniques and applications
Supervised learning techniques and applicationsBenjaminlapid1
 
Start machine learning in 5 simple steps
Start machine learning in 5 simple stepsStart machine learning in 5 simple steps
Start machine learning in 5 simple stepsRenjith M P
 
Machine Learning Guide maXbox Starter62
Machine Learning Guide maXbox Starter62Machine Learning Guide maXbox Starter62
Machine Learning Guide maXbox Starter62Max Kleiner
 
How to Win Machine Learning Competitions ?
How to Win Machine Learning Competitions ? How to Win Machine Learning Competitions ?
How to Win Machine Learning Competitions ? HackerEarth
 
Getting started with Machine Learning
Getting started with Machine LearningGetting started with Machine Learning
Getting started with Machine LearningGaurav Bhalotia
 

Similar to Automated Machine Learning (Auto ML) (20)

Training Optimal Models
Training Optimal ModelsTraining Optimal Models
Training Optimal Models
 
Understanding Mahout classification documentation
Understanding Mahout  classification documentationUnderstanding Mahout  classification documentation
Understanding Mahout classification documentation
 
Initializing & Optimizing Machine Learning Models
Initializing & Optimizing Machine Learning ModelsInitializing & Optimizing Machine Learning Models
Initializing & Optimizing Machine Learning Models
 
RapidMiner: Data Mining And Rapid Miner
RapidMiner:  Data Mining And Rapid MinerRapidMiner:  Data Mining And Rapid Miner
RapidMiner: Data Mining And Rapid Miner
 
RapidMiner: Data Mining And Rapid Miner
RapidMiner: Data Mining And Rapid MinerRapidMiner: Data Mining And Rapid Miner
RapidMiner: Data Mining And Rapid Miner
 
Machine Learning by Rj
Machine Learning by RjMachine Learning by Rj
Machine Learning by Rj
 
C3 w1
C3 w1C3 w1
C3 w1
 
PPT - AutoML-Zero: Evolving Machine Learning Algorithms From Scratch
PPT - AutoML-Zero: Evolving Machine Learning Algorithms From ScratchPPT - AutoML-Zero: Evolving Machine Learning Algorithms From Scratch
PPT - AutoML-Zero: Evolving Machine Learning Algorithms From Scratch
 
ML_in_QM_JC_02-10-18
ML_in_QM_JC_02-10-18ML_in_QM_JC_02-10-18
ML_in_QM_JC_02-10-18
 
OpenML 2019
OpenML 2019OpenML 2019
OpenML 2019
 
Machine Learning_Unit 2_Full.ppt.pdf
Machine Learning_Unit 2_Full.ppt.pdfMachine Learning_Unit 2_Full.ppt.pdf
Machine Learning_Unit 2_Full.ppt.pdf
 
Apache Spark Based Hyper-Parameter Selection and Adaptive Model Tuning for De...
Apache Spark Based Hyper-Parameter Selection and Adaptive Model Tuning for De...Apache Spark Based Hyper-Parameter Selection and Adaptive Model Tuning for De...
Apache Spark Based Hyper-Parameter Selection and Adaptive Model Tuning for De...
 
Understanding Parallelization of Machine Learning Algorithms in Apache Spark™
Understanding Parallelization of Machine Learning Algorithms in Apache Spark™Understanding Parallelization of Machine Learning Algorithms in Apache Spark™
Understanding Parallelization of Machine Learning Algorithms in Apache Spark™
 
Machine learning with ADA Boost
Machine learning with ADA BoostMachine learning with ADA Boost
Machine learning with ADA Boost
 
OPTIMIZE TO ACTUALIZE: THE IMPACT OF HYPERPARAMETER TUNING ON AI
OPTIMIZE TO ACTUALIZE: THE IMPACT OF HYPERPARAMETER TUNING ON AIOPTIMIZE TO ACTUALIZE: THE IMPACT OF HYPERPARAMETER TUNING ON AI
OPTIMIZE TO ACTUALIZE: THE IMPACT OF HYPERPARAMETER TUNING ON AI
 
Supervised learning techniques and applications
Supervised learning techniques and applicationsSupervised learning techniques and applications
Supervised learning techniques and applications
 
Start machine learning in 5 simple steps
Start machine learning in 5 simple stepsStart machine learning in 5 simple steps
Start machine learning in 5 simple steps
 
Machine Learning Guide maXbox Starter62
Machine Learning Guide maXbox Starter62Machine Learning Guide maXbox Starter62
Machine Learning Guide maXbox Starter62
 
How to Win Machine Learning Competitions ?
How to Win Machine Learning Competitions ? How to Win Machine Learning Competitions ?
How to Win Machine Learning Competitions ?
 
Getting started with Machine Learning
Getting started with Machine LearningGetting started with Machine Learning
Getting started with Machine Learning
 

More from Hayim Makabee

Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your ReputationHayim Makabee
 
Applications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT WebinarApplications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT WebinarHayim Makabee
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine LearningHayim Makabee
 
Blue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use CaseBlue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use CaseHayim Makabee
 
Managing your Reputation Gvahim Webinar
Managing your Reputation Gvahim WebinarManaging your Reputation Gvahim Webinar
Managing your Reputation Gvahim WebinarHayim Makabee
 
Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)Hayim Makabee
 
Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your ReputationHayim Makabee
 
The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)Hayim Makabee
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile DevelopmentHayim Makabee
 
Adaptable Designs for Agile Software Development
Adaptable Designs for Agile  Software DevelopmentAdaptable Designs for Agile  Software Development
Adaptable Designs for Agile Software DevelopmentHayim Makabee
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine LearningHayim Makabee
 
Antifragile Software Design
Antifragile Software DesignAntifragile Software Design
Antifragile Software DesignHayim Makabee
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...Hayim Makabee
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...Hayim Makabee
 
The SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design PatternsThe SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design PatternsHayim Makabee
 
Aliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelAliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelHayim Makabee
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)Hayim Makabee
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
The Role of the Software Architect
The Role of the Software ArchitectThe Role of the Software Architect
The Role of the Software ArchitectHayim Makabee
 
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Hayim Makabee
 

More from Hayim Makabee (20)

Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your Reputation
 
Applications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT WebinarApplications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT Webinar
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine Learning
 
Blue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use CaseBlue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use Case
 
Managing your Reputation Gvahim Webinar
Managing your Reputation Gvahim WebinarManaging your Reputation Gvahim Webinar
Managing your Reputation Gvahim Webinar
 
Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)
 
Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your Reputation
 
The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile Development
 
Adaptable Designs for Agile Software Development
Adaptable Designs for Agile  Software DevelopmentAdaptable Designs for Agile  Software Development
Adaptable Designs for Agile Software Development
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine Learning
 
Antifragile Software Design
Antifragile Software DesignAntifragile Software Design
Antifragile Software Design
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
 
The SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design PatternsThe SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design Patterns
 
Aliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelAliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in Israel
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
The Role of the Software Architect
The Role of the Software ArchitectThe Role of the Software Architect
The Role of the Software Architect
 
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Automated Machine Learning (Auto ML)

  • 2. Automated Machine Learning Automated Machine Learning (AutoML) systems find the right algorithm and hyperparameters in a data-driven way without any human intervention.
  • 3. Auto ML Benefits AutoML allows the data scientist to extend his productivity without adding more members to the data science team. AutoML addresses the skills gap between the demand for data science talent and the availability of this talent.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Olson Experiment on Parameter Tuning Used 165 classification data sets from a variety of sources and 13 different classification algorithms from scikit-learn. Compared classification accuracy using default parameters for each algorithm to a tuned version of those algorithms. On average, got 5–10% improvement in classification accuracy from tuning algorithms from default parameters. However, there is no parameter combination that works best for all problems. Tuning is mandatory to see improvement and this feature is built into all AutoML solutions.
  • 9.
  • 11.
  • 12.
  • 14. Bayesian Optimization for Hyperparameter Selection Build a probabilistic model to capture the relationship between hyperparameter settings and their performance. Use the model to select useful hyperparameter settings to try next by trading off exploration (searching in parts of the space where the model is uncertain) and exploitation (focusing on parts of the space predicted to perform well). Run the machine learning algorithm with those hyperparameter settings, measure the performance and update the probabilistic model.
  • 16.
  • 17.
  • 18. Auto-sklearn Auto-sklearn is open source, implemented in python and built around the scikit- learn library. It contains a machine learning pipeline which takes care of missing values, categorical features, sparse and dense data, and rescaling the data. Next, the pipeline applies a preprocessing algorithm and an ML algorithm.
  • 19. Generalizing the Bayesian Algorithm Bayesian Optimization can be generalized to jointly select algorithms, preprocessing methods, and their hyperparameters as follows: • The choices of classifier / regressor and preprocessing methods are top- level, categorical hyperparameters, and based on their settings the hyperparameters of the selected methods become active. • The combined space can then be searched with Bayesian optimization methods that handle such high-dimensional, conditional spaces.
  • 20. Hyperparameters Auto-sklearn includes 15 ML algorithms, 14 preprocessing methods, and all their respective hyperparameters, yielding a total of 110 hyperparameters.
  • 21. Meta-learning Optimizing performance in Auto-sklearn’s space of 110 hyperparameters can of course be slow. To jumpstart this process it uses meta-learning to start from good hyperparameter settings for previous similar datasets. Specifically, Auto-sklearn comes with a database of previous optimization runs on 140 diverse datasets from OpenML. For a new dataset, it first identifies the most similar datasets and starts from the saved best settings for those.
  • 22. Ensemble Selection • Auto-sklearn automatically construct ensembles. • Instead of returning a single hyperparameter, it automatically constructs ensembles from the models trained during the Bayesian optimization. • Specifically, Auto-sklearn uses Ensemble Selection to create small, powerful ensembles with increased predictive power and robustness.
  • 23. Winning the AutoML challenge The ChaLearn AutoML challenge was a machine learning competition. Auto-sklearn placed in the top three for nine out of ten phases and won six of them. Particularly in the last two phases, Auto-sklearn won both the auto track and the tweakathon. During the last two phases of the tweakathon the team combined Auto-sklearn with Auto-Net for several datasets to further boost performance.
  • 24. Auto-sklearn Example X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, test_size = 0.3) automl = autosklearn.classification.AutoSklearnClassifier (time_left_for_this_task=3600, per_run_time_limit=360) automl.fit(X_train, y_train) print(automl.show_models()) predictions = automl.predict(X_test) probabilities = automl.predict_proba(X_test)[:,1]
  • 25. Result = Ensemble (0.520000, SimpleClassificationPipeline({'balancing:strategy': 'weighting', 'categorical_encoding:__choice__': 'one_hot_encoding', 'classifier:__choice__': 'random_forest', 'imputation:strategy': 'most_frequent', 'preprocessor:__choice__': 'no_preprocessing', 'rescaling:__choice__': 'quantile_transformer', 'categorical_encoding:one_hot_encoding:use_minimum_fraction': 'True', 'classifier:random_forest:bootstrap': 'True', 'classifier:random_forest:criterion': 'entropy', 'classifier:random_forest:max_depth': 'None', 'classifier:random_forest:max_features': 0.7884268823432835, 'classifier:random_forest:max_leaf_nodes': 'None', 'classifier:random_forest:min_impurity_decrease': 0.0, 'classifier:random_forest:min_samples_leaf': 20, 'classifier:random_forest:min_samples_split': 15, 'classifier:random_forest:min_weight_fraction_leaf': 0.0, 'classifier:random_forest:n_estimators': 100, 'rescaling:quantile_transformer:n_quantiles': 1000, 'rescaling:quantile_transformer:output_distribution': 'uniform', 'categorical_encoding:one_hot_encoding:minimum_fraction': 0.002615346832354839}
  • 26. Result = Ensemble (0.020000, SimpleClassificationPipeline({'balancing:strategy': 'none', 'categorical_encoding:__choice__': 'no_encoding’,'classifier:__choice__': 'k_nearest_neighbors', 'imputation:strategy': 'mean', 'preprocessor:__choice__': 'no_preprocessing', 'rescaling:__choice__': 'standardize', 'classifier:k_nearest_neighbors:n_neighbors': 1, 'classifier:k_nearest_neighbors:p': 2, 'classifier:k_nearest_neighbors:weights': 'uniform'}
  • 27. Performance – Impact of Time AutoML 20 Minute Run Accuracy : 0.89 Precision : 0.89 Recall : 1.0 ROC AUC : 0.61 AutoML 60 Minutes Run Accuracy : 0.89 Precision : 0.90 Recall : 0.99 ROC AUC : 0.72
  • 28. Performance – Over-Fitting AutoML 60 Minutes Run Accuracy : 0.89 Precision : 0.90 Recall : 0.99 ROC AUC : 0.72 AutoML 120 Minutes Run Accuracy : 0.87 Precision : 0.91 Recall : 0.95 ROC AUC : 0.70
  • 29. Performance X Non-AutoML (train data 1) AutoML 60 Minutes Run Accuracy : 0.89 Precision : 0.90 Recall : 0.99 ROC AUC : 0.72 XGBoost ACCURACY = 0.89 PRECISION = 0.90 RECALL = 0.99 AUC = 0.71
  • 30. Performance X Non-AutoML (train data 2) AutoML 60 Minutes Run Accuracy : 0.73 Precision : 0.69 Recall : 0.56 ROC AUC : 0.79 XGBoost ACCURACY = 0.66 PRECISION = 0.61 RECALL = 0.42 AUC = 0.62
  • 31. Performance – Balance Negative = 8 X Positive Accuracy : 0.99 Precision : 1.0 Recall : 0.91 ROC AUC : 0.97 Negative = 20 X Positive Accuracy : 0.99 Precision : 0.99 Recall : 0.76 ROC AUC : 0.94
  • 32. TPOT • TPOT = Tree-based Pipeline Optimization Tool • TPOT is a Python Automated Machine Learning tool that optimizes machine learning pipelines using Genetic Algorithms.
  • 33. TPOT uses Genetic Algorithms to find the best ML model and hyperparameters based on the training / validation set. The model options include all the algorithms implemented in the scikit-learn library. Parameters include population size and number of generations to run the Genetic Algorithm. TPOT
  • 35.
  • 36. Practical Questions Can we really move AutoML from the Lab to production environments? What would be the latency of using an Ensemble of models in production? Would the AutoML training time be prohibitive for big datasets? I think we need Incremental AutoML: in which the previous model (together with new data) serves as an input to find the next best model.
  • 37. My personal experience: Semi-AutoML at Yahoo Labs Finite (large) number of manually pre-defined model configurations (hyperparameters). Incremental Learning: previous model was used as input for training new models. Used Hadoop Map-Reduce: each Reducer used one configuration, trained a model and measured its performance (parallel training). The model with best performance was chosen for deployment.
  • 38. What next? My personal opinion Automated ML will not replace the Data Scientist but will enable the Data Scientist to produce more models in less time with higher quality. This is probably the end of “good enough models” using standard parameters because the Data Scientist did not have time to check different parameters. The main advantage is not saving time. The main benefit is doing things that were never done because of lack of time. Data scientists will have more time to collaborate with business experts to get domain knowledge and use it in feature engineering.
  • 39. References • https://medium.com/@ODSC/the-past-present-and-future-of-automated-machine-learning-5e081ca4b71a • https://softwareengineeringdaily.com/2019/05/15/introduction-to-automated-machine-learning-automl/ • https://medium.com/georgian-impact-blog/automatic-machine-learning-aml-landscape-survey-f75c3ae3bbf2 • https://medium.com/@MLJARofficial/automl-comparison-4b01229fae5e • https://www.fast.ai/2018/07/16/auto-ml2/ • https://www.kdnuggets.com/2016/10/interview-auto-sklearn-automated-data-science-machine-learning-team.html • https://www.kdnuggets.com/2016/08/winning-automl-challenge-auto-sklearn.html • https://www.kdnuggets.com/2017/07/design-evolution-evolve-neural-network-automl.html • https://www.slideshare.net/JoaquinVanschoren/automl-lectures-acdl-2019 • https://www.youtube.com/watch?v=QrJlj0VCHys • https://www.youtube.com/watch?v=jn-22XyKsgo • https://cloud.google.com/automl/