SlideShare a Scribd company logo
1 of 23
Download to read offline
Ensemble Learning:
Random Forests
AAA-Python Edition
Plan
●
1- Random Forest
●
2- Extreme Random Forest
●
3- Balanced Random Forest
●
4- Feature Importance
●
5- Grid Search
●
6- Balancing by resampling
3
1-RandomForest
[By Amina Delali]
ConceptConcept
●
A random forest is :
Bagging or pasting. + Decision Trees:
with random
split
==
Bagging with Decision Trees as classifier. The trees use a random
subset of features at each split
An ensemble learning method composed only of Decision Trees.
They are trained on different random subsets of training data (with or
without replacement) . To split a node, the trees select the best
features from a random subset of features .
==
4
1-RandomForest
[By Amina Delali]
Random forest in sklearn: method 1Random forest in sklearn: method 1
●
Using a Bagging Classifer: since a random forest is a special case,
of a bagging method. We can use a Bagging Classifer with
decision trees as estimator.
By specifying the splitter= “random”, at each split,
the chosen feature will be the “best random
feature”: the best feature from a random subset
of features.
5
1-RandomForest
[By Amina Delali]
Random forest in sklearn: method 2Random forest in sklearn: method 2
●
Using the random forest classifer class: in sklearn, the size of the
samples used in the trees is the same as the original data size.
There is no “splitter” parameter. Almost all other default
parameters are the same. The only one that differs is :
max_features which is here set by default to “auto”. The
only parameter we had to specify is (to be adequate with
the tree of the previous example) is : max_depth
max_features =“auto” means that:
max_features = sqrt(numb_features)
Same parameters
used in the bagging
classifier for the
previous example.
6
2-Extreme
RandomForest
[By Amina Delali]
ConceptConcept
●
In Extreme random forests, the thresholds used in the
decision trees are selected randomly, instead of choosing the
best one.
●
They are also called “Extremely randomized Trees” or “Extra
Trees”.
●
In sklearn, they are: “ExtraTreesClassifer” and
“ExtraTreesRegeressor”
●
“ExtraTreesClassifer” are random forests, but there is in sklearn
“ExtraTreeClassifer” which is a decision tree and not a forest.
7
2-Extreme
RandomForest
[By Amina Delali]
ExampleExample
●
8
2-Extreme
RandomForest
[By Amina Delali]
Out of bag scoresOut of bag scores
●
The bag refers to the training samples selected and used by a
predictor in a bagging method.
●
The out of bag, are the remaining samples.
●
For each predictor, it is possible to compute its score using its out
of bag samples.
●
At the end of the training, the average of all these scores will
represent the “out of bag score” of the learning method.
●
In sklearn, you have to specify: “oob_score =True” as parameter of
the bagging method.
9
3-Balanced
RandomForest
[By Amina Delali]
ConceptConcept
●
Sometimes, in classifcation, the representation of your classes in
the training data is “unbalanced”. For example, in a binary
classifcation, you can have a big number of samples belonging to
the frst class. And, only few samples related to the other one.
●
In this case, the learning method will not be able to classify
correctly.
●
To avoid this situation, scikit-learn allow us to defne a parameter
called: class_weight, with a special value: “balanced” ==> it will
attribute bigger weights for less present classes.
●
The formula is as follow: n_samples / (n_classes * np.bincount(y))
Count number of
occurrences of each value in
y
10
3-Balanced
RandomForest
[By Amina Delali]
Example without balancingExample without balancing
●
Loading the
data, and
extracting x
and y values
We will use yellowbrick library to visualize
our classification boundaries.
11
3-Balanced
RandomForest
[By Amina Delali]
Example without balancing (suite)Example without balancing (suite)
●
The classes are
not balanced
We see that some
samples belonging to
class 0 are predicted
to be in class 1 and
vice versa.
12
3-Balanced
RandomForest
[By Amina Delali]
Same example with balancingSame example with balancing
●
Balanced classes
●
We see clearly that the
decision boundaries
changed: the area of
class 0 is bigger now
●
But, we have more
classes 1 predicted as
belonging to class 0.
13
4-GridSearch
[By Amina Delali]
ConceptConcept
●
GridSearch is a tool used to test a learning model with a list of
dictionaries containing diferent parameters.
●
We will use it to fnd the best parameters for a Random Forest
method. We will apply it on the already used iris data.
First the first
dictionary we
have: 9
combinations of
parameters. For
the second one
we have: 12
combinations.
14
4-GridSearch
[By Amina Delali]
Example resultsExample results
●
• We can see that
augmenting the number
of estimators doesn’t
necessary enhance the
results.
●
Same observation about
max_depth value
15
4-GridSearch
[By Amina Delali]
Best result visualizationBest result visualization
●
●
We will display the confusion matrix using yellowbrick.
The confusion
matrix is
printed as a
“heat-map”:
the best
values are the
darkest, and
vice-versa.
16
5-FeatureImportance
[By Amina Delali]
ConceptConcept
●
The features in a data set have not the same importance.
●
In a decision tree, this importance can be deduced from the
distance between the appearance of a feature in a decision
node and the root.
●
In a random forest, the average of the distances corresponding
to each tree will represent the feature’s importance.
●
Scikit-learn implements this method.
We can see clearly
that the most
important features
are: “petal length”
and “petal width”
17
5-FeatureImportance
[By Amina Delali]
Visualization of the features importanceVisualization of the features importance
●
Again, we will use yellowbrick.
Most important
features
18
5-FeatureImportance
[By Amina Delali]
Comparison of resultsComparison of results
●
Using only 2 most
important features
(same result as using
all the features)
Using only 2 least
important features
(same result as using
all the features)
19
6-Balancing
byresampling
[By Amina Delali]
ConceptConcept
●
An other way to obtain a balanced training set, is to remove
samples from the majority class. Which is called: under-
sampling. Or, to add new samples belonging to the less
represented class. Which is called: over-sampling.
●
There is a variety of resampling techniques. The library
imbalanced-learn library implements some of them.
●
For a RandomForest classifer, it applies: random under-
sampling technique with diferent strategies.
●
The default one is to : resample all classes but the minority class;
20
6-Balancing
byresampling
[By Amina Delali]
ExampleExample
●
In this example, we combine the 2 libraries: yellowbrick and
imbalanced-learn
21
6-Balancing
byresampling
[By Amina Delali]
Example (suite)Example (suite)
●
We can see that the class 0 region
obtained is different than the one
obtained using sckit-learn weighting
technique
References
●
Aurélien Géron. Hands-on machine learning with Scikit-Learn
and Tensor-Flow: concepts, tools, and techniques to build
intelligent systems. O’Reilly Media, Inc, 2017.
●
imbalanced learn. User guide. On-line at https://imbalanced-
learn.org/en/stable/user_guide.html. Accessed on 09-12-2018.
●
Joshi Prateek. Artifcial intelligence with Python. Packt
Publishing, 2017.
●
Alencar Rafael. Resampling strategies for imbalanced datasets.
On-line at
https://www.kaggle.com/rafjaa/resampling-strategies-for-imbala
nced-datasets
Accessed on 09-12-2018.
●
Scikit-learn.org. scikit-learn, machine learning in python. On-
line at https://scikit-learn.org/stable/. Accessed on 03-11-2018.
●
yellowbrick. Yellowbrick: Machine learning visualization. On-line
at http://www.scikit-yb.org/en/latest/. Accessed on 09-12-2018.
Thank
you!
FOR ALL YOUR TIME

More Related Content

What's hot

Data preprocessing for Machine Learning with R and Python
Data preprocessing for Machine Learning with R and PythonData preprocessing for Machine Learning with R and Python
Data preprocessing for Machine Learning with R and PythonAkhilesh Joshi
 
Random Forest and KNN is fun
Random Forest and KNN is funRandom Forest and KNN is fun
Random Forest and KNN is funZhen Li
 
Random forest algorithm
Random forest algorithmRandom forest algorithm
Random forest algorithmRashid Ansari
 
Random forest sgv_ai_talk_oct_2_2018
Random forest sgv_ai_talk_oct_2_2018Random forest sgv_ai_talk_oct_2_2018
Random forest sgv_ai_talk_oct_2_2018digitalzombie
 
Aaa ped-12-Supervised Learning: Support Vector Machines & Naive Bayes Classifer
Aaa ped-12-Supervised Learning: Support Vector Machines & Naive Bayes ClassiferAaa ped-12-Supervised Learning: Support Vector Machines & Naive Bayes Classifer
Aaa ped-12-Supervised Learning: Support Vector Machines & Naive Bayes ClassiferAminaRepo
 
Learning On The Border:Active Learning in Imbalanced classification Data
Learning On The Border:Active Learning in Imbalanced classification DataLearning On The Border:Active Learning in Imbalanced classification Data
Learning On The Border:Active Learning in Imbalanced classification Data萍華 楊
 
Ensemble methods in machine learning
Ensemble methods in machine learningEnsemble methods in machine learning
Ensemble methods in machine learningSANTHOSH RAJA M G
 
Evaluating classifierperformance ml-cs6923
Evaluating classifierperformance ml-cs6923Evaluating classifierperformance ml-cs6923
Evaluating classifierperformance ml-cs6923Raman Kannan
 
Gradient Boosted Regression Trees in scikit-learn
Gradient Boosted Regression Trees in scikit-learnGradient Boosted Regression Trees in scikit-learn
Gradient Boosted Regression Trees in scikit-learnDataRobot
 
Decision Trees for Classification: A Machine Learning Algorithm
Decision Trees for Classification: A Machine Learning AlgorithmDecision Trees for Classification: A Machine Learning Algorithm
Decision Trees for Classification: A Machine Learning AlgorithmPalin analytics
 
Decision Trees
Decision TreesDecision Trees
Decision TreesStudent
 
Machine Learning Comparative Analysis - Part 1
Machine Learning Comparative Analysis - Part 1Machine Learning Comparative Analysis - Part 1
Machine Learning Comparative Analysis - Part 1Kaniska Mandal
 
Aaa ped-14-Ensemble Learning: About Ensemble Learning
Aaa ped-14-Ensemble Learning: About Ensemble LearningAaa ped-14-Ensemble Learning: About Ensemble Learning
Aaa ped-14-Ensemble Learning: About Ensemble LearningAminaRepo
 
Introduction on Data Structures
Introduction on Data StructuresIntroduction on Data Structures
Introduction on Data StructuresNanthini Kempaiyan
 
Java Comparable and Comparator
Java Comparable and ComparatorJava Comparable and Comparator
Java Comparable and ComparatorSujit Kumar
 
Logistic Regression using Mahout
Logistic Regression using MahoutLogistic Regression using Mahout
Logistic Regression using Mahouttanuvir
 

What's hot (20)

Data preprocessing for Machine Learning with R and Python
Data preprocessing for Machine Learning with R and PythonData preprocessing for Machine Learning with R and Python
Data preprocessing for Machine Learning with R and Python
 
Random Forest and KNN is fun
Random Forest and KNN is funRandom Forest and KNN is fun
Random Forest and KNN is fun
 
Random forest algorithm
Random forest algorithmRandom forest algorithm
Random forest algorithm
 
Random forest sgv_ai_talk_oct_2_2018
Random forest sgv_ai_talk_oct_2_2018Random forest sgv_ai_talk_oct_2_2018
Random forest sgv_ai_talk_oct_2_2018
 
Aaa ped-12-Supervised Learning: Support Vector Machines & Naive Bayes Classifer
Aaa ped-12-Supervised Learning: Support Vector Machines & Naive Bayes ClassiferAaa ped-12-Supervised Learning: Support Vector Machines & Naive Bayes Classifer
Aaa ped-12-Supervised Learning: Support Vector Machines & Naive Bayes Classifer
 
Learning On The Border:Active Learning in Imbalanced classification Data
Learning On The Border:Active Learning in Imbalanced classification DataLearning On The Border:Active Learning in Imbalanced classification Data
Learning On The Border:Active Learning in Imbalanced classification Data
 
Ensemble methods in machine learning
Ensemble methods in machine learningEnsemble methods in machine learning
Ensemble methods in machine learning
 
Ppt shuai
Ppt shuaiPpt shuai
Ppt shuai
 
ID3 ALGORITHM
ID3 ALGORITHMID3 ALGORITHM
ID3 ALGORITHM
 
Evaluating classifierperformance ml-cs6923
Evaluating classifierperformance ml-cs6923Evaluating classifierperformance ml-cs6923
Evaluating classifierperformance ml-cs6923
 
Gradient Boosted Regression Trees in scikit-learn
Gradient Boosted Regression Trees in scikit-learnGradient Boosted Regression Trees in scikit-learn
Gradient Boosted Regression Trees in scikit-learn
 
Decision Trees for Classification: A Machine Learning Algorithm
Decision Trees for Classification: A Machine Learning AlgorithmDecision Trees for Classification: A Machine Learning Algorithm
Decision Trees for Classification: A Machine Learning Algorithm
 
Decision Trees
Decision TreesDecision Trees
Decision Trees
 
Machine Learning Comparative Analysis - Part 1
Machine Learning Comparative Analysis - Part 1Machine Learning Comparative Analysis - Part 1
Machine Learning Comparative Analysis - Part 1
 
Java Programming
Java ProgrammingJava Programming
Java Programming
 
Aaa ped-14-Ensemble Learning: About Ensemble Learning
Aaa ped-14-Ensemble Learning: About Ensemble LearningAaa ped-14-Ensemble Learning: About Ensemble Learning
Aaa ped-14-Ensemble Learning: About Ensemble Learning
 
Introduction on Data Structures
Introduction on Data StructuresIntroduction on Data Structures
Introduction on Data Structures
 
Java Comparable and Comparator
Java Comparable and ComparatorJava Comparable and Comparator
Java Comparable and Comparator
 
Introduction java programming
Introduction java programmingIntroduction java programming
Introduction java programming
 
Logistic Regression using Mahout
Logistic Regression using MahoutLogistic Regression using Mahout
Logistic Regression using Mahout
 

Similar to Aaa ped-15-Ensemble Learning: Random Forests

Machine learning in science and industry — day 2
Machine learning in science and industry — day 2Machine learning in science and industry — day 2
Machine learning in science and industry — day 2arogozhnikov
 
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
 
Aaa ped-16-Unsupervised Learning: clustering
Aaa ped-16-Unsupervised Learning: clusteringAaa ped-16-Unsupervised Learning: clustering
Aaa ped-16-Unsupervised Learning: clusteringAminaRepo
 
Random Forest.pptx
Random Forest.pptxRandom Forest.pptx
Random Forest.pptxSPIDERSRSTV
 
Machine Learning Unit-5 Decesion Trees & Random Forest.pdf
Machine Learning Unit-5 Decesion Trees & Random Forest.pdfMachine Learning Unit-5 Decesion Trees & Random Forest.pdf
Machine Learning Unit-5 Decesion Trees & Random Forest.pdfAdityaSoraut
 
hands on machine learning Chapter 6&7 decision tree, ensemble and random forest
hands on machine learning Chapter 6&7 decision tree, ensemble and random foresthands on machine learning Chapter 6&7 decision tree, ensemble and random forest
hands on machine learning Chapter 6&7 decision tree, ensemble and random forestJaey Jeong
 
Ensemble learning Techniques
Ensemble learning TechniquesEnsemble learning Techniques
Ensemble learning TechniquesBabu Priyavrat
 
Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees Kush Kulshrestha
 
ICANN19: Model-Agnostic Explanations for Decisions using Minimal Pattern
ICANN19: Model-Agnostic Explanations for Decisions using Minimal PatternICANN19: Model-Agnostic Explanations for Decisions using Minimal Pattern
ICANN19: Model-Agnostic Explanations for Decisions using Minimal PatternKohei Asano
 
5.Module_AIML Random Forest.pptx
5.Module_AIML Random Forest.pptx5.Module_AIML Random Forest.pptx
5.Module_AIML Random Forest.pptxPRIYACHAURASIYA25
 
Greedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptGreedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptRuchika Sinha
 
Greedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptGreedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptRuchika Sinha
 
24 Machine Learning Combining Models - Ada Boost
24 Machine Learning Combining Models - Ada Boost24 Machine Learning Combining Models - Ada Boost
24 Machine Learning Combining Models - Ada BoostAndres Mendez-Vazquez
 
module_3_1.pptx
module_3_1.pptxmodule_3_1.pptx
module_3_1.pptxWanderer20
 
module_3_1.pptx
module_3_1.pptxmodule_3_1.pptx
module_3_1.pptxWanderer20
 
BaggingBoosting.pdf
BaggingBoosting.pdfBaggingBoosting.pdf
BaggingBoosting.pdfDynamicPitch
 
Machine Learning using Python
Machine Learning using PythonMachine Learning using Python
Machine Learning using PythonSuraj Kumar Jana
 

Similar to Aaa ped-15-Ensemble Learning: Random Forests (20)

Lec 18-19.pptx
Lec 18-19.pptxLec 18-19.pptx
Lec 18-19.pptx
 
Machine learning in science and industry — day 2
Machine learning in science and industry — day 2Machine learning in science and industry — day 2
Machine learning in science and industry — day 2
 
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
 
Aaa ped-16-Unsupervised Learning: clustering
Aaa ped-16-Unsupervised Learning: clusteringAaa ped-16-Unsupervised Learning: clustering
Aaa ped-16-Unsupervised Learning: clustering
 
Decision tree
Decision tree Decision tree
Decision tree
 
Random Forest.pptx
Random Forest.pptxRandom Forest.pptx
Random Forest.pptx
 
Machine Learning Unit-5 Decesion Trees & Random Forest.pdf
Machine Learning Unit-5 Decesion Trees & Random Forest.pdfMachine Learning Unit-5 Decesion Trees & Random Forest.pdf
Machine Learning Unit-5 Decesion Trees & Random Forest.pdf
 
hands on machine learning Chapter 6&7 decision tree, ensemble and random forest
hands on machine learning Chapter 6&7 decision tree, ensemble and random foresthands on machine learning Chapter 6&7 decision tree, ensemble and random forest
hands on machine learning Chapter 6&7 decision tree, ensemble and random forest
 
Ensemble learning Techniques
Ensemble learning TechniquesEnsemble learning Techniques
Ensemble learning Techniques
 
Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees
 
ICANN19: Model-Agnostic Explanations for Decisions using Minimal Pattern
ICANN19: Model-Agnostic Explanations for Decisions using Minimal PatternICANN19: Model-Agnostic Explanations for Decisions using Minimal Pattern
ICANN19: Model-Agnostic Explanations for Decisions using Minimal Pattern
 
5.Module_AIML Random Forest.pptx
5.Module_AIML Random Forest.pptx5.Module_AIML Random Forest.pptx
5.Module_AIML Random Forest.pptx
 
Greedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptGreedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.ppt
 
Greedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptGreedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.ppt
 
24 Machine Learning Combining Models - Ada Boost
24 Machine Learning Combining Models - Ada Boost24 Machine Learning Combining Models - Ada Boost
24 Machine Learning Combining Models - Ada Boost
 
module_3_1.pptx
module_3_1.pptxmodule_3_1.pptx
module_3_1.pptx
 
module_3_1.pptx
module_3_1.pptxmodule_3_1.pptx
module_3_1.pptx
 
2021 06-02-tabnet
2021 06-02-tabnet2021 06-02-tabnet
2021 06-02-tabnet
 
BaggingBoosting.pdf
BaggingBoosting.pdfBaggingBoosting.pdf
BaggingBoosting.pdf
 
Machine Learning using Python
Machine Learning using PythonMachine Learning using Python
Machine Learning using Python
 

More from AminaRepo

Aaa ped-23-Artificial Neural Network: Keras and Tensorfow
Aaa ped-23-Artificial Neural Network: Keras and TensorfowAaa ped-23-Artificial Neural Network: Keras and Tensorfow
Aaa ped-23-Artificial Neural Network: Keras and TensorfowAminaRepo
 
Aaa ped-22-Artificial Neural Network: Introduction to ANN
Aaa ped-22-Artificial Neural Network: Introduction to ANNAaa ped-22-Artificial Neural Network: Introduction to ANN
Aaa ped-22-Artificial Neural Network: Introduction to ANNAminaRepo
 
Aaa ped-21-Recommender Systems: Content-based Filtering
Aaa ped-21-Recommender Systems: Content-based FilteringAaa ped-21-Recommender Systems: Content-based Filtering
Aaa ped-21-Recommender Systems: Content-based FilteringAminaRepo
 
Aaa ped-20-Recommender Systems: Model-based collaborative filtering
Aaa ped-20-Recommender Systems: Model-based collaborative filteringAaa ped-20-Recommender Systems: Model-based collaborative filtering
Aaa ped-20-Recommender Systems: Model-based collaborative filteringAminaRepo
 
Aaa ped-19-Recommender Systems: Neighborhood-based Filtering
Aaa ped-19-Recommender Systems: Neighborhood-based FilteringAaa ped-19-Recommender Systems: Neighborhood-based Filtering
Aaa ped-19-Recommender Systems: Neighborhood-based FilteringAminaRepo
 
Aaa ped-18-Unsupervised Learning: Association Rule Learning
Aaa ped-18-Unsupervised Learning: Association Rule LearningAaa ped-18-Unsupervised Learning: Association Rule Learning
Aaa ped-18-Unsupervised Learning: Association Rule LearningAminaRepo
 
Aaa ped-17-Unsupervised Learning: Dimensionality reduction
Aaa ped-17-Unsupervised Learning: Dimensionality reductionAaa ped-17-Unsupervised Learning: Dimensionality reduction
Aaa ped-17-Unsupervised Learning: Dimensionality reductionAminaRepo
 
Aaa ped-11-Supervised Learning: Multivariable Regressor & Classifers
Aaa ped-11-Supervised Learning: Multivariable Regressor & ClassifersAaa ped-11-Supervised Learning: Multivariable Regressor & Classifers
Aaa ped-11-Supervised Learning: Multivariable Regressor & ClassifersAminaRepo
 
Aaa ped-10-Supervised Learning: Introduction to Supervised Learning
Aaa ped-10-Supervised Learning: Introduction to Supervised LearningAaa ped-10-Supervised Learning: Introduction to Supervised Learning
Aaa ped-10-Supervised Learning: Introduction to Supervised LearningAminaRepo
 
Aaa ped-9-Data manipulation: Time Series & Geographical visualization
Aaa ped-9-Data manipulation: Time Series & Geographical visualizationAaa ped-9-Data manipulation: Time Series & Geographical visualization
Aaa ped-9-Data manipulation: Time Series & Geographical visualizationAminaRepo
 
Aaa ped-Data-8- manipulation: Plotting and Visualization
Aaa ped-Data-8- manipulation: Plotting and VisualizationAaa ped-Data-8- manipulation: Plotting and Visualization
Aaa ped-Data-8- manipulation: Plotting and VisualizationAminaRepo
 
Aaa ped-8- Data manipulation: Data wrangling, aggregation, and group operations
Aaa ped-8- Data manipulation: Data wrangling, aggregation, and group operationsAaa ped-8- Data manipulation: Data wrangling, aggregation, and group operations
Aaa ped-8- Data manipulation: Data wrangling, aggregation, and group operationsAminaRepo
 
Aaa ped-6-Data manipulation: Data Files, and Data Cleaning & Preparation
Aaa ped-6-Data manipulation:  Data Files, and Data Cleaning & PreparationAaa ped-6-Data manipulation:  Data Files, and Data Cleaning & Preparation
Aaa ped-6-Data manipulation: Data Files, and Data Cleaning & PreparationAminaRepo
 
Aaa ped-5-Data manipulation: Pandas
Aaa ped-5-Data manipulation: Pandas Aaa ped-5-Data manipulation: Pandas
Aaa ped-5-Data manipulation: Pandas AminaRepo
 
Aaa ped-4- Data manipulation: Numpy
Aaa ped-4- Data manipulation: Numpy Aaa ped-4- Data manipulation: Numpy
Aaa ped-4- Data manipulation: Numpy AminaRepo
 
Aaa ped-3. Pythond: advanced concepts
Aaa ped-3. Pythond: advanced conceptsAaa ped-3. Pythond: advanced concepts
Aaa ped-3. Pythond: advanced conceptsAminaRepo
 
Aaa ped-2- Python: Basics
Aaa ped-2- Python: BasicsAaa ped-2- Python: Basics
Aaa ped-2- Python: BasicsAminaRepo
 
Aaa ped-1- Python: Introduction to AI, Python and Colab
Aaa ped-1- Python: Introduction to AI, Python and ColabAaa ped-1- Python: Introduction to AI, Python and Colab
Aaa ped-1- Python: Introduction to AI, Python and ColabAminaRepo
 
Aaa ped-24- Reinforcement Learning
Aaa ped-24- Reinforcement LearningAaa ped-24- Reinforcement Learning
Aaa ped-24- Reinforcement LearningAminaRepo
 

More from AminaRepo (19)

Aaa ped-23-Artificial Neural Network: Keras and Tensorfow
Aaa ped-23-Artificial Neural Network: Keras and TensorfowAaa ped-23-Artificial Neural Network: Keras and Tensorfow
Aaa ped-23-Artificial Neural Network: Keras and Tensorfow
 
Aaa ped-22-Artificial Neural Network: Introduction to ANN
Aaa ped-22-Artificial Neural Network: Introduction to ANNAaa ped-22-Artificial Neural Network: Introduction to ANN
Aaa ped-22-Artificial Neural Network: Introduction to ANN
 
Aaa ped-21-Recommender Systems: Content-based Filtering
Aaa ped-21-Recommender Systems: Content-based FilteringAaa ped-21-Recommender Systems: Content-based Filtering
Aaa ped-21-Recommender Systems: Content-based Filtering
 
Aaa ped-20-Recommender Systems: Model-based collaborative filtering
Aaa ped-20-Recommender Systems: Model-based collaborative filteringAaa ped-20-Recommender Systems: Model-based collaborative filtering
Aaa ped-20-Recommender Systems: Model-based collaborative filtering
 
Aaa ped-19-Recommender Systems: Neighborhood-based Filtering
Aaa ped-19-Recommender Systems: Neighborhood-based FilteringAaa ped-19-Recommender Systems: Neighborhood-based Filtering
Aaa ped-19-Recommender Systems: Neighborhood-based Filtering
 
Aaa ped-18-Unsupervised Learning: Association Rule Learning
Aaa ped-18-Unsupervised Learning: Association Rule LearningAaa ped-18-Unsupervised Learning: Association Rule Learning
Aaa ped-18-Unsupervised Learning: Association Rule Learning
 
Aaa ped-17-Unsupervised Learning: Dimensionality reduction
Aaa ped-17-Unsupervised Learning: Dimensionality reductionAaa ped-17-Unsupervised Learning: Dimensionality reduction
Aaa ped-17-Unsupervised Learning: Dimensionality reduction
 
Aaa ped-11-Supervised Learning: Multivariable Regressor & Classifers
Aaa ped-11-Supervised Learning: Multivariable Regressor & ClassifersAaa ped-11-Supervised Learning: Multivariable Regressor & Classifers
Aaa ped-11-Supervised Learning: Multivariable Regressor & Classifers
 
Aaa ped-10-Supervised Learning: Introduction to Supervised Learning
Aaa ped-10-Supervised Learning: Introduction to Supervised LearningAaa ped-10-Supervised Learning: Introduction to Supervised Learning
Aaa ped-10-Supervised Learning: Introduction to Supervised Learning
 
Aaa ped-9-Data manipulation: Time Series & Geographical visualization
Aaa ped-9-Data manipulation: Time Series & Geographical visualizationAaa ped-9-Data manipulation: Time Series & Geographical visualization
Aaa ped-9-Data manipulation: Time Series & Geographical visualization
 
Aaa ped-Data-8- manipulation: Plotting and Visualization
Aaa ped-Data-8- manipulation: Plotting and VisualizationAaa ped-Data-8- manipulation: Plotting and Visualization
Aaa ped-Data-8- manipulation: Plotting and Visualization
 
Aaa ped-8- Data manipulation: Data wrangling, aggregation, and group operations
Aaa ped-8- Data manipulation: Data wrangling, aggregation, and group operationsAaa ped-8- Data manipulation: Data wrangling, aggregation, and group operations
Aaa ped-8- Data manipulation: Data wrangling, aggregation, and group operations
 
Aaa ped-6-Data manipulation: Data Files, and Data Cleaning & Preparation
Aaa ped-6-Data manipulation:  Data Files, and Data Cleaning & PreparationAaa ped-6-Data manipulation:  Data Files, and Data Cleaning & Preparation
Aaa ped-6-Data manipulation: Data Files, and Data Cleaning & Preparation
 
Aaa ped-5-Data manipulation: Pandas
Aaa ped-5-Data manipulation: Pandas Aaa ped-5-Data manipulation: Pandas
Aaa ped-5-Data manipulation: Pandas
 
Aaa ped-4- Data manipulation: Numpy
Aaa ped-4- Data manipulation: Numpy Aaa ped-4- Data manipulation: Numpy
Aaa ped-4- Data manipulation: Numpy
 
Aaa ped-3. Pythond: advanced concepts
Aaa ped-3. Pythond: advanced conceptsAaa ped-3. Pythond: advanced concepts
Aaa ped-3. Pythond: advanced concepts
 
Aaa ped-2- Python: Basics
Aaa ped-2- Python: BasicsAaa ped-2- Python: Basics
Aaa ped-2- Python: Basics
 
Aaa ped-1- Python: Introduction to AI, Python and Colab
Aaa ped-1- Python: Introduction to AI, Python and ColabAaa ped-1- Python: Introduction to AI, Python and Colab
Aaa ped-1- Python: Introduction to AI, Python and Colab
 
Aaa ped-24- Reinforcement Learning
Aaa ped-24- Reinforcement LearningAaa ped-24- Reinforcement Learning
Aaa ped-24- Reinforcement Learning
 

Recently uploaded

Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡anilsa9823
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptMAESTRELLAMesa2
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsSumit Kumar yadav
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
A relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfA relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfnehabiju2046
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisDiwakar Mishra
 

Recently uploaded (20)

Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.ppt
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
Engler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomyEngler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomy
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questions
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
A relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfA relative description on Sonoporation.pdf
A relative description on Sonoporation.pdf
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
 

Aaa ped-15-Ensemble Learning: Random Forests

  • 2. Plan ● 1- Random Forest ● 2- Extreme Random Forest ● 3- Balanced Random Forest ● 4- Feature Importance ● 5- Grid Search ● 6- Balancing by resampling
  • 3. 3 1-RandomForest [By Amina Delali] ConceptConcept ● A random forest is : Bagging or pasting. + Decision Trees: with random split == Bagging with Decision Trees as classifier. The trees use a random subset of features at each split An ensemble learning method composed only of Decision Trees. They are trained on different random subsets of training data (with or without replacement) . To split a node, the trees select the best features from a random subset of features . ==
  • 4. 4 1-RandomForest [By Amina Delali] Random forest in sklearn: method 1Random forest in sklearn: method 1 ● Using a Bagging Classifer: since a random forest is a special case, of a bagging method. We can use a Bagging Classifer with decision trees as estimator. By specifying the splitter= “random”, at each split, the chosen feature will be the “best random feature”: the best feature from a random subset of features.
  • 5. 5 1-RandomForest [By Amina Delali] Random forest in sklearn: method 2Random forest in sklearn: method 2 ● Using the random forest classifer class: in sklearn, the size of the samples used in the trees is the same as the original data size. There is no “splitter” parameter. Almost all other default parameters are the same. The only one that differs is : max_features which is here set by default to “auto”. The only parameter we had to specify is (to be adequate with the tree of the previous example) is : max_depth max_features =“auto” means that: max_features = sqrt(numb_features) Same parameters used in the bagging classifier for the previous example.
  • 6. 6 2-Extreme RandomForest [By Amina Delali] ConceptConcept ● In Extreme random forests, the thresholds used in the decision trees are selected randomly, instead of choosing the best one. ● They are also called “Extremely randomized Trees” or “Extra Trees”. ● In sklearn, they are: “ExtraTreesClassifer” and “ExtraTreesRegeressor” ● “ExtraTreesClassifer” are random forests, but there is in sklearn “ExtraTreeClassifer” which is a decision tree and not a forest.
  • 8. 8 2-Extreme RandomForest [By Amina Delali] Out of bag scoresOut of bag scores ● The bag refers to the training samples selected and used by a predictor in a bagging method. ● The out of bag, are the remaining samples. ● For each predictor, it is possible to compute its score using its out of bag samples. ● At the end of the training, the average of all these scores will represent the “out of bag score” of the learning method. ● In sklearn, you have to specify: “oob_score =True” as parameter of the bagging method.
  • 9. 9 3-Balanced RandomForest [By Amina Delali] ConceptConcept ● Sometimes, in classifcation, the representation of your classes in the training data is “unbalanced”. For example, in a binary classifcation, you can have a big number of samples belonging to the frst class. And, only few samples related to the other one. ● In this case, the learning method will not be able to classify correctly. ● To avoid this situation, scikit-learn allow us to defne a parameter called: class_weight, with a special value: “balanced” ==> it will attribute bigger weights for less present classes. ● The formula is as follow: n_samples / (n_classes * np.bincount(y)) Count number of occurrences of each value in y
  • 10. 10 3-Balanced RandomForest [By Amina Delali] Example without balancingExample without balancing ● Loading the data, and extracting x and y values We will use yellowbrick library to visualize our classification boundaries.
  • 11. 11 3-Balanced RandomForest [By Amina Delali] Example without balancing (suite)Example without balancing (suite) ● The classes are not balanced We see that some samples belonging to class 0 are predicted to be in class 1 and vice versa.
  • 12. 12 3-Balanced RandomForest [By Amina Delali] Same example with balancingSame example with balancing ● Balanced classes ● We see clearly that the decision boundaries changed: the area of class 0 is bigger now ● But, we have more classes 1 predicted as belonging to class 0.
  • 13. 13 4-GridSearch [By Amina Delali] ConceptConcept ● GridSearch is a tool used to test a learning model with a list of dictionaries containing diferent parameters. ● We will use it to fnd the best parameters for a Random Forest method. We will apply it on the already used iris data. First the first dictionary we have: 9 combinations of parameters. For the second one we have: 12 combinations.
  • 14. 14 4-GridSearch [By Amina Delali] Example resultsExample results ● • We can see that augmenting the number of estimators doesn’t necessary enhance the results. ● Same observation about max_depth value
  • 15. 15 4-GridSearch [By Amina Delali] Best result visualizationBest result visualization ● ● We will display the confusion matrix using yellowbrick. The confusion matrix is printed as a “heat-map”: the best values are the darkest, and vice-versa.
  • 16. 16 5-FeatureImportance [By Amina Delali] ConceptConcept ● The features in a data set have not the same importance. ● In a decision tree, this importance can be deduced from the distance between the appearance of a feature in a decision node and the root. ● In a random forest, the average of the distances corresponding to each tree will represent the feature’s importance. ● Scikit-learn implements this method. We can see clearly that the most important features are: “petal length” and “petal width”
  • 17. 17 5-FeatureImportance [By Amina Delali] Visualization of the features importanceVisualization of the features importance ● Again, we will use yellowbrick. Most important features
  • 18. 18 5-FeatureImportance [By Amina Delali] Comparison of resultsComparison of results ● Using only 2 most important features (same result as using all the features) Using only 2 least important features (same result as using all the features)
  • 19. 19 6-Balancing byresampling [By Amina Delali] ConceptConcept ● An other way to obtain a balanced training set, is to remove samples from the majority class. Which is called: under- sampling. Or, to add new samples belonging to the less represented class. Which is called: over-sampling. ● There is a variety of resampling techniques. The library imbalanced-learn library implements some of them. ● For a RandomForest classifer, it applies: random under- sampling technique with diferent strategies. ● The default one is to : resample all classes but the minority class;
  • 20. 20 6-Balancing byresampling [By Amina Delali] ExampleExample ● In this example, we combine the 2 libraries: yellowbrick and imbalanced-learn
  • 21. 21 6-Balancing byresampling [By Amina Delali] Example (suite)Example (suite) ● We can see that the class 0 region obtained is different than the one obtained using sckit-learn weighting technique
  • 22. References ● Aurélien Géron. Hands-on machine learning with Scikit-Learn and Tensor-Flow: concepts, tools, and techniques to build intelligent systems. O’Reilly Media, Inc, 2017. ● imbalanced learn. User guide. On-line at https://imbalanced- learn.org/en/stable/user_guide.html. Accessed on 09-12-2018. ● Joshi Prateek. Artifcial intelligence with Python. Packt Publishing, 2017. ● Alencar Rafael. Resampling strategies for imbalanced datasets. On-line at https://www.kaggle.com/rafjaa/resampling-strategies-for-imbala nced-datasets Accessed on 09-12-2018. ● Scikit-learn.org. scikit-learn, machine learning in python. On- line at https://scikit-learn.org/stable/. Accessed on 03-11-2018. ● yellowbrick. Yellowbrick: Machine learning visualization. On-line at http://www.scikit-yb.org/en/latest/. Accessed on 09-12-2018.