From e0143528ccaed2dafd7a1c9efce59d020d71954c Mon Sep 17 00:00:00 2001 From: mhjensen Date: Wed, 6 Nov 2019 22:56:19 +0100 Subject: [PATCH] added xgboost example --- .../html/._DecisionTrees-bs000.html | 90 +- .../html/._DecisionTrees-bs001.html | 88 +- .../html/._DecisionTrees-bs002.html | 88 +- .../html/._DecisionTrees-bs003.html | 88 +- .../html/._DecisionTrees-bs004.html | 88 +- .../html/._DecisionTrees-bs005.html | 88 +- .../html/._DecisionTrees-bs006.html | 88 +- .../html/._DecisionTrees-bs007.html | 88 +- .../html/._DecisionTrees-bs008.html | 88 +- .../html/._DecisionTrees-bs009.html | 88 +- .../html/._DecisionTrees-bs010.html | 88 +- .../html/._DecisionTrees-bs011.html | 88 +- .../html/._DecisionTrees-bs012.html | 88 +- .../html/._DecisionTrees-bs013.html | 88 +- .../html/._DecisionTrees-bs014.html | 88 +- .../html/._DecisionTrees-bs015.html | 88 +- .../html/._DecisionTrees-bs016.html | 88 +- .../html/._DecisionTrees-bs017.html | 88 +- .../html/._DecisionTrees-bs018.html | 88 +- .../html/._DecisionTrees-bs019.html | 88 +- .../html/._DecisionTrees-bs020.html | 88 +- .../html/._DecisionTrees-bs021.html | 88 +- .../html/._DecisionTrees-bs022.html | 88 +- .../html/._DecisionTrees-bs023.html | 88 +- .../html/._DecisionTrees-bs024.html | 88 +- .../html/._DecisionTrees-bs025.html | 88 +- .../html/._DecisionTrees-bs026.html | 88 +- .../html/._DecisionTrees-bs027.html | 88 +- .../html/._DecisionTrees-bs028.html | 88 +- .../html/._DecisionTrees-bs029.html | 88 +- .../html/._DecisionTrees-bs030.html | 88 +- .../html/._DecisionTrees-bs031.html | 88 +- .../html/._DecisionTrees-bs032.html | 88 +- .../html/._DecisionTrees-bs033.html | 103 +- .../html/._DecisionTrees-bs034.html | 120 +- .../html/._DecisionTrees-bs035.html | 129 +- .../html/._DecisionTrees-bs036.html | 145 +- .../html/._DecisionTrees-bs037.html | 119 +- .../html/._DecisionTrees-bs038.html | 163 ++- .../html/._DecisionTrees-bs039.html | 167 ++- .../html/._DecisionTrees-bs040.html | 138 +- .../html/._DecisionTrees-bs041.html | 170 +-- .../html/._DecisionTrees-bs042.html | 166 ++- .../html/._DecisionTrees-bs043.html | 108 +- .../html/._DecisionTrees-bs044.html | 101 +- .../html/._DecisionTrees-bs045.html | 110 +- .../html/._DecisionTrees-bs046.html | 129 +- .../html/._DecisionTrees-bs047.html | 124 +- .../html/._DecisionTrees-bs048.html | 127 +- .../html/._DecisionTrees-bs049.html | 129 +- .../html/._DecisionTrees-bs050.html | 114 +- .../html/._DecisionTrees-bs051.html | 193 +-- .../html/._DecisionTrees-bs052.html | 199 +-- .../html/._DecisionTrees-bs053.html | 156 +- .../DecisionTrees/html/DecisionTrees-bs.html | 90 +- .../html/DecisionTrees-reveal.html | 62 +- .../html/DecisionTrees-solarized.html | 105 +- doc/pub/DecisionTrees/html/DecisionTrees.html | 105 +- .../DecisionTrees/ipynb/DecisionTrees.ipynb | 1275 +++-------------- .../ipynb/ipynb-DecisionTrees-src.tar.gz | Bin 213983 -> 294061 bytes .../pdf/DecisionTrees-minted.pdf | Bin 445114 -> 528514 bytes .../DataFiles/ensembleoverview.png | Bin 0 -> 81932 bytes doc/src/DecisionTrees/DecisionTrees.do.txt | 16 +- doc/src/DecisionTrees/Programs/rfcancer.py | 35 +- 64 files changed, 3356 insertions(+), 4148 deletions(-) create mode 100644 doc/src/DecisionTrees/DataFiles/ensembleoverview.png diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html index d44f3e9dc..532859bcb 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -249,7 +251,7 @@ MathJax.Hub.Config({
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

    -

    Nov 5, 2019

    +

    Nov 6, 2019


    @@ -273,7 +275,7 @@ MathJax.Hub.Config({

  • 9
  • 10
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html index f9d50de42..b7c6325e5 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -278,7 +280,7 @@ given some assumptions, make predictions about the target feature value
  • 10
  • 11
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs002.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs002.html index 61ed7cf48..a8748ce44 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs002.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs002.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -256,7 +258,7 @@ This tree was produced using the Wisconsin cancer data (discussed here as well,
  • 11
  • 12
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs003.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs003.html index 116fc194b..56f38313c 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs003.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs003.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -264,7 +266,7 @@ node.
  • 12
  • 13
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs004.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs004.html index 6d46d19cf..b5bc1fc5a 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs004.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs004.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -265,7 +267,7 @@ Then we are essentially done!
  • 13
  • 14
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs005.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs005.html index 43a694004..4f74844c7 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs005.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs005.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -344,7 +346,7 @@ plt.show()
  • 14
  • 15
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs006.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs006.html index ad7ba5d22..1ba0164b2 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs006.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs006.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -277,7 +279,7 @@ within box \( j \).
  • 15
  • 16
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs007.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs007.html index c2aa59226..3663532e9 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs007.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs007.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -269,7 +271,7 @@ better tree in some future step.
  • 16
  • 17
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs008.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs008.html index 6e65bb774..ad64a1ba1 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs008.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs008.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -302,7 +304,7 @@ region contains more than five observations.
  • 17
  • 18
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs009.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs009.html index da729347a..52d193278 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs009.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs009.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -271,7 +273,7 @@ parameter \( \alpha \).
  • 18
  • 19
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs010.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs010.html index 7f434547a..b2f5cacf7 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs010.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs010.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -284,7 +286,7 @@ subtree corresponding to \( \alpha \).
  • 19
  • 20
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs011.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs011.html index eda8fd1f1..68a3f02d3 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs011.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs011.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -280,7 +282,7 @@ MathJax.Hub.Config({
  • 20
  • 21
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs012.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs012.html index b5c8465ff..42cffb0de 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs012.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs012.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -272,7 +274,7 @@ fall into that region.
  • 21
  • 22
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs013.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs013.html index 096e9532c..5733e08f7 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs013.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs013.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -277,7 +279,7 @@ than is the classification error rate.
  • 22
  • 23
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs014.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs014.html index 07727f977..88ae28e91 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs014.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs014.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -303,7 +305,7 @@ $$
  • 23
  • 24
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs015.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs015.html index 28e41e197..818a8d847 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs015.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs015.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -294,7 +296,7 @@ os.system(cmd)
  • 24
  • 25
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs016.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs016.html index eae1cedb0..b5710e68c 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs016.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs016.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -285,7 +287,7 @@ os.system(cmd)
  • 25
  • 26
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs017.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs017.html index e21a486a1..3e07f6869 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs017.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs017.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -266,7 +268,7 @@ We discuss both algorithms with applications here. The popular library -Scikit-L
  • 26
  • 27
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs018.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs018.html index 22fb991f5..62dbbc302 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs018.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs018.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -258,7 +260,7 @@ MathJax.Hub.Config({
  • 27
  • 28
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs019.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs019.html index c1b270ff4..8b19e19bb 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs019.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs019.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -258,7 +260,7 @@ MathJax.Hub.Config({
  • 28
  • 29
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs020.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs020.html index 0615b8301..a915226ba 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs020.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs020.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -298,7 +300,7 @@ The table here summarizes the various attributes and
  • 29
  • 30
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs021.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs021.html index dafcb108a..cf72c7947 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs021.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs021.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -329,7 +331,7 @@ os.system(cmd)
  • 30
  • 31
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs022.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs022.html index 081cbcb0a..e7b8aa064 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs022.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs022.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -331,7 +333,7 @@ split = get_split(dataset)
  • 31
  • 32
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs023.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs023.html index 8da93e536..39dd82763 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs023.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs023.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -289,7 +291,7 @@ attributes at each step while growing the tree.
  • 32
  • 33
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs024.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs024.html index c1b3ddd9c..f4ea06f2d 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs024.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs024.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -449,7 +451,7 @@ MathJax.Hub.Config({
  • 33
  • 34
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs025.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs025.html index d15b58644..f66bca351 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs025.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs025.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -302,7 +304,7 @@ deep_tree_clf.fit(X_train_scaled, y_train)
  • 34
  • 35
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs026.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs026.html index e9148a901..5a7c5c524 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs026.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs026.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -325,7 +327,7 @@ plt.show()
  • 35
  • 36
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs027.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs027.html index 361b898f1..968b88265 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs027.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs027.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -281,7 +283,7 @@ plt.show()
  • 36
  • 37
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs028.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs028.html index 2d4dcc7f0..999e10fd3 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs028.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs028.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -275,7 +277,7 @@ tree_reg.fit(X, y)
  • 37
  • 38
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs029.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs029.html index 02dc79e85..763697a01 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs029.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs029.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -331,7 +333,7 @@ plt.show()
  • 38
  • 39
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs030.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs030.html index 26491eaa6..713e3bf13 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs030.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs030.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -267,7 +269,7 @@ MathJax.Hub.Config({
  • 39
  • 40
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs031.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs031.html index f08c9f7b7..c6626c3b9 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs031.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs031.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -270,7 +272,7 @@ However, by aggregating many decision trees, using methods like bagging, random
  • 40
  • 41
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs032.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs032.html index 97b823338..ed1d0ac50 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs032.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs032.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -277,7 +279,7 @@ We discuss these methods here.
  • 41
  • 42
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs033.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs033.html index 1d96f5fdc..7332fd504 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs033.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs033.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,21 +232,10 @@ MathJax.Hub.Config({ -

    Bagging

    +

    An Overview of Ensemble Methods

    -The plain decision trees suffer from high -variance. This means that if we split the training data into two parts -at random, and fit a decision tree to both halves, the results that we -get could be quite different. In contrast, a procedure with low -variance will yield similar results if applied repeatedly to distinct -data sets; linear regression tends to have low variance, if the ratio -of \( n \) to \( p \) is moderately large. - -

    -Bootstrap aggregation, or just bagging, is a -general-purpose procedure for reducing the variance of a statistical -learning method. +



    @@ -272,7 +263,7 @@ learning method.

  • 42
  • 43
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs034.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs034.html index 39ad277b2..095abbcbb 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs034.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs034.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,31 +232,21 @@ MathJax.Hub.Config({ -

    More bagging

    +

    Bagging

    -Bagging typically results in improved accuracy -over prediction using a single tree. Unfortunately, however, it can be -difficult to interpret the resulting model. Recall that one of the -advantages of decision trees is the attractive and easily interpreted -diagram that results. +The plain decision trees suffer from high +variance. This means that if we split the training data into two parts +at random, and fit a decision tree to both halves, the results that we +get could be quite different. In contrast, a procedure with low +variance will yield similar results if applied repeatedly to distinct +data sets; linear regression tends to have low variance, if the ratio +of \( n \) to \( p \) is moderately large.

    -However, when we bag a large number of trees, it is no longer -possible to represent the resulting statistical learning procedure -using a single tree, and it is no longer clear which variables are -most important to the procedure. Thus, bagging improves prediction -accuracy at the expense of interpretability. Although the collection -of bagged trees is much more difficult to interpret than a single -tree, one can obtain an overall summary of the importance of each -predictor using the MSE (for bagging regression trees) or the Gini -index (for bagging classification trees). In the case of bagging -regression trees, we can record the total amount that the MSE is -decreased due to splits over a given predictor, averaged over all \( B \) possible -trees. A large value indicates an important predictor. Similarly, in -the context of bagging classification trees, we can add up the total -amount that the Gini index is decreased by splits over a given -predictor, averaged over all \( B \) trees. +Bootstrap aggregation, or just bagging, is a +general-purpose procedure for reducing the variance of a statistical +learning method.

    @@ -282,7 +274,7 @@ predictor, averaged over all \( B \) trees.

  • 43
  • 44
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs035.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs035.html index 4d249c000..3879ad651 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs035.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs035.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,23 +232,32 @@ MathJax.Hub.Config({ -

    Simple Voting Example, head or tail

    -

    +

    More bagging

    + +

    +Bagging typically results in improved accuracy +over prediction using a single tree. Unfortunately, however, it can be +difficult to interpret the resulting model. Recall that one of the +advantages of decision trees is the attractive and easily interpreted +diagram that results. + +

    +However, when we bag a large number of trees, it is no longer +possible to represent the resulting statistical learning procedure +using a single tree, and it is no longer clear which variables are +most important to the procedure. Thus, bagging improves prediction +accuracy at the expense of interpretability. Although the collection +of bagged trees is much more difficult to interpret than a single +tree, one can obtain an overall summary of the importance of each +predictor using the MSE (for bagging regression trees) or the Gini +index (for bagging classification trees). In the case of bagging +regression trees, we can record the total amount that the MSE is +decreased due to splits over a given predictor, averaged over all \( B \) possible +trees. A large value indicates an important predictor. Similarly, in +the context of bagging classification trees, we can add up the total +amount that the Gini index is decreased by splits over a given +predictor, averaged over all \( B \) trees. - -

    heads_proba = 0.51
    -coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32)
    -cumulative_heads_ratio = np.cumsum(coin_tosses, axis=0) / np.arange(1, 10001).reshape(-1, 1)
    -plt.figure(figsize=(8,3.5))
    -plt.plot(cumulative_heads_ratio)
    -plt.plot([0, 10000], [0.51, 0.51], "k--", linewidth=2, label="51%")
    -plt.plot([0, 10000], [0.5, 0.5], "k-", label="50%")
    -plt.xlabel("Number of coin tosses")
    -plt.ylabel("Heads ratio")
    -plt.legend(loc="lower right")
    -plt.axis([0, 10000, 0.42, 0.58])
    -plt.show()
    -

    @@ -273,7 +284,7 @@ plt.show()

  • 44
  • 45
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs036.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs036.html index 38dc2899e..1480014a9 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs036.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs036.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,53 +232,22 @@ MathJax.Hub.Config({ -

    Using the Voting Classifier

    +

    Simple Voting Example, head or tail

    -

    from sklearn.model_selection import train_test_split
    -from sklearn.datasets import make_moons
    -
    -X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    -
    -from sklearn.ensemble import RandomForestClassifier
    -from sklearn.ensemble import VotingClassifier
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.svm import SVC
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='hard')
    -
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", probability=True, random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='soft')
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    +
    heads_proba = 0.51
    +coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32)
    +cumulative_heads_ratio = np.cumsum(coin_tosses, axis=0) / np.arange(1, 10001).reshape(-1, 1)
    +plt.figure(figsize=(8,3.5))
    +plt.plot(cumulative_heads_ratio)
    +plt.plot([0, 10000], [0.51, 0.51], "k--", linewidth=2, label="51%")
    +plt.plot([0, 10000], [0.5, 0.5], "k-", label="50%")
    +plt.xlabel("Number of coin tosses")
    +plt.ylabel("Heads ratio")
    +plt.legend(loc="lower right")
    +plt.axis([0, 10000, 0.42, 0.58])
    +plt.show()
     

    @@ -304,7 +275,7 @@ voting_clf.fit(X_train, y_train)

  • 45
  • 46
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs037.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs037.html index 2ac864af2..4f248f6f5 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs037.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs037.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,7 +232,7 @@ MathJax.Hub.Config({ -

    Please, not the moons again! Voting and Bagging

    +

    Using the Voting Classifier

    @@ -239,46 +241,39 @@ MathJax.Hub.Config({ X, y = make_moons(n_samples=500, noise=0.30, random_state=42) X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42) + from sklearn.ensemble import RandomForestClassifier from sklearn.ensemble import VotingClassifier from sklearn.linear_model import LogisticRegression from sklearn.svm import SVC -log_clf = LogisticRegression(random_state=42) -rnd_clf = RandomForestClassifier(random_state=42) -svm_clf = SVC(random_state=42) +log_clf = LogisticRegression(solver="liblinear", random_state=42) +rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42) +svm_clf = SVC(gamma="auto", random_state=42) voting_clf = VotingClassifier( estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)], voting='hard') -voting_clf.fit(X_train, y_train) -

    -

    - -

    from sklearn.metrics import accuracy_score
    +voting_clf.fit(X_train, y_train)
    +
    +from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    - -

    log_clf = LogisticRegression(random_state=42)
    -rnd_clf = RandomForestClassifier(random_state=42)
    -svm_clf = SVC(probability=True, random_state=42)
    +log_clf = LogisticRegression(solver="liblinear", random_state=42)
    +rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    +svm_clf = SVC(gamma="auto", probability=True, random_state=42)
     
     voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='soft')
     voting_clf.fit(X_train, y_train)
    -
    -

    - -

    from sklearn.metrics import accuracy_score
    +from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
    @@ -311,7 +306,7 @@ voting_clf.fit(X_train, y_train)
       
  • 46
  • 47
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs038.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs038.html index aaf42f6a9..17feef8c7 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs038.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs038.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,63 +232,60 @@ MathJax.Hub.Config({ -

    Now Bagging

    - +

    Please, not the moons again! Voting and Bagging

    -

    from sklearn.ensemble import BaggingClassifier
    -from sklearn.tree import DecisionTreeClassifier
    +
    from sklearn.model_selection import train_test_split
    +from sklearn.datasets import make_moons
     
    -bag_clf = BaggingClassifier(
    -    DecisionTreeClassifier(random_state=42), n_estimators=500,
    -    max_samples=100, bootstrap=True, n_jobs=-1, random_state=42)
    -bag_clf.fit(X_train, y_train)
    -y_pred = bag_clf.predict(X_test)
    +X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    +X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    +from sklearn.ensemble import RandomForestClassifier
    +from sklearn.ensemble import VotingClassifier
    +from sklearn.linear_model import LogisticRegression
    +from sklearn.svm import SVC
    +
    +log_clf = LogisticRegression(random_state=42)
    +rnd_clf = RandomForestClassifier(random_state=42)
    +svm_clf = SVC(random_state=42)
    +
    +voting_clf = VotingClassifier(
    +    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    +    voting='hard')
    +voting_clf.fit(X_train, y_train)
     

    from sklearn.metrics import accuracy_score
    -print(accuracy_score(y_test, y_pred))
    +
    +for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    +    clf.fit(X_train, y_train)
    +    y_pred = clf.predict(X_test)
    +    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
     

    -

    tree_clf = DecisionTreeClassifier(random_state=42)
    -tree_clf.fit(X_train, y_train)
    -y_pred_tree = tree_clf.predict(X_test)
    -print(accuracy_score(y_test, y_pred_tree))
    +
    log_clf = LogisticRegression(random_state=42)
    +rnd_clf = RandomForestClassifier(random_state=42)
    +svm_clf = SVC(probability=True, random_state=42)
    +
    +voting_clf = VotingClassifier(
    +    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    +    voting='soft')
    +voting_clf.fit(X_train, y_train)
     

    -

    from matplotlib.colors import ListedColormap
    +
    from sklearn.metrics import accuracy_score
     
    -def plot_decision_boundary(clf, X, y, axes=[-1.5, 2.5, -1, 1.5], alpha=0.5, contour=True):
    -    x1s = np.linspace(axes[0], axes[1], 100)
    -    x2s = np.linspace(axes[2], axes[3], 100)
    -    x1, x2 = np.meshgrid(x1s, x2s)
    -    X_new = np.c_[x1.ravel(), x2.ravel()]
    -    y_pred = clf.predict(X_new).reshape(x1.shape)
    -    custom_cmap = ListedColormap(['#fafab0','#9898ff','#a0faa0'])
    -    plt.contourf(x1, x2, y_pred, alpha=0.3, cmap=custom_cmap)
    -    if contour:
    -        custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50'])
    -        plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8)
    -    plt.plot(X[:, 0][y==0], X[:, 1][y==0], "yo", alpha=alpha)
    -    plt.plot(X[:, 0][y==1], X[:, 1][y==1], "bs", alpha=alpha)
    -    plt.axis(axes)
    -    plt.xlabel(r"$x_1$", fontsize=18)
    -    plt.ylabel(r"$x_2$", fontsize=18, rotation=0)
    -plt.figure(figsize=(11,4))
    -plt.subplot(121)
    -plot_decision_boundary(tree_clf, X, y)
    -plt.title("Decision Tree", fontsize=14)
    -plt.subplot(122)
    -plot_decision_boundary(bag_clf, X, y)
    -plt.title("Decision Trees with Bagging", fontsize=14)
    -plt.show()
    +for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    +    clf.fit(X_train, y_train)
    +    y_pred = clf.predict(X_test)
    +    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
     

    @@ -314,7 +313,7 @@ plt.show()

  • 47
  • 48
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs039.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs039.html index 2f2ba5519..ccb8fad5c 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs039.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs039.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,47 +232,64 @@ MathJax.Hub.Config({ -

    Random forests

    +

    Now Bagging

    -Random forests provide an improvement over bagged trees by way of a -small tweak that decorrelates the trees. + +

    from sklearn.ensemble import BaggingClassifier
    +from sklearn.tree import DecisionTreeClassifier
    +
    +bag_clf = BaggingClassifier(
    +    DecisionTreeClassifier(random_state=42), n_estimators=500,
    +    max_samples=100, bootstrap=True, n_jobs=-1, random_state=42)
    +bag_clf.fit(X_train, y_train)
    +y_pred = bag_clf.predict(X_test)
    +

    -As in bagging, we build a -number of decision trees on bootstrapped training samples. But when -building these decision trees, each time a split in a tree is -considered, a random sample of \( m \) predictors is chosen as split -candidates from the full set of \( p \) predictors. The split is allowed to -use only one of those \( m \) predictors. + +

    from sklearn.metrics import accuracy_score
    +print(accuracy_score(y_test, y_pred))
    +

    -A fresh sample of \( m \) predictors is -taken at each split, and typically we choose - -$$ -m\approx \sqrt{p}. -$$ + +

    tree_clf = DecisionTreeClassifier(random_state=42)
    +tree_clf.fit(X_train, y_train)
    +y_pred_tree = tree_clf.predict(X_test)
    +print(accuracy_score(y_test, y_pred_tree))
    +

    -In building a random forest, at -each split in the tree, the algorithm is not even allowed to consider -a majority of the available predictors. -

    -The reason for this is rather clever. Suppose that there is one very -strong predictor in the data set, along with a number of other -moderately strong predictors. Then in the collection of bagged -variable importance random forest trees, most or all of the trees will -use this strong predictor in the top split. Consequently, all of the -bagged trees will look quite similar to each other. Hence the -predictions from the bagged trees will be highly correlated. -Unfortunately, averaging many highly correlated quantities does not -lead to as large of a reduction in variance as averaging many -uncorrelated quanti- ties. In particular, this means that bagging will -not lead to a substantial reduction in variance over a single tree in -this setting. + +

    from matplotlib.colors import ListedColormap
     
    +def plot_decision_boundary(clf, X, y, axes=[-1.5, 2.5, -1, 1.5], alpha=0.5, contour=True):
    +    x1s = np.linspace(axes[0], axes[1], 100)
    +    x2s = np.linspace(axes[2], axes[3], 100)
    +    x1, x2 = np.meshgrid(x1s, x2s)
    +    X_new = np.c_[x1.ravel(), x2.ravel()]
    +    y_pred = clf.predict(X_new).reshape(x1.shape)
    +    custom_cmap = ListedColormap(['#fafab0','#9898ff','#a0faa0'])
    +    plt.contourf(x1, x2, y_pred, alpha=0.3, cmap=custom_cmap)
    +    if contour:
    +        custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50'])
    +        plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8)
    +    plt.plot(X[:, 0][y==0], X[:, 1][y==0], "yo", alpha=alpha)
    +    plt.plot(X[:, 0][y==1], X[:, 1][y==1], "bs", alpha=alpha)
    +    plt.axis(axes)
    +    plt.xlabel(r"$x_1$", fontsize=18)
    +    plt.ylabel(r"$x_2$", fontsize=18, rotation=0)
    +plt.figure(figsize=(11,4))
    +plt.subplot(121)
    +plot_decision_boundary(tree_clf, X, y)
    +plt.title("Decision Tree", fontsize=14)
    +plt.subplot(122)
    +plot_decision_boundary(bag_clf, X, y)
    +plt.title("Decision Trees with Bagging", fontsize=14)
    +plt.show()
    +

    @@ -297,7 +316,7 @@ this setting.

  • 48
  • 49
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs040.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs040.html index f14ffae64..7ebfb7732 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs040.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs040.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,30 +232,48 @@ MathJax.Hub.Config({ -

    Random Forest Algorithm

    -The algorithm described here can be applied to both classification and regression problems. +

    Random forests

    -We will grow of forest of say \( M \) trees. +Random forests provide an improvement over bagged trees by way of a +small tweak that decorrelates the trees. -

      -
    1. For \( m=1:M \) we
    2. +

      +As in bagging, we build a +number of decision trees on bootstrapped training samples. But when +building these decision trees, each time a split in a tree is +considered, a random sample of \( m \) predictors is chosen as split +candidates from the full set of \( p \) predictors. The split is allowed to +use only one of those \( m \) predictors. -

        -
      • Draw a bootstrap sample of from the training data organized in our \( \boldsymbol{X} \) matrix.
      • -
      • We grow then a random forest tree \( T_m \) based on the bootstrapped data by repeating the steps outlined till we reach the maximum node size is reached
      • +

        +A fresh sample of \( m \) predictors is +taken at each split, and typically we choose -

          -
        1. we select \( m \le p \) varibales at random from the \( p \) predictors/features
        2. -
        3. pick the best split point among the \( m \) features using either the CART algorithm or the ID3 for classification and create a new node
        4. -
        5. split the node into daughter nodes
        6. -
        +$$ +m\approx \sqrt{p}. +$$ -
      +

      +In building a random forest, at +each split in the tree, the algorithm is not even allowed to consider +a majority of the available predictors. -

    3. Output then the ensemble of trees \( \{T_m\}_1^{M} \) and make predictions for either a regression type of problem or a classification type of problem.
    4. -
    +

    +The reason for this is rather clever. Suppose that there is one very +strong predictor in the data set, along with a number of other +moderately strong predictors. Then in the collection of bagged +variable importance random forest trees, most or all of the trees will +use this strong predictor in the top split. Consequently, all of the +bagged trees will look quite similar to each other. Hence the +predictions from the bagged trees will be highly correlated. +Unfortunately, averaging many highly correlated quantities does not +lead to as large of a reduction in variance as averaging many +uncorrelated quanti- ties. In particular, this means that bagging will +not lead to a substantial reduction in variance over a single tree in +this setting. +

      @@ -279,7 +299,7 @@ We will grow of forest of say \( M \) trees.
    • 49
    • 50
    • ...
    • -
    • 54
    • +
    • 55
    • »
    diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs041.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs041.html index 78b84e253..09e205e9c 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs041.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs041.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,78 +232,30 @@ MathJax.Hub.Config({ -

    Random Forests Compared with other Methods on the Cancer Data

    +

    Random Forest Algorithm

    +The algorithm described here can be applied to both classification and regression problems. +

    +We will grow of forest of say \( M \) trees. - -

    import matplotlib.pyplot as plt
    -import numpy as np
    -from sklearn.model_selection import  train_test_split 
    -from sklearn.datasets import load_breast_cancer
    -from sklearn.svm import SVC
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.tree import DecisionTreeClassifier
    +
      +
    1. For \( m=1:M \) we
    2. -# Load the data -cancer = load_breast_cancer() +
        +
      • Draw a bootstrap sample of from the training data organized in our \( \boldsymbol{X} \) matrix.
      • +
      • We grow then a random forest tree \( T_m \) based on the bootstrapped data by repeating the steps outlined till we reach the maximum node size is reached
      • -X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0) -print(X_train.shape) -print(X_test.shape) -# Logistic Regression -logreg = LogisticRegression(solver='lbfgs') -logreg.fit(X_train, y_train) -print("Test set accuracy with Logistic Regression: {:.2f}".format(logreg.score(X_test,y_test))) -# Support vector machine -svm = SVC(gamma='auto', C=100) -svm.fit(X_train, y_train) -print("Test set accuracy with SVM: {:.2f}".format(svm.score(X_test,y_test))) -# Decision Trees -deep_tree_clf = DecisionTreeClassifier(max_depth=None) -deep_tree_clf.fit(X_train, y_train) -print("Test set accuracy with Decision Trees: {:.2f}".format(deep_tree_clf.score(X_test,y_test))) -#now scale the data -from sklearn.preprocessing import StandardScaler -scaler = StandardScaler() -scaler.fit(X_train) -X_train_scaled = scaler.transform(X_train) -X_test_scaled = scaler.transform(X_test) -# Logistic Regression -logreg.fit(X_train_scaled, y_train) -print("Test set accuracy Logistic Regression with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test))) -# Support Vector Machine -svm.fit(X_train_scaled, y_train) -print("Test set accuracy SVM with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test))) -# Decision Trees -deep_tree_clf.fit(X_train_scaled, y_train) -print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test))) +
          +
        1. we select \( m \le p \) varibales at random from the \( p \) predictors/features
        2. +
        3. pick the best split point among the \( m \) features using either the CART algorithm or the ID3 for classification and create a new node
        4. +
        5. split the node into daughter nodes
        6. +
        +
      -from sklearn.ensemble import RandomForestClassifier -from sklearn.preprocessing import LabelEncoder -from sklearn.model_selection import cross_validate -# Data set not specificied -#Instantiate the model with 500 trees and entropy as splitting criteria -Random_Forest_model = RandomForestClassifier(n_estimators=500,criterion="entropy") -Random_Forest_model.fit(X_train_scaled, y_train) -#Cross validation -accuracy = cross_validate(Random_Forest_model,X_test_scaled,y_test,cv=10)['test_score'] -print(accuracy) -print("Test set accuracy with Random Forests and scaled data: {:.2f}".format(Random_Forest_model.score(X_test_scaled,y_test))) +
    3. Output then the ensemble of trees \( \{T_m\}_1^{M} \) and make predictions for either a regression type of problem or a classification type of problem.
    4. +
    - -import scikitplot as skplt -y_pred = Random_Forest_model.predict(X_test_scaled) -skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True) -#<matplotlib.axes._subplots.AxesSubplot object at 0x7fe967d64490> -plt.show() -y_probas = Random_Forest_model.predict_proba(X_test_scaled) -skplt.metrics.plot_roc(y_test, y_probas) -plt.show() -skplt.metrics.plot_cumulative_gain(y_test, y_probas) -plt.show() -
    -

    diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs042.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs042.html index 9b3514df5..8cbdfe4b6 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs042.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs042.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,24 +232,76 @@ MathJax.Hub.Config({ -

    Compare Bagging on Trees with Random Forests

    +

    Random Forests Compared with other Methods on the Cancer Data

    -

    bag_clf = BaggingClassifier(
    -    DecisionTreeClassifier(splitter="random", max_leaf_nodes=16, random_state=42),
    -    n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)
    -
    -

    +

    import matplotlib.pyplot as plt
    +import numpy as np
    +from sklearn.model_selection import  train_test_split 
    +from sklearn.datasets import load_breast_cancer
    +from sklearn.svm import SVC
    +from sklearn.linear_model import LogisticRegression
    +from sklearn.tree import DecisionTreeClassifier
    +
    +# Load the data
    +cancer = load_breast_cancer()
    +
    +X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)
    +print(X_train.shape)
    +print(X_test.shape)
    +# Logistic Regression
    +logreg = LogisticRegression(solver='lbfgs')
    +logreg.fit(X_train, y_train)
    +print("Test set accuracy with Logistic Regression: {:.2f}".format(logreg.score(X_test,y_test)))
    +# Support vector machine
    +svm = SVC(gamma='auto', C=100)
    +svm.fit(X_train, y_train)
    +print("Test set accuracy with SVM: {:.2f}".format(svm.score(X_test,y_test)))
    +# Decision Trees
    +deep_tree_clf = DecisionTreeClassifier(max_depth=None)
    +deep_tree_clf.fit(X_train, y_train)
    +print("Test set accuracy with Decision Trees: {:.2f}".format(deep_tree_clf.score(X_test,y_test)))
    +#now scale the data
    +from sklearn.preprocessing import StandardScaler
    +scaler = StandardScaler()
    +scaler.fit(X_train)
    +X_train_scaled = scaler.transform(X_train)
    +X_test_scaled = scaler.transform(X_test)
    +# Logistic Regression
    +logreg.fit(X_train_scaled, y_train)
    +print("Test set accuracy Logistic Regression with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test)))
    +# Support Vector Machine
    +svm.fit(X_train_scaled, y_train)
    +print("Test set accuracy SVM with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test)))
    +# Decision Trees
    +deep_tree_clf.fit(X_train_scaled, y_train)
    +print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
    +
     
    -
    -
    bag_clf.fit(X_train, y_train)
    -y_pred = bag_clf.predict(X_test)
     from sklearn.ensemble import RandomForestClassifier
    -rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, n_jobs=-1, random_state=42)
    -rnd_clf.fit(X_train, y_train)
    -y_pred_rf = rnd_clf.predict(X_test)
    -np.sum(y_pred == y_pred_rf) / len(y_pred) 
    +from sklearn.preprocessing import LabelEncoder
    +from sklearn.model_selection import cross_validate
    +# Data set not specificied
    +#Instantiate the model with 500 trees and entropy as splitting criteria
    +Random_Forest_model = RandomForestClassifier(n_estimators=500,criterion="entropy")
    +Random_Forest_model.fit(X_train_scaled, y_train)
    +#Cross validation
    +accuracy = cross_validate(Random_Forest_model,X_test_scaled,y_test,cv=10)['test_score']
    +print(accuracy)
    +print("Test set accuracy with Random Forests and scaled data: {:.2f}".format(Random_Forest_model.score(X_test_scaled,y_test)))
    +
    +
    +import scikitplot as skplt
    +y_pred = Random_Forest_model.predict(X_test_scaled)
    +skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)
    +#<matplotlib.axes._subplots.AxesSubplot object at 0x7fe967d64490>
    +plt.show()
    +y_probas = Random_Forest_model.predict_proba(X_test_scaled)
    +skplt.metrics.plot_roc(y_test, y_probas)
    +plt.show()
    +skplt.metrics.plot_cumulative_gain(y_test, y_probas)
    +plt.show()
     

    @@ -275,7 +329,7 @@ np.sum(y_pred =

  • 51
  • 52
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs043.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs043.html index 3ea5fbe0c..0b45318a1 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs043.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs043.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,11 +232,25 @@ MathJax.Hub.Config({ -

    Feature Importance

    - +

    Compare Bagging on Trees with Random Forests

    -Example will be added here. + +

    bag_clf = BaggingClassifier(
    +    DecisionTreeClassifier(splitter="random", max_leaf_nodes=16, random_state=42),
    +    n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)
    +
    +

    + + +

    bag_clf.fit(X_train, y_train)
    +y_pred = bag_clf.predict(X_test)
    +from sklearn.ensemble import RandomForestClassifier
    +rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, n_jobs=-1, random_state=42)
    +rnd_clf.fit(X_train, y_train)
    +y_pred_rf = rnd_clf.predict(X_test)
    +np.sum(y_pred == y_pred_rf) / len(y_pred) 
    +

    @@ -261,7 +277,7 @@ Example will be added here.

  • 52
  • 53
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs044.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs044.html index 5519ff351..159f3cf2a 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs044.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs044.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,19 +232,10 @@ MathJax.Hub.Config({ -

    Boosting, a Bird'e Eye

    +

    Feature Importance

    -The basic idea is to combine weak classifiers in order to create a good -classifier. With a weak classifier we often intend a classifier which -produces results which are only slightly better than we would get by -random guesses. - -

    -This is done by applying in an iterative way a weak (or a standard -classifier like decision trees) to modify the data. In each iteration -we emphasize those observations which are misclassified by weighting -them with a factor. +Example will be added here.

    @@ -269,6 +262,8 @@ them with a factor.

  • 52
  • 53
  • 54
  • +
  • ...
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs045.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs045.html index 4afd6e9ef..875fb75aa 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs045.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs045.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,24 +232,19 @@ MathJax.Hub.Config({ -

    Adaptive boosting: AdaBoost, Basic Algorithm

    +

    Boosting, a Bird'e Eye

    -The algorithm here is rather straightforward. Assume that our weak -classifier is a decision tree and we consider a binary set of outputs -with \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of -observations. Our design matrix is given in terms of the -feature/predictor vectors -\( \boldsymbol{X}=[\boldsymbol{x}_0\boldsymbol{x}_1\dots\boldsymbol{x}_{p-1} \). Finally, we define also a -classifier determined by our data via a function \( G(\boldsymbol{X}) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). +The basic idea is to combine weak classifiers in order to create a good +classifier. With a weak classifier we often intend a classifier which +produces results which are only slightly better than we would get by +random guesses.

    -We can then define the misclassification error \( \mathrm{err} \) as -$$ -\mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(\boldsymbol{X}_{i*}), -$$ - -where the function \( I() \) is one if we misclassify and zero if we classify correctly. +This is done by applying in an iterative way a weak (or a standard +classifier like decision trees) to modify the data. In each iteration +we emphasize those observations which are misclassified by weighting +them with a factor.

    @@ -273,6 +270,7 @@ where the function \( I() \) is one if we misclassify and zero if we classify co

  • 52
  • 53
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs046.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs046.html index 11b689d88..4240a0897 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs046.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs046.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,42 +232,24 @@ MathJax.Hub.Config({ -

    Basic Steps of AdaBoost

    +

    Adaptive boosting: AdaBoost, Basic Algorithm

    -With the above definitions we are now ready to set up the algorithm for AdaBoost. -The basic idea is to set up weights which will be used to scale the correctly classified and the misclassified cases. - -

      -
    1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is to see then that \( \sum_{i=0}^{n-1}w_i = 1 \).
    2. -
    3. We rewrite the misclassification error as
    4. -
    +The algorithm here is rather straightforward. Assume that our weak +classifier is a decision tree and we consider a binary set of outputs +with \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of +observations. Our design matrix is given in terms of the +feature/predictor vectors +\( \boldsymbol{X}=[\boldsymbol{x}_0\boldsymbol{x}_1\dots\boldsymbol{x}_{p-1} \). Finally, we define also a +classifier determined by our data via a function \( G(\boldsymbol{X}) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). +

    +We can then define the misclassification error \( \mathrm{err} \) as $$ -\mathrm{err}=\frac{\sum_{i=0}^{n-1}w_iI(y_i\ne G(\boldsymbol{X}_{i*})}{\sum_{i=0}^{n-1}w_i}, +\mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(\boldsymbol{X}_{i*}), $$ - -

      -
    1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. - -
        -
      1. Fit thus a given classifier to the training using the weights \( w_i \).
      2. -
      3. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      4. -
      5. Define a quantity $\alpha_{m} = \log{(1-\mathrm{err})/\mathrm{err}}
      6. -
      7. Set the new weights to $w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(\boldsymbol{X}_{i*})}.
      8. -
      - -
    2. Compute the new classifier $G(\boldsymbol{X})= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(\boldsymbol{X}_{i*}).
    3. -
    - -For the iterations with \( m \le 2 \) the weights are modified -individually at each steps. The obersvations which were misclassified -at iteration \( m-1 \) have a weight which is larger than those which were -classified properly. As this proceeds, the observations which were -difficult to classifiy correctly are given a larger influence. Each -new classificatio step \( m \) is then forced to concentrate on those -observations that are missed in the previous iterations. +where the function \( I() \) is one if we misclassify and zero if we classify correctly.

    @@ -290,6 +274,7 @@ observations that are missed in the previous iterations.

  • 52
  • 53
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs047.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs047.html index 416aaf671..e2b533008 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs047.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs047.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,7 +232,42 @@ MathJax.Hub.Config({ -

    Figure to Illustrate the Iterative Classification Process

    +

    Basic Steps of AdaBoost

    + +

    +With the above definitions we are now ready to set up the algorithm for AdaBoost. +The basic idea is to set up weights which will be used to scale the correctly classified and the misclassified cases. + +

      +
    1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is to see then that \( \sum_{i=0}^{n-1}w_i = 1 \).
    2. +
    3. We rewrite the misclassification error as
    4. +
    + +$$ +\mathrm{err}=\frac{\sum_{i=0}^{n-1}w_iI(y_i\ne G(\boldsymbol{X}_{i*})}{\sum_{i=0}^{n-1}w_i}, +$$ + + +
      +
    1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. + +
        +
      1. Fit thus a given classifier to the training using the weights \( w_i \).
      2. +
      3. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      4. +
      5. Define a quantity $\alpha_{m} = \log{(1-\mathrm{err})/\mathrm{err}}
      6. +
      7. Set the new weights to $w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(\boldsymbol{X}_{i*})}.
      8. +
      + +
    2. Compute the new classifier $G(\boldsymbol{X})= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(\boldsymbol{X}_{i*}).
    3. +
    + +For the iterations with \( m \le 2 \) the weights are modified +individually at each steps. The obersvations which were misclassified +at iteration \( m-1 \) have a weight which is larger than those which were +classified properly. As this proceeds, the observations which were +difficult to classifiy correctly are given a larger influence. Each +new classificatio step \( m \) is then forced to concentrate on those +observations that are missed in the previous iterations.

    @@ -254,6 +291,7 @@ MathJax.Hub.Config({

  • 52
  • 53
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs048.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs048.html index af9e80be2..230d60153 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs048.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs048.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,46 +232,8 @@ MathJax.Hub.Config({ -

    AdaBoost Examples

    +

    Figure to Illustrate the Iterative Classification Process

    -

    -Using Scikit-Learn it is easy to appply the adaptive boosting algorithm, as done here. - -

    - - -

    from sklearn.ensemble import AdaBoostClassifier
    -
    -ada_clf = AdaBoostClassifier(
    -    DecisionTreeClassifier(max_depth=1), n_estimators=200,
    -    algorithm="SAMME.R", learning_rate=0.5, random_state=42)
    -ada_clf.fit(X_train, y_train)
    -
    -plot_decision_boundary(ada_clf, X, y)
    -
    -m = len(X_train)
    -
    -plt.figure(figsize=(11, 4))
    -for subplot, learning_rate in ((121, 1), (122, 0.5)):
    -    sample_weights = np.ones(m)
    -    plt.subplot(subplot)
    -    for i in range(5):
    -        svm_clf = SVC(kernel="rbf", C=0.05, gamma="auto", random_state=42)
    -        svm_clf.fit(X_train, y_train, sample_weight=sample_weights)
    -        y_pred = svm_clf.predict(X_train)
    -        sample_weights[y_pred != y_train] *= (1 + learning_rate)
    -        plot_decision_boundary(svm_clf, X, y, alpha=0.2)
    -        plt.title("learning_rate = {}".format(learning_rate), fontsize=16)
    -    if subplot == 121:
    -        plt.text(-0.7, -0.65, "1", fontsize=14)
    -        plt.text(-0.6, -0.10, "2", fontsize=14)
    -        plt.text(-0.5,  0.10, "3", fontsize=14)
    -        plt.text(-0.4,  0.55, "4", fontsize=14)
    -        plt.text(-0.3,  0.90, "5", fontsize=14)
    -
    -save_fig("boosting_plot")
    -plt.show()
    -

    @@ -291,6 +255,7 @@ plt.show()

  • 52
  • 53
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs049.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs049.html index dd5ac1ce0..2e1feab4d 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs049.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs049.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,18 +232,46 @@ MathJax.Hub.Config({ -

    Gradient boosting: Basics

    +

    AdaBoost Examples

    -Gradient boosting is again a similar technique to Adapative boosting, -it combines so-called weak classifiers or regressors into a strong -method via a series of iterations. +Using Scikit-Learn it is easy to appply the adaptive boosting algorithm, as done here.

    -In order to understand the method, let us illustrate its basics by -bringing back the essential steps in linear regression, where our cost -function was the least squares function. + +

    from sklearn.ensemble import AdaBoostClassifier
    +
    +ada_clf = AdaBoostClassifier(
    +    DecisionTreeClassifier(max_depth=1), n_estimators=200,
    +    algorithm="SAMME.R", learning_rate=0.5, random_state=42)
    +ada_clf.fit(X_train, y_train)
    +
    +plot_decision_boundary(ada_clf, X, y)
    +
    +m = len(X_train)
    +
    +plt.figure(figsize=(11, 4))
    +for subplot, learning_rate in ((121, 1), (122, 0.5)):
    +    sample_weights = np.ones(m)
    +    plt.subplot(subplot)
    +    for i in range(5):
    +        svm_clf = SVC(kernel="rbf", C=0.05, gamma="auto", random_state=42)
    +        svm_clf.fit(X_train, y_train, sample_weight=sample_weights)
    +        y_pred = svm_clf.predict(X_train)
    +        sample_weights[y_pred != y_train] *= (1 + learning_rate)
    +        plot_decision_boundary(svm_clf, X, y, alpha=0.2)
    +        plt.title("learning_rate = {}".format(learning_rate), fontsize=16)
    +    if subplot == 121:
    +        plt.text(-0.7, -0.65, "1", fontsize=14)
    +        plt.text(-0.6, -0.10, "2", fontsize=14)
    +        plt.text(-0.5,  0.10, "3", fontsize=14)
    +        plt.text(-0.4,  0.55, "4", fontsize=14)
    +        plt.text(-0.3,  0.90, "5", fontsize=14)
    +
    +save_fig("boosting_plot")
    +plt.show()
    +

    @@ -262,6 +292,7 @@ function was the least squares function.

  • 52
  • 53
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs050.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs050.html index ad0af564b..9d656303a 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs050.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs050.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,30 +232,19 @@ MathJax.Hub.Config({ -

    Gradient Boosting, algorithm

    +

    Gradient boosting: Basics

    -Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard least squares function -$$ -C(\boldsymbol{y},\boldsymbol{f})=\frac{1}{n}\sum_{i=0}^{n-1}(y_i-f(x_i))^2. -$$ +Gradient boosting is again a similar technique to Adapative boosting, +it combines so-called weak classifiers or regressors into a strong +method via a series of iterations.

    -The way we proceed in an iterative fashion is to - -

      -
    1. Initialize our estimate by \( f_0(x)=0 \).
    2. -
    3. For \( m=1:M \), we - -
        -
      1. compute the negative gradient vector \( \boldsymbol{u}_m = -\partial C(\boldsymbol{y},\boldsymbol{f})/\partial \boldsymbol{f}(x) \) at $f(x) = f_{m-1}(x);
      2. -
      3. fit the so-called base-learner to the negative gradient \( h_m(u_m,x) \);
      4. -
      5. update the estimate \( f_m(x) = f_{m-1}(x)+\nu h_m(u_m,x) \);
      6. -
      - -
    4. The final estimate is then \( f_M(x) = \sum_{m=1}^M\nu h_m(u_m,x) \).
    5. -
    +In order to understand the method, let us illustrate its basics by +bringing back the essential steps in linear regression, where our cost +function was the least squares function. +

      @@ -272,6 +263,7 @@ The way we proceed in an iterative fashion is to
    • 52
    • 53
    • 54
    • +
    • 55
    • »
    diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs051.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs051.html index 9bfb51dfe..20712fafa 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs051.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs051.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,94 +232,30 @@ MathJax.Hub.Config({ -

    Gradient Boosting, Examples

    +

    Gradient Boosting, algorithm

    +

    +Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard least squares function +$$ +C(\boldsymbol{y},\boldsymbol{f})=\frac{1}{n}\sum_{i=0}^{n-1}(y_i-f(x_i))^2. +$$ - -

    np.random.seed(42)
    -X = np.random.rand(100, 1) - 0.5
    -y = 3*X[:, 0]**2 + 0.05 * np.random.randn(100)
    -
    -from sklearn.tree import DecisionTreeRegressor
    -
    -tree_reg1 = DecisionTreeRegressor(max_depth=2, random_state=42)
    -tree_reg1.fit(X, y)
    -
    -y2 = y - tree_reg1.predict(X)
    -tree_reg2 = DecisionTreeRegressor(max_depth=2, random_state=42)
    -tree_reg2.fit(X, y2)
    -
    -y3 = y2 - tree_reg2.predict(X)
    -tree_reg3 = DecisionTreeRegressor(max_depth=2, random_state=42)
    -tree_reg3.fit(X, y3)
    -
    -X_new = np.array([[0.8]])
    -y_pred = sum(tree.predict(X_new) for tree in (tree_reg1, tree_reg2, tree_reg3))
    -
    -def plot_predictions(regressors, X, y, axes, label=None, style="r-", data_style="b.", data_label=None):
    -    x1 = np.linspace(axes[0], axes[1], 500)
    -    y_pred = sum(regressor.predict(x1.reshape(-1, 1)) for regressor in regressors)
    -    plt.plot(X[:, 0], y, data_style, label=data_label)
    -    plt.plot(x1, y_pred, style, linewidth=2, label=label)
    -    if label or data_label:
    -        plt.legend(loc="upper center", fontsize=16)
    -    plt.axis(axes)
    -
    -plt.figure(figsize=(11,11))
    -
    -plt.subplot(321)
    -plot_predictions([tree_reg1], X, y, axes=[-0.5, 0.5, -0.1, 0.8], label="$h_1(x_1)$", style="g-", data_label="Training set")
    -plt.ylabel("$y$", fontsize=16, rotation=0)
    -plt.title("Residuals and tree predictions", fontsize=16)
    -
    -plt.subplot(322)
    -plot_predictions([tree_reg1], X, y, axes=[-0.5, 0.5, -0.1, 0.8], label="$h(x_1) = h_1(x_1)$", data_label="Training set")
    -plt.ylabel("$y$", fontsize=16, rotation=0)
    -plt.title("Ensemble predictions", fontsize=16)
    -
    -plt.subplot(323)
    -plot_predictions([tree_reg2], X, y2, axes=[-0.5, 0.5, -0.5, 0.5], label="$h_2(x_1)$", style="g-", data_style="k+", data_label="Residuals")
    -plt.ylabel("$y - h_1(x_1)$", fontsize=16)
    -
    -plt.subplot(324)
    -plot_predictions([tree_reg1, tree_reg2], X, y, axes=[-0.5, 0.5, -0.1, 0.8], label="$h(x_1) = h_1(x_1) + h_2(x_1)$")
    -plt.ylabel("$y$", fontsize=16, rotation=0)
    -
    -plt.subplot(325)
    -plot_predictions([tree_reg3], X, y3, axes=[-0.5, 0.5, -0.5, 0.5], label="$h_3(x_1)$", style="g-", data_style="k+")
    -plt.ylabel("$y - h_1(x_1) - h_2(x_1)$", fontsize=16)
    -plt.xlabel("$x_1$", fontsize=16)
    -
    -plt.subplot(326)
    -plot_predictions([tree_reg1, tree_reg2, tree_reg3], X, y, axes=[-0.5, 0.5, -0.1, 0.8], label="$h(x_1) = h_1(x_1) + h_2(x_1) + h_3(x_1)$")
    -plt.xlabel("$x_1$", fontsize=16)
    -plt.ylabel("$y$", fontsize=16, rotation=0)
    -
    -save_fig("gradient_boosting_plot")
    -plt.show()
    -
    -from sklearn.ensemble import GradientBoostingRegressor
    -
    -gbrt = GradientBoostingRegressor(max_depth=2, n_estimators=3, learning_rate=1.0, random_state=42)
    -gbrt.fit(X, y)
    -
    -gbrt_slow = GradientBoostingRegressor(max_depth=2, n_estimators=200, learning_rate=0.1, random_state=42)
    -gbrt_slow.fit(X, y)
    -
    -plt.figure(figsize=(11,4))
    -
    -plt.subplot(121)
    -plot_predictions([gbrt], X, y, axes=[-0.5, 0.5, -0.1, 0.8], label="Ensemble predictions")
    -plt.title("learning_rate={}, n_estimators={}".format(gbrt.learning_rate, gbrt.n_estimators), fontsize=14)
    -
    -plt.subplot(122)
    -plot_predictions([gbrt_slow], X, y, axes=[-0.5, 0.5, -0.1, 0.8])
    -plt.title("learning_rate={}, n_estimators={}".format(gbrt_slow.learning_rate, gbrt_slow.n_estimators), fontsize=14)
    -
    -save_fig("gbrt_learning_rate_plot")
    -plt.show()
    -

    +The way we proceed in an iterative fashion is to + +

      +
    1. Initialize our estimate by \( f_0(x)=0 \).
    2. +
    3. For \( m=1:M \), we + +
        +
      1. compute the negative gradient vector \( \boldsymbol{u}_m = -\partial C(\boldsymbol{y},\boldsymbol{f})/\partial \boldsymbol{f}(x) \) at $f(x) = f_{m-1}(x);
      2. +
      3. fit the so-called base-learner to the negative gradient \( h_m(u_m,x) \);
      4. +
      5. update the estimate \( f_m(x) = f_{m-1}(x)+\nu h_m(u_m,x) \);
      6. +
      + +
    4. The final estimate is then \( f_M(x) = \sum_{m=1}^M\nu h_m(u_m,x) \).
    5. +
    +

    diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs052.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs052.html index 54ea53871..94de8a221 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs052.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs052.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,66 +232,92 @@ MathJax.Hub.Config({ -

    Gradient Boots with Early Stopping

    +

    Gradient Boosting, Examples

    -

    from sklearn.model_selection import train_test_split
    -from sklearn.metrics import mean_squared_error
    +
    np.random.seed(42)
    +X = np.random.rand(100, 1) - 0.5
    +y = 3*X[:, 0]**2 + 0.05 * np.random.randn(100)
     
    -X_train, X_val, y_train, y_val = train_test_split(X, y, random_state=49)
    +from sklearn.tree import DecisionTreeRegressor
     
    -gbrt = GradientBoostingRegressor(max_depth=2, n_estimators=120, random_state=42)
    -gbrt.fit(X_train, y_train)
    +tree_reg1 = DecisionTreeRegressor(max_depth=2, random_state=42)
    +tree_reg1.fit(X, y)
     
    -errors = [mean_squared_error(y_val, y_pred)
    -          for y_pred in gbrt.staged_predict(X_val)]
    -bst_n_estimators = np.argmin(errors) + 1
    +y2 = y - tree_reg1.predict(X)
    +tree_reg2 = DecisionTreeRegressor(max_depth=2, random_state=42)
    +tree_reg2.fit(X, y2)
     
    -gbrt_best = GradientBoostingRegressor(max_depth=2,n_estimators=bst_n_estimators, random_state=42)
    -gbrt_best.fit(X_train, y_train)
    +y3 = y2 - tree_reg2.predict(X)
    +tree_reg3 = DecisionTreeRegressor(max_depth=2, random_state=42)
    +tree_reg3.fit(X, y3)
     
    -min_error = np.min(errors)
    -plt.figure(figsize=(11, 4))
    +X_new = np.array([[0.8]])
    +y_pred = sum(tree.predict(X_new) for tree in (tree_reg1, tree_reg2, tree_reg3))
     
    -plt.subplot(121)
    -plt.plot(errors, "b.-")
    -plt.plot([bst_n_estimators, bst_n_estimators], [0, min_error], "k--")
    -plt.plot([0, 120], [min_error, min_error], "k--")
    -plt.plot(bst_n_estimators, min_error, "ko")
    -plt.text(bst_n_estimators, min_error*1.2, "Minimum", ha="center", fontsize=14)
    -plt.axis([0, 120, 0, 0.01])
    -plt.xlabel("Number of trees")
    -plt.title("Validation error", fontsize=14)
    +def plot_predictions(regressors, X, y, axes, label=None, style="r-", data_style="b.", data_label=None):
    +    x1 = np.linspace(axes[0], axes[1], 500)
    +    y_pred = sum(regressor.predict(x1.reshape(-1, 1)) for regressor in regressors)
    +    plt.plot(X[:, 0], y, data_style, label=data_label)
    +    plt.plot(x1, y_pred, style, linewidth=2, label=label)
    +    if label or data_label:
    +        plt.legend(loc="upper center", fontsize=16)
    +    plt.axis(axes)
     
    -plt.subplot(122)
    -plot_predictions([gbrt_best], X, y, axes=[-0.5, 0.5, -0.1, 0.8])
    -plt.title("Best model (%d trees)" % bst_n_estimators, fontsize=14)
    +plt.figure(figsize=(11,11))
     
    -save_fig("early_stopping_gbrt_plot")
    +plt.subplot(321)
    +plot_predictions([tree_reg1], X, y, axes=[-0.5, 0.5, -0.1, 0.8], label="$h_1(x_1)$", style="g-", data_label="Training set")
    +plt.ylabel("$y$", fontsize=16, rotation=0)
    +plt.title("Residuals and tree predictions", fontsize=16)
    +
    +plt.subplot(322)
    +plot_predictions([tree_reg1], X, y, axes=[-0.5, 0.5, -0.1, 0.8], label="$h(x_1) = h_1(x_1)$", data_label="Training set")
    +plt.ylabel("$y$", fontsize=16, rotation=0)
    +plt.title("Ensemble predictions", fontsize=16)
    +
    +plt.subplot(323)
    +plot_predictions([tree_reg2], X, y2, axes=[-0.5, 0.5, -0.5, 0.5], label="$h_2(x_1)$", style="g-", data_style="k+", data_label="Residuals")
    +plt.ylabel("$y - h_1(x_1)$", fontsize=16)
    +
    +plt.subplot(324)
    +plot_predictions([tree_reg1, tree_reg2], X, y, axes=[-0.5, 0.5, -0.1, 0.8], label="$h(x_1) = h_1(x_1) + h_2(x_1)$")
    +plt.ylabel("$y$", fontsize=16, rotation=0)
    +
    +plt.subplot(325)
    +plot_predictions([tree_reg3], X, y3, axes=[-0.5, 0.5, -0.5, 0.5], label="$h_3(x_1)$", style="g-", data_style="k+")
    +plt.ylabel("$y - h_1(x_1) - h_2(x_1)$", fontsize=16)
    +plt.xlabel("$x_1$", fontsize=16)
    +
    +plt.subplot(326)
    +plot_predictions([tree_reg1, tree_reg2, tree_reg3], X, y, axes=[-0.5, 0.5, -0.1, 0.8], label="$h(x_1) = h_1(x_1) + h_2(x_1) + h_3(x_1)$")
    +plt.xlabel("$x_1$", fontsize=16)
    +plt.ylabel("$y$", fontsize=16, rotation=0)
    +
    +save_fig("gradient_boosting_plot")
     plt.show()
     
    +from sklearn.ensemble import GradientBoostingRegressor
     
    -gbrt = GradientBoostingRegressor(max_depth=2, warm_start=True, random_state=42)
    +gbrt = GradientBoostingRegressor(max_depth=2, n_estimators=3, learning_rate=1.0, random_state=42)
    +gbrt.fit(X, y)
     
    -min_val_error = float("inf")
    -error_going_up = 0
    -for n_estimators in range(1, 120):
    -    gbrt.n_estimators = n_estimators
    -    gbrt.fit(X_train, y_train)
    -    y_pred = gbrt.predict(X_val)
    -    val_error = mean_squared_error(y_val, y_pred)
    -    if val_error < min_val_error:
    -        min_val_error = val_error
    -        error_going_up = 0
    -    else:
    -        error_going_up += 1
    -        if error_going_up == 5:
    -            break  # early stopping
    +gbrt_slow = GradientBoostingRegressor(max_depth=2, n_estimators=200, learning_rate=0.1, random_state=42)
    +gbrt_slow.fit(X, y)
     
    +plt.figure(figsize=(11,4))
     
    -print(gbrt.n_estimators)
    -print("Minimum validation MSE:", min_val_error)
    +plt.subplot(121)
    +plot_predictions([gbrt], X, y, axes=[-0.5, 0.5, -0.1, 0.8], label="Ensemble predictions")
    +plt.title("learning_rate={}, n_estimators={}".format(gbrt.learning_rate, gbrt.n_estimators), fontsize=14)
    +
    +plt.subplot(122)
    +plot_predictions([gbrt_slow], X, y, axes=[-0.5, 0.5, -0.1, 0.8])
    +plt.title("learning_rate={}, n_estimators={}".format(gbrt_slow.learning_rate, gbrt_slow.n_estimators), fontsize=14)
    +
    +save_fig("gbrt_learning_rate_plot")
    +plt.show()
     

    @@ -308,6 +336,7 @@ error_going_up = 52

  • 53
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs053.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs053.html index a01826cc0..5f7afcc1d 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs053.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs053.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -230,16 +232,68 @@ MathJax.Hub.Config({ -

    XGBoost: Extreme Gradient Boosting

    - +

    Gradient Boots with Early Stopping

    -XGBoost or Extreme Gradient -Boosting, is an optimized distributed gradient boosting library -designed to be highly efficient, flexible and portable. It implements -machine learning algorithms under the Gradient Boosting -framework. XGBoost provides a parallel tree boosting that solve many -data science problems in a fast and accurate way + +

    from sklearn.model_selection import train_test_split
    +from sklearn.metrics import mean_squared_error
    +
    +X_train, X_val, y_train, y_val = train_test_split(X, y, random_state=49)
    +
    +gbrt = GradientBoostingRegressor(max_depth=2, n_estimators=120, random_state=42)
    +gbrt.fit(X_train, y_train)
    +
    +errors = [mean_squared_error(y_val, y_pred)
    +          for y_pred in gbrt.staged_predict(X_val)]
    +bst_n_estimators = np.argmin(errors) + 1
    +
    +gbrt_best = GradientBoostingRegressor(max_depth=2,n_estimators=bst_n_estimators, random_state=42)
    +gbrt_best.fit(X_train, y_train)
    +
    +min_error = np.min(errors)
    +plt.figure(figsize=(11, 4))
    +
    +plt.subplot(121)
    +plt.plot(errors, "b.-")
    +plt.plot([bst_n_estimators, bst_n_estimators], [0, min_error], "k--")
    +plt.plot([0, 120], [min_error, min_error], "k--")
    +plt.plot(bst_n_estimators, min_error, "ko")
    +plt.text(bst_n_estimators, min_error*1.2, "Minimum", ha="center", fontsize=14)
    +plt.axis([0, 120, 0, 0.01])
    +plt.xlabel("Number of trees")
    +plt.title("Validation error", fontsize=14)
    +
    +plt.subplot(122)
    +plot_predictions([gbrt_best], X, y, axes=[-0.5, 0.5, -0.1, 0.8])
    +plt.title("Best model (%d trees)" % bst_n_estimators, fontsize=14)
    +
    +save_fig("early_stopping_gbrt_plot")
    +plt.show()
    +
    +
    +gbrt = GradientBoostingRegressor(max_depth=2, warm_start=True, random_state=42)
    +
    +min_val_error = float("inf")
    +error_going_up = 0
    +for n_estimators in range(1, 120):
    +    gbrt.n_estimators = n_estimators
    +    gbrt.fit(X_train, y_train)
    +    y_pred = gbrt.predict(X_val)
    +    val_error = mean_squared_error(y_val, y_pred)
    +    if val_error < min_val_error:
    +        min_val_error = val_error
    +        error_going_up = 0
    +    else:
    +        error_going_up += 1
    +        if error_going_up == 5:
    +            break  # early stopping
    +
    +
    +print(gbrt.n_estimators)
    +print("Minimum validation MSE:", min_val_error)
    +
    +

      @@ -255,6 +309,8 @@ data science problems in a fast and accurate way
    • 52
    • 53
    • 54
    • +
    • 55
    • +
    • »
    diff --git a/doc/pub/DecisionTrees/html/DecisionTrees-bs.html b/doc/pub/DecisionTrees/html/DecisionTrees-bs.html index d44f3e9dc..532859bcb 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees-bs.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees-bs.html @@ -89,42 +89,43 @@ Automatically generated HTML file from DocOnce source 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -194,27 +195,28 @@ MathJax.Hub.Config({
  • Pros and cons of trees, pros
  • Disadvantages
  • From a Single Tree to Many Trees, Meet the Jungle of Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Now Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Feature Importance
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • -
  • AdaBoost Examples
  • -
  • Gradient boosting: Basics
  • -
  • Gradient Boosting, algorithm
  • -
  • Gradient Boosting, Examples
  • -
  • Gradient Boots with Early Stopping
  • -
  • XGBoost: Extreme Gradient Boosting
  • +
  • An Overview of Ensemble Methods
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Please, not the moons again! Voting and Bagging
  • +
  • Now Bagging
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Feature Importance
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • +
  • Figure to Illustrate the Iterative Classification Process
  • +
  • AdaBoost Examples
  • +
  • Gradient boosting: Basics
  • +
  • Gradient Boosting, algorithm
  • +
  • Gradient Boosting, Examples
  • +
  • Gradient Boots with Early Stopping
  • +
  • XGBoost: Extreme Gradient Boosting
  • @@ -249,7 +251,7 @@ MathJax.Hub.Config({
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

    -

    Nov 5, 2019

    +

    Nov 6, 2019


    @@ -273,7 +275,7 @@ MathJax.Hub.Config({

  • 9
  • 10
  • ...
  • -
  • 54
  • +
  • 55
  • »
  • diff --git a/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html b/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html index 31bcc4388..5c05bc76e 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html @@ -148,7 +148,7 @@ MathJax.Hub.Config({
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

     
    -

    Nov 5, 2019

    +

    Nov 6, 2019


    @@ -1464,7 +1464,15 @@ We discuss these methods here.

    -

    Bagging

    +

    An Overview of Ensemble Methods

    + +

    +



    +
    + + +
    +

    Bagging

    The plain decision trees suffer from high @@ -1483,7 +1491,7 @@ learning method.

    -

    More bagging

    +

    More bagging

    Bagging typically results in improved accuracy @@ -1512,7 +1520,7 @@ predictor, averaged over all \( B \) trees.

    -

    Simple Voting Example, head or tail

    +

    Simple Voting Example, head or tail

    @@ -1533,7 +1541,7 @@ plt.show()

    -

    Using the Voting Classifier

    +

    Using the Voting Classifier

    @@ -1585,7 +1593,7 @@ voting_clf.fit(X_train, y_train)

    -

    Please, not the moons again! Voting and Bagging

    +

    Please, not the moons again! Voting and Bagging

    @@ -1644,7 +1652,7 @@ voting_clf.fit(X_train, y_train)

    -

    Now Bagging

    +

    Now Bagging

    @@ -1706,7 +1714,7 @@ plt.show()

    -

    Random forests

    +

    Random forests

    Random forests provide an improvement over bagged trees by way of a @@ -1752,7 +1760,7 @@ this setting.

    -

    Random Forest Algorithm

    +

    Random Forest Algorithm

    The algorithm described here can be applied to both classification and regression problems.

    @@ -1783,7 +1791,7 @@ We will grow of forest of say \( M \) trees.

    -

    Random Forests Compared with other Methods on the Cancer Data

    +

    Random Forests Compared with other Methods on the Cancer Data

    @@ -1858,7 +1866,7 @@ plt.show()

    -

    Compare Bagging on Trees with Random Forests

    +

    Compare Bagging on Trees with Random Forests

    @@ -1881,7 +1889,7 @@ np.sum(y_pred == y_pred_rf) / len(y_pred)

    -

    Feature Importance

    +

    Feature Importance

    Example will be added here. @@ -1889,7 +1897,7 @@ Example will be added here.

    -

    Boosting, a Bird'e Eye

    +

    Boosting, a Bird'e Eye

    The basic idea is to combine weak classifiers in order to create a good @@ -1906,7 +1914,7 @@ them with a factor.

    -

    Adaptive boosting: AdaBoost, Basic Algorithm

    +

    Adaptive boosting: AdaBoost, Basic Algorithm

    The algorithm here is rather straightforward. Assume that our weak @@ -1930,7 +1938,7 @@ where the function \( I() \) is one if we misclassify and zero if we classify co

    -

    Basic Steps of AdaBoost

    +

    Basic Steps of AdaBoost

    With the above definitions we are now ready to set up the algorithm for AdaBoost. @@ -1971,12 +1979,12 @@ observations that are missed in the previous iterations.

    -

    Figure to Illustrate the Iterative Classification Process

    +

    Figure to Illustrate the Iterative Classification Process

    -

    AdaBoost Examples

    +

    AdaBoost Examples

    Using Scikit-Learn it is easy to appply the adaptive boosting algorithm, as done here. @@ -2020,7 +2028,7 @@ plt.show()

    -

    Gradient boosting: Basics

    +

    Gradient boosting: Basics

    Gradient boosting is again a similar technique to Adapative boosting, @@ -2035,7 +2043,7 @@ function was the least squares function.

    -

    Gradient Boosting, algorithm

    +

    Gradient Boosting, algorithm

    Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard least squares function @@ -2063,7 +2071,7 @@ The way we proceed in an iterative fashion is to

    -

    Gradient Boosting, Examples

    +

    Gradient Boosting, Examples

    @@ -2154,7 +2162,7 @@ plt.show()

    -

    Gradient Boots with Early Stopping

    +

    Gradient Boots with Early Stopping

    @@ -2219,7 +2227,7 @@ error_going_up = 0

    -

    XGBoost: Extreme Gradient Boosting

    +

    XGBoost: Extreme Gradient Boosting

    XGBoost or Extreme Gradient @@ -2227,7 +2235,15 @@ Boosting, is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting that solve many -data science problems in a fast and accurate way +data science problems in a fast and accurate way. See the article by Chen and Guestrin. + +

    +The authors design and build a highly scalable end-to-end tree +boosting system. It has a theoretically justified weighted quantile +sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning. + +

    +It is now the algorithm which wins essentially all ML competitions!!!

    diff --git a/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html b/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html index cfe624d34..e09f2ea36 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html @@ -109,42 +109,43 @@ div { text-align: justify; text-justify: inter-word; } 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -186,7 +187,7 @@ MathJax.Hub.Config({
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

    -

    Nov 5, 2019

    +

    Nov 6, 2019












    @@ -1461,7 +1462,15 @@ We discuss these methods here.











    -

    Bagging

    +

    An Overview of Ensemble Methods

    + +

    +



    + +

    +









    + +

    Bagging

    The plain decision trees suffer from high @@ -1480,7 +1489,7 @@ learning method.











    -

    More bagging

    +

    More bagging

    Bagging typically results in improved accuracy @@ -1509,7 +1518,7 @@ predictor, averaged over all \( B \) trees.











    -

    Simple Voting Example, head or tail

    +

    Simple Voting Example, head or tail

    @@ -1529,7 +1538,7 @@ plt.show()











    -

    Using the Voting Classifier

    +

    Using the Voting Classifier

    @@ -1580,7 +1589,7 @@ voting_clf.fit(X_train, y_train)











    -

    Please, not the moons again! Voting and Bagging

    +

    Please, not the moons again! Voting and Bagging

    @@ -1638,7 +1647,7 @@ voting_clf.fit(X_train, y_train)











    -

    Now Bagging

    +

    Now Bagging

    @@ -1699,7 +1708,7 @@ plt.show()











    -

    Random forests

    +

    Random forests

    Random forests provide an improvement over bagged trees by way of a @@ -1743,7 +1752,7 @@ this setting.











    -

    Random Forest Algorithm

    +

    Random Forest Algorithm

    The algorithm described here can be applied to both classification and regression problems.

    @@ -1769,7 +1778,7 @@ We will grow of forest of say \( M \) trees.









    -

    Random Forests Compared with other Methods on the Cancer Data

    +

    Random Forests Compared with other Methods on the Cancer Data

    @@ -1843,7 +1852,7 @@ plt.show()











    -

    Compare Bagging on Trees with Random Forests

    +

    Compare Bagging on Trees with Random Forests

    @@ -1865,7 +1874,7 @@ np.sum(y_pred == y_pred_rf) / len(y_pred)











    -

    Feature Importance

    +

    Feature Importance

    Example will be added here. @@ -1873,7 +1882,7 @@ Example will be added here.











    -

    Boosting, a Bird'e Eye

    +

    Boosting, a Bird'e Eye

    The basic idea is to combine weak classifiers in order to create a good @@ -1890,7 +1899,7 @@ them with a factor.











    -

    Adaptive boosting: AdaBoost, Basic Algorithm

    +

    Adaptive boosting: AdaBoost, Basic Algorithm

    The algorithm here is rather straightforward. Assume that our weak @@ -1912,7 +1921,7 @@ where the function \( I() \) is one if we misclassify and zero if we classify co











    -

    Basic Steps of AdaBoost

    +

    Basic Steps of AdaBoost

    With the above definitions we are now ready to set up the algorithm for AdaBoost. @@ -1952,12 +1961,12 @@ observations that are missed in the previous iterations.











    -

    Figure to Illustrate the Iterative Classification Process

    +

    Figure to Illustrate the Iterative Classification Process











    -

    AdaBoost Examples

    +

    AdaBoost Examples

    Using Scikit-Learn it is easy to appply the adaptive boosting algorithm, as done here. @@ -2000,7 +2009,7 @@ plt.show()











    -

    Gradient boosting: Basics

    +

    Gradient boosting: Basics

    Gradient boosting is again a similar technique to Adapative boosting, @@ -2015,7 +2024,7 @@ function was the least squares function.











    -

    Gradient Boosting, algorithm

    +

    Gradient Boosting, algorithm

    Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard least squares function @@ -2041,7 +2050,7 @@ The way we proceed in an iterative fashion is to









    -

    Gradient Boosting, Examples

    +

    Gradient Boosting, Examples

    @@ -2131,7 +2140,7 @@ plt.show()











    -

    Gradient Boots with Early Stopping

    +

    Gradient Boots with Early Stopping

    @@ -2195,7 +2204,7 @@ error_going_up = 0











    -

    XGBoost: Extreme Gradient Boosting

    +

    XGBoost: Extreme Gradient Boosting

    XGBoost or Extreme Gradient @@ -2203,7 +2212,15 @@ Boosting, is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting that solve many -data science problems in a fast and accurate way +data science problems in a fast and accurate way. See the article by Chen and Guestrin. + +

    +The authors design and build a highly scalable end-to-end tree +boosting system. It has a theoretically justified weighted quantile +sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning. + +

    +It is now the algorithm which wins essentially all ML competitions!!! diff --git a/doc/pub/DecisionTrees/html/DecisionTrees.html b/doc/pub/DecisionTrees/html/DecisionTrees.html index 9f4a57d59..2b45b7595 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees.html @@ -114,42 +114,43 @@ div { text-align: justify; text-justify: inter-word; } 2, None, '___sec31'), - ('Bagging', 2, None, '___sec32'), - ('More bagging', 2, None, '___sec33'), - ('Simple Voting Example, head or tail', 2, None, '___sec34'), - ('Using the Voting Classifier', 2, None, '___sec35'), + ('An Overview of Ensemble Methods', 2, None, '___sec32'), + ('Bagging', 2, None, '___sec33'), + ('More bagging', 2, None, '___sec34'), + ('Simple Voting Example, head or tail', 2, None, '___sec35'), + ('Using the Voting Classifier', 2, None, '___sec36'), ('Please, not the moons again! Voting and Bagging', 2, None, - '___sec36'), - ('Now Bagging', 2, None, '___sec37'), - ('Random forests', 2, None, '___sec38'), - ('Random Forest Algorithm', 2, None, '___sec39'), + '___sec37'), + ('Now Bagging', 2, None, '___sec38'), + ('Random forests', 2, None, '___sec39'), + ('Random Forest Algorithm', 2, None, '___sec40'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec40'), + '___sec41'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec41'), - ('Feature Importance', 2, None, '___sec42'), - ("Boosting, a Bird'e Eye", 2, None, '___sec43'), + '___sec42'), + ('Feature Importance', 2, None, '___sec43'), + ("Boosting, a Bird'e Eye", 2, None, '___sec44'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec44'), - ('Basic Steps of AdaBoost', 2, None, '___sec45'), + '___sec45'), + ('Basic Steps of AdaBoost', 2, None, '___sec46'), ('Figure to Illustrate the Iterative Classification Process', 2, None, - '___sec46'), - ('AdaBoost Examples', 2, None, '___sec47'), - ('Gradient boosting: Basics', 2, None, '___sec48'), - ('Gradient Boosting, algorithm', 2, None, '___sec49'), - ('Gradient Boosting, Examples', 2, None, '___sec50'), - ('Gradient Boots with Early Stopping', 2, None, '___sec51'), - ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec52')]} + '___sec47'), + ('AdaBoost Examples', 2, None, '___sec48'), + ('Gradient boosting: Basics', 2, None, '___sec49'), + ('Gradient Boosting, algorithm', 2, None, '___sec50'), + ('Gradient Boosting, Examples', 2, None, '___sec51'), + ('Gradient Boots with Early Stopping', 2, None, '___sec52'), + ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec53')]} end of tocinfo --> @@ -191,7 +192,7 @@ MathJax.Hub.Config({

    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

    -

    Nov 5, 2019

    +

    Nov 6, 2019












    @@ -1466,7 +1467,15 @@ We discuss these methods here.











    -

    Bagging

    +

    An Overview of Ensemble Methods

    + +

    +



    + +

    +









    + +

    Bagging

    The plain decision trees suffer from high @@ -1485,7 +1494,7 @@ learning method.











    -

    More bagging

    +

    More bagging

    Bagging typically results in improved accuracy @@ -1514,7 +1523,7 @@ predictor, averaged over all \( B \) trees.











    -

    Simple Voting Example, head or tail

    +

    Simple Voting Example, head or tail

    @@ -1534,7 +1543,7 @@ plt.show()











    -

    Using the Voting Classifier

    +

    Using the Voting Classifier

    @@ -1585,7 +1594,7 @@ voting_clf.fit(X_train, y_train)











    -

    Please, not the moons again! Voting and Bagging

    +

    Please, not the moons again! Voting and Bagging

    @@ -1643,7 +1652,7 @@ voting_clf.fit(X_train, y_train)











    -

    Now Bagging

    +

    Now Bagging

    @@ -1704,7 +1713,7 @@ plt.show()











    -

    Random forests

    +

    Random forests

    Random forests provide an improvement over bagged trees by way of a @@ -1748,7 +1757,7 @@ this setting.











    -

    Random Forest Algorithm

    +

    Random Forest Algorithm

    The algorithm described here can be applied to both classification and regression problems.

    @@ -1774,7 +1783,7 @@ We will grow of forest of say \( M \) trees.









    -

    Random Forests Compared with other Methods on the Cancer Data

    +

    Random Forests Compared with other Methods on the Cancer Data

    @@ -1848,7 +1857,7 @@ plt.show()











    -

    Compare Bagging on Trees with Random Forests

    +

    Compare Bagging on Trees with Random Forests

    @@ -1870,7 +1879,7 @@ np.sum(y_pred =











    -

    Feature Importance

    +

    Feature Importance

    Example will be added here. @@ -1878,7 +1887,7 @@ Example will be added here.











    -

    Boosting, a Bird'e Eye

    +

    Boosting, a Bird'e Eye

    The basic idea is to combine weak classifiers in order to create a good @@ -1895,7 +1904,7 @@ them with a factor.











    -

    Adaptive boosting: AdaBoost, Basic Algorithm

    +

    Adaptive boosting: AdaBoost, Basic Algorithm

    The algorithm here is rather straightforward. Assume that our weak @@ -1917,7 +1926,7 @@ where the function \( I() \) is one if we misclassify and zero if we classify co











    -

    Basic Steps of AdaBoost

    +

    Basic Steps of AdaBoost

    With the above definitions we are now ready to set up the algorithm for AdaBoost. @@ -1957,12 +1966,12 @@ observations that are missed in the previous iterations.











    -

    Figure to Illustrate the Iterative Classification Process

    +

    Figure to Illustrate the Iterative Classification Process











    -

    AdaBoost Examples

    +

    AdaBoost Examples

    Using Scikit-Learn it is easy to appply the adaptive boosting algorithm, as done here. @@ -2005,7 +2014,7 @@ plt.show()











    -

    Gradient boosting: Basics

    +

    Gradient boosting: Basics

    Gradient boosting is again a similar technique to Adapative boosting, @@ -2020,7 +2029,7 @@ function was the least squares function.











    -

    Gradient Boosting, algorithm

    +

    Gradient Boosting, algorithm

    Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard least squares function @@ -2046,7 +2055,7 @@ The way we proceed in an iterative fashion is to









    -

    Gradient Boosting, Examples

    +

    Gradient Boosting, Examples

    @@ -2136,7 +2145,7 @@ plt.show()











    -

    Gradient Boots with Early Stopping

    +

    Gradient Boots with Early Stopping

    @@ -2200,7 +2209,7 @@ error_going_up = XGBoost: Extreme Gradient Boosting +

    XGBoost: Extreme Gradient Boosting

    XGBoost or Extreme Gradient @@ -2208,7 +2217,15 @@ Boosting, is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting that solve many -data science problems in a fast and accurate way +data science problems in a fast and accurate way. See the article by Chen and Guestrin. + +

    +The authors design and build a highly scalable end-to-end tree +boosting system. It has a theoretically justified weighted quantile +sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning. + +

    +It is now the algorithm which wins essentially all ML competitions!!! diff --git a/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb b/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb index 3c8225c59..666e15bc7 100644 --- a/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb +++ b/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb @@ -10,7 +10,7 @@ " \n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", "\n", - "Date: **Nov 5, 2019**\n", + "Date: **Nov 6, 2019**\n", "\n", "Copyright 1999-2019, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n", "\n", @@ -101,40 +101,11 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2nd degree coefficients:\n", - "zero power: -0.28499417022929907\n", - "first power: 0.05490242306549711\n", - "second power: -0.0002577121418274489\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "

    " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "%matplotlib inline\n", "\n", @@ -545,469 +516,11 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "0 17.990 10.38 122.80 1001.0 0.11840 \n", - "1 20.570 17.77 132.90 1326.0 0.08474 \n", - "2 19.690 21.25 130.00 1203.0 0.10960 \n", - "3 11.420 20.38 77.58 386.1 0.14250 \n", - "4 20.290 14.34 135.10 1297.0 0.10030 \n", - "5 12.450 15.70 82.57 477.1 0.12780 \n", - "6 18.250 19.98 119.60 1040.0 0.09463 \n", - "7 13.710 20.83 90.20 577.9 0.11890 \n", - "8 13.000 21.82 87.50 519.8 0.12730 \n", - "9 12.460 24.04 83.97 475.9 0.11860 \n", - "10 16.020 23.24 102.70 797.8 0.08206 \n", - "11 15.780 17.89 103.60 781.0 0.09710 \n", - "12 19.170 24.80 132.40 1123.0 0.09740 \n", - "13 15.850 23.95 103.70 782.7 0.08401 \n", - "14 13.730 22.61 93.60 578.3 0.11310 \n", - "15 14.540 27.54 96.73 658.8 0.11390 \n", - "16 14.680 20.13 94.74 684.5 0.09867 \n", - "17 16.130 20.68 108.10 798.8 0.11700 \n", - "18 19.810 22.15 130.00 1260.0 0.09831 \n", - "19 13.540 14.36 87.46 566.3 0.09779 \n", - "20 13.080 15.71 85.63 520.0 0.10750 \n", - "21 9.504 12.44 60.34 273.9 0.10240 \n", - "22 15.340 14.26 102.50 704.4 0.10730 \n", - "23 21.160 23.04 137.20 1404.0 0.09428 \n", - "24 16.650 21.38 110.00 904.6 0.11210 \n", - "25 17.140 16.40 116.00 912.7 0.11860 \n", - "26 14.580 21.53 97.41 644.8 0.10540 \n", - "27 18.610 20.25 122.10 1094.0 0.09440 \n", - "28 15.300 25.27 102.40 732.4 0.10820 \n", - "29 17.570 15.05 115.00 955.1 0.09847 \n", - ".. ... ... ... ... ... \n", - "539 7.691 25.44 48.34 170.4 0.08668 \n", - "540 11.540 14.44 74.65 402.9 0.09984 \n", - "541 14.470 24.99 95.81 656.4 0.08837 \n", - "542 14.740 25.42 94.70 668.6 0.08275 \n", - "543 13.210 28.06 84.88 538.4 0.08671 \n", - "544 13.870 20.70 89.77 584.8 0.09578 \n", - "545 13.620 23.23 87.19 573.2 0.09246 \n", - "546 10.320 16.35 65.31 324.9 0.09434 \n", - "547 10.260 16.58 65.85 320.8 0.08877 \n", - "548 9.683 19.34 61.05 285.7 0.08491 \n", - "549 10.820 24.21 68.89 361.6 0.08192 \n", - "550 10.860 21.48 68.51 360.5 0.07431 \n", - "551 11.130 22.44 71.49 378.4 0.09566 \n", - "552 12.770 29.43 81.35 507.9 0.08276 \n", - "553 9.333 21.94 59.01 264.0 0.09240 \n", - "554 12.880 28.92 82.50 514.3 0.08123 \n", - "555 10.290 27.61 65.67 321.4 0.09030 \n", - "556 10.160 19.59 64.73 311.7 0.10030 \n", - "557 9.423 27.88 59.26 271.3 0.08123 \n", - "558 14.590 22.68 96.39 657.1 0.08473 \n", - "559 11.510 23.93 74.52 403.5 0.09261 \n", - "560 14.050 27.15 91.38 600.4 0.09929 \n", - "561 11.200 29.37 70.67 386.0 0.07449 \n", - "562 15.220 30.62 103.40 716.9 0.10480 \n", - "563 20.920 25.09 143.00 1347.0 0.10990 \n", - "564 21.560 22.39 142.00 1479.0 0.11100 \n", - "565 20.130 28.25 131.20 1261.0 0.09780 \n", - "566 16.600 28.08 108.30 858.1 0.08455 \n", - "567 20.600 29.33 140.10 1265.0 0.11780 \n", - "568 7.760 24.54 47.92 181.0 0.05263 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "0 0.27760 0.300100 0.147100 0.2419 \n", - "1 0.07864 0.086900 0.070170 0.1812 \n", - "2 0.15990 0.197400 0.127900 0.2069 \n", - "3 0.28390 0.241400 0.105200 0.2597 \n", - "4 0.13280 0.198000 0.104300 0.1809 \n", - "5 0.17000 0.157800 0.080890 0.2087 \n", - "6 0.10900 0.112700 0.074000 0.1794 \n", - "7 0.16450 0.093660 0.059850 0.2196 \n", - "8 0.19320 0.185900 0.093530 0.2350 \n", - "9 0.23960 0.227300 0.085430 0.2030 \n", - "10 0.06669 0.032990 0.033230 0.1528 \n", - "11 0.12920 0.099540 0.066060 0.1842 \n", - "12 0.24580 0.206500 0.111800 0.2397 \n", - "13 0.10020 0.099380 0.053640 0.1847 \n", - "14 0.22930 0.212800 0.080250 0.2069 \n", - "15 0.15950 0.163900 0.073640 0.2303 \n", - "16 0.07200 0.073950 0.052590 0.1586 \n", - "17 0.20220 0.172200 0.102800 0.2164 \n", - "18 0.10270 0.147900 0.094980 0.1582 \n", - "19 0.08129 0.066640 0.047810 0.1885 \n", - "20 0.12700 0.045680 0.031100 0.1967 \n", - "21 0.06492 0.029560 0.020760 0.1815 \n", - "22 0.21350 0.207700 0.097560 0.2521 \n", - "23 0.10220 0.109700 0.086320 0.1769 \n", - "24 0.14570 0.152500 0.091700 0.1995 \n", - "25 0.22760 0.222900 0.140100 0.3040 \n", - "26 0.18680 0.142500 0.087830 0.2252 \n", - "27 0.10660 0.149000 0.077310 0.1697 \n", - "28 0.16970 0.168300 0.087510 0.1926 \n", - "29 0.11570 0.098750 0.079530 0.1739 \n", - ".. ... ... ... ... \n", - "539 0.11990 0.092520 0.013640 0.2037 \n", - "540 0.11200 0.067370 0.025940 0.1818 \n", - "541 0.12300 0.100900 0.038900 0.1872 \n", - "542 0.07214 0.041050 0.030270 0.1840 \n", - "543 0.06877 0.029870 0.032750 0.1628 \n", - "544 0.10180 0.036880 0.023690 0.1620 \n", - "545 0.06747 0.029740 0.024430 0.1664 \n", - "546 0.04994 0.010120 0.005495 0.1885 \n", - "547 0.08066 0.043580 0.024380 0.1669 \n", - "548 0.05030 0.023370 0.009615 0.1580 \n", - "549 0.06602 0.015480 0.008160 0.1976 \n", - "550 0.04227 0.000000 0.000000 0.1661 \n", - "551 0.08194 0.048240 0.022570 0.2030 \n", - "552 0.04234 0.019970 0.014990 0.1539 \n", - "553 0.05605 0.039960 0.012820 0.1692 \n", - "554 0.05824 0.061950 0.023430 0.1566 \n", - "555 0.07658 0.059990 0.027380 0.1593 \n", - "556 0.07504 0.005025 0.011160 0.1791 \n", - "557 0.04971 0.000000 0.000000 0.1742 \n", - "558 0.13300 0.102900 0.037360 0.1454 \n", - "559 0.10210 0.111200 0.041050 0.1388 \n", - "560 0.11260 0.044620 0.043040 0.1537 \n", - "561 0.03558 0.000000 0.000000 0.1060 \n", - "562 0.20870 0.255000 0.094290 0.2128 \n", - "563 0.22360 0.317400 0.147400 0.2149 \n", - "564 0.11590 0.243900 0.138900 0.1726 \n", - "565 0.10340 0.144000 0.097910 0.1752 \n", - "566 0.10230 0.092510 0.053020 0.1590 \n", - "567 0.27700 0.351400 0.152000 0.2397 \n", - "568 0.04362 0.000000 0.000000 0.1587 \n", - "\n", - " mean fractal dimension ... worst radius \\\n", - "0 0.07871 ... 25.380 \n", - "1 0.05667 ... 24.990 \n", - "2 0.05999 ... 23.570 \n", - "3 0.09744 ... 14.910 \n", - "4 0.05883 ... 22.540 \n", - "5 0.07613 ... 15.470 \n", - "6 0.05742 ... 22.880 \n", - "7 0.07451 ... 17.060 \n", - "8 0.07389 ... 15.490 \n", - "9 0.08243 ... 15.090 \n", - "10 0.05697 ... 19.190 \n", - "11 0.06082 ... 20.420 \n", - "12 0.07800 ... 20.960 \n", - "13 0.05338 ... 16.840 \n", - "14 0.07682 ... 15.030 \n", - "15 0.07077 ... 17.460 \n", - "16 0.05922 ... 19.070 \n", - "17 0.07356 ... 20.960 \n", - "18 0.05395 ... 27.320 \n", - "19 0.05766 ... 15.110 \n", - "20 0.06811 ... 14.500 \n", - "21 0.06905 ... 10.230 \n", - "22 0.07032 ... 18.070 \n", - "23 0.05278 ... 29.170 \n", - "24 0.06330 ... 26.460 \n", - "25 0.07413 ... 22.250 \n", - "26 0.06924 ... 17.620 \n", - "27 0.05699 ... 21.310 \n", - "28 0.06540 ... 20.270 \n", - "29 0.06149 ... 20.010 \n", - ".. ... ... ... \n", - "539 0.07751 ... 8.678 \n", - "540 0.06782 ... 12.260 \n", - "541 0.06341 ... 16.220 \n", - "542 0.05680 ... 16.510 \n", - "543 0.05781 ... 14.370 \n", - "544 0.06688 ... 15.050 \n", - "545 0.05801 ... 15.350 \n", - "546 0.06201 ... 11.250 \n", - "547 0.06714 ... 10.830 \n", - "548 0.06235 ... 10.930 \n", - "549 0.06328 ... 13.030 \n", - "550 0.05948 ... 11.660 \n", - "551 0.06552 ... 12.020 \n", - "552 0.05637 ... 13.870 \n", - "553 0.06576 ... 9.845 \n", - "554 0.05708 ... 13.890 \n", - "555 0.06127 ... 10.840 \n", - "556 0.06331 ... 10.650 \n", - "557 0.06059 ... 10.490 \n", - "558 0.06147 ... 15.480 \n", - "559 0.06570 ... 12.480 \n", - "560 0.06171 ... 15.300 \n", - "561 0.05502 ... 11.920 \n", - "562 0.07152 ... 17.520 \n", - "563 0.06879 ... 24.290 \n", - "564 0.05623 ... 25.450 \n", - "565 0.05533 ... 23.690 \n", - "566 0.05648 ... 18.980 \n", - "567 0.07016 ... 25.740 \n", - "568 0.05884 ... 9.456 \n", - "\n", - " worst texture worst perimeter worst area worst smoothness \\\n", - "0 17.33 184.60 2019.0 0.16220 \n", - "1 23.41 158.80 1956.0 0.12380 \n", - "2 25.53 152.50 1709.0 0.14440 \n", - "3 26.50 98.87 567.7 0.20980 \n", - "4 16.67 152.20 1575.0 0.13740 \n", - "5 23.75 103.40 741.6 0.17910 \n", - "6 27.66 153.20 1606.0 0.14420 \n", - "7 28.14 110.60 897.0 0.16540 \n", - "8 30.73 106.20 739.3 0.17030 \n", - "9 40.68 97.65 711.4 0.18530 \n", - "10 33.88 123.80 1150.0 0.11810 \n", - "11 27.28 136.50 1299.0 0.13960 \n", - "12 29.94 151.70 1332.0 0.10370 \n", - "13 27.66 112.00 876.5 0.11310 \n", - "14 32.01 108.80 697.7 0.16510 \n", - "15 37.13 124.10 943.2 0.16780 \n", - "16 30.88 123.40 1138.0 0.14640 \n", - "17 31.48 136.80 1315.0 0.17890 \n", - "18 30.88 186.80 2398.0 0.15120 \n", - "19 19.26 99.70 711.2 0.14400 \n", - "20 20.49 96.09 630.5 0.13120 \n", - "21 15.66 65.13 314.9 0.13240 \n", - "22 19.08 125.10 980.9 0.13900 \n", - "23 35.59 188.00 2615.0 0.14010 \n", - "24 31.56 177.00 2215.0 0.18050 \n", - "25 21.40 152.40 1461.0 0.15450 \n", - "26 33.21 122.40 896.9 0.15250 \n", - "27 27.26 139.90 1403.0 0.13380 \n", - "28 36.71 149.30 1269.0 0.16410 \n", - "29 19.52 134.90 1227.0 0.12550 \n", - ".. ... ... ... ... \n", - "539 31.89 54.49 223.6 0.15960 \n", - "540 19.68 78.78 457.8 0.13450 \n", - "541 31.73 113.50 808.9 0.13400 \n", - "542 32.29 107.40 826.4 0.10600 \n", - "543 37.17 92.48 629.6 0.10720 \n", - "544 24.75 99.17 688.6 0.12640 \n", - "545 29.09 97.58 729.8 0.12160 \n", - "546 21.77 71.12 384.9 0.12850 \n", - "547 22.04 71.08 357.4 0.14610 \n", - "548 25.59 69.10 364.2 0.11990 \n", - "549 31.45 83.90 505.6 0.12040 \n", - "550 24.77 74.08 412.3 0.10010 \n", - "551 28.26 77.80 436.6 0.10870 \n", - "552 36.00 88.10 594.7 0.12340 \n", - "553 25.05 62.86 295.8 0.11030 \n", - "554 35.74 88.84 595.7 0.12270 \n", - "555 34.91 69.57 357.6 0.13840 \n", - "556 22.88 67.88 347.3 0.12650 \n", - "557 34.24 66.50 330.6 0.10730 \n", - "558 27.27 105.90 733.5 0.10260 \n", - "559 37.16 82.28 474.2 0.12980 \n", - "560 33.17 100.20 706.7 0.12410 \n", - "561 38.30 75.19 439.6 0.09267 \n", - "562 42.79 128.70 915.0 0.14170 \n", - "563 29.41 179.10 1819.0 0.14070 \n", - "564 26.40 166.10 2027.0 0.14100 \n", - "565 38.25 155.00 1731.0 0.11660 \n", - "566 34.12 126.70 1124.0 0.11390 \n", - "567 39.42 184.60 1821.0 0.16500 \n", - "568 30.37 59.16 268.6 0.08996 \n", - "\n", - " worst compactness worst concavity worst concave points worst symmetry \\\n", - "0 0.66560 0.71190 0.26540 0.4601 \n", - "1 0.18660 0.24160 0.18600 0.2750 \n", - "2 0.42450 0.45040 0.24300 0.3613 \n", - "3 0.86630 0.68690 0.25750 0.6638 \n", - "4 0.20500 0.40000 0.16250 0.2364 \n", - "5 0.52490 0.53550 0.17410 0.3985 \n", - "6 0.25760 0.37840 0.19320 0.3063 \n", - "7 0.36820 0.26780 0.15560 0.3196 \n", - "8 0.54010 0.53900 0.20600 0.4378 \n", - "9 1.05800 1.10500 0.22100 0.4366 \n", - "10 0.15510 0.14590 0.09975 0.2948 \n", - "11 0.56090 0.39650 0.18100 0.3792 \n", - "12 0.39030 0.36390 0.17670 0.3176 \n", - "13 0.19240 0.23220 0.11190 0.2809 \n", - "14 0.77250 0.69430 0.22080 0.3596 \n", - "15 0.65770 0.70260 0.17120 0.4218 \n", - "16 0.18710 0.29140 0.16090 0.3029 \n", - "17 0.42330 0.47840 0.20730 0.3706 \n", - "18 0.31500 0.53720 0.23880 0.2768 \n", - "19 0.17730 0.23900 0.12880 0.2977 \n", - "20 0.27760 0.18900 0.07283 0.3184 \n", - "21 0.11480 0.08867 0.06227 0.2450 \n", - "22 0.59540 0.63050 0.23930 0.4667 \n", - "23 0.26000 0.31550 0.20090 0.2822 \n", - "24 0.35780 0.46950 0.20950 0.3613 \n", - "25 0.39490 0.38530 0.25500 0.4066 \n", - "26 0.66430 0.55390 0.27010 0.4264 \n", - "27 0.21170 0.34460 0.14900 0.2341 \n", - "28 0.61100 0.63350 0.20240 0.4027 \n", - "29 0.28120 0.24890 0.14560 0.2756 \n", - ".. ... ... ... ... \n", - "539 0.30640 0.33930 0.05000 0.2790 \n", - "540 0.21180 0.17970 0.06918 0.2329 \n", - "541 0.42020 0.40400 0.12050 0.3187 \n", - "542 0.13760 0.16110 0.10950 0.2722 \n", - "543 0.13810 0.10620 0.07958 0.2473 \n", - "544 0.20370 0.13770 0.06845 0.2249 \n", - "545 0.15170 0.10490 0.07174 0.2642 \n", - "546 0.08842 0.04384 0.02381 0.2681 \n", - "547 0.22460 0.17830 0.08333 0.2691 \n", - "548 0.09546 0.09350 0.03846 0.2552 \n", - "549 0.16330 0.06194 0.03264 0.3059 \n", - "550 0.07348 0.00000 0.00000 0.2458 \n", - "551 0.17820 0.15640 0.06413 0.3169 \n", - "552 0.10640 0.08653 0.06498 0.2407 \n", - "553 0.08298 0.07993 0.02564 0.2435 \n", - "554 0.16200 0.24390 0.06493 0.2372 \n", - "555 0.17100 0.20000 0.09127 0.2226 \n", - "556 0.12000 0.01005 0.02232 0.2262 \n", - "557 0.07158 0.00000 0.00000 0.2475 \n", - "558 0.31710 0.36620 0.11050 0.2258 \n", - "559 0.25170 0.36300 0.09653 0.2112 \n", - "560 0.22640 0.13260 0.10480 0.2250 \n", - "561 0.05494 0.00000 0.00000 0.1566 \n", - "562 0.79170 1.17000 0.23560 0.4089 \n", - "563 0.41860 0.65990 0.25420 0.2929 \n", - "564 0.21130 0.41070 0.22160 0.2060 \n", - "565 0.19220 0.32150 0.16280 0.2572 \n", - "566 0.30940 0.34030 0.14180 0.2218 \n", - "567 0.86810 0.93870 0.26500 0.4087 \n", - "568 0.06444 0.00000 0.00000 0.2871 \n", - "\n", - " worst fractal dimension \n", - "0 0.11890 \n", - "1 0.08902 \n", - "2 0.08758 \n", - "3 0.17300 \n", - "4 0.07678 \n", - "5 0.12440 \n", - "6 0.08368 \n", - "7 0.11510 \n", - "8 0.10720 \n", - "9 0.20750 \n", - "10 0.08452 \n", - "11 0.10480 \n", - "12 0.10230 \n", - "13 0.06287 \n", - "14 0.14310 \n", - "15 0.13410 \n", - "16 0.08216 \n", - "17 0.11420 \n", - "18 0.07615 \n", - "19 0.07259 \n", - "20 0.08183 \n", - "21 0.07773 \n", - "22 0.09946 \n", - "23 0.07526 \n", - "24 0.09564 \n", - "25 0.10590 \n", - "26 0.12750 \n", - "27 0.07421 \n", - "28 0.09876 \n", - "29 0.07919 \n", - ".. ... \n", - "539 0.10660 \n", - "540 0.08134 \n", - "541 0.10230 \n", - "542 0.06956 \n", - "543 0.06443 \n", - "544 0.08492 \n", - "545 0.06953 \n", - "546 0.07399 \n", - "547 0.09479 \n", - "548 0.07920 \n", - "549 0.07626 \n", - "550 0.06592 \n", - "551 0.08032 \n", - "552 0.06484 \n", - "553 0.07393 \n", - "554 0.07242 \n", - "555 0.08283 \n", - "556 0.06742 \n", - "557 0.06969 \n", - "558 0.08004 \n", - "559 0.08732 \n", - "560 0.08321 \n", - "561 0.05905 \n", - "562 0.14090 \n", - "563 0.09873 \n", - "564 0.07115 \n", - "565 0.06637 \n", - "566 0.07820 \n", - "567 0.12400 \n", - "568 0.07039 \n", - "\n", - "[569 rows x 30 columns]\n", - " malignant benign\n", - "0 1 0\n", - "1 1 0\n", - "2 1 0\n", - "3 1 0\n", - "4 1 0\n", - "5 1 0\n", - "6 1 0\n", - "7 1 0\n", - "8 1 0\n", - "9 1 0\n", - "10 1 0\n", - "11 1 0\n", - "12 1 0\n", - "13 1 0\n", - "14 1 0\n", - "15 1 0\n", - "16 1 0\n", - "17 1 0\n", - "18 1 0\n", - "19 0 1\n", - "20 0 1\n", - "21 0 1\n", - "22 1 0\n", - "23 1 0\n", - "24 1 0\n", - "25 1 0\n", - "26 1 0\n", - "27 1 0\n", - "28 1 0\n", - "29 1 0\n", - ".. ... ...\n", - "539 0 1\n", - "540 0 1\n", - "541 0 1\n", - "542 0 1\n", - "543 0 1\n", - "544 0 1\n", - "545 0 1\n", - "546 0 1\n", - "547 0 1\n", - "548 0 1\n", - "549 0 1\n", - "550 0 1\n", - "551 0 1\n", - "552 0 1\n", - "553 0 1\n", - "554 0 1\n", - "555 0 1\n", - "556 0 1\n", - "557 0 1\n", - "558 0 1\n", - "559 0 1\n", - "560 0 1\n", - "561 0 1\n", - "562 1 0\n", - "563 1 0\n", - "564 1 0\n", - "565 1 0\n", - "566 1 0\n", - "567 1 0\n", - "568 0 1\n", - "\n", - "[569 rows x 2 columns]\n" - ] - }, - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "import os\n", "from sklearn.datasets import load_breast_cancer\n", @@ -1053,20 +566,11 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "# Common imports\n", "import numpy as np\n", @@ -1154,78 +658,11 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (0, 0)\t1.0\n", - " (0, 7)\t1.0\n", - " (0, 9)\t1.0\n", - " (0, 13)\t1.0\n", - " (1, 3)\t1.0\n", - " (1, 5)\t1.0\n", - " (1, 8)\t1.0\n", - " (1, 12)\t1.0\n", - " (2, 3)\t1.0\n", - " (2, 5)\t1.0\n", - " (2, 8)\t1.0\n", - " (2, 11)\t1.0\n", - " (3, 1)\t1.0\n", - " (3, 5)\t1.0\n", - " (3, 8)\t1.0\n", - " (3, 12)\t1.0\n", - " (4, 2)\t1.0\n", - " (4, 6)\t1.0\n", - " (4, 8)\t1.0\n", - " (4, 12)\t1.0\n", - " (5, 2)\t1.0\n", - " (5, 4)\t1.0\n", - " (5, 10)\t1.0\n", - " (5, 12)\t1.0\n", - " (6, 2)\t1.0\n", - " :\t:\n", - " (8, 12)\t1.0\n", - " (9, 3)\t1.0\n", - " (9, 4)\t1.0\n", - " (9, 10)\t1.0\n", - " (9, 12)\t1.0\n", - " (10, 2)\t1.0\n", - " (10, 6)\t1.0\n", - " (10, 10)\t1.0\n", - " (10, 12)\t1.0\n", - " (11, 3)\t1.0\n", - " (11, 6)\t1.0\n", - " (11, 10)\t1.0\n", - " (11, 11)\t1.0\n", - " (12, 1)\t1.0\n", - " (12, 6)\t1.0\n", - " (12, 8)\t1.0\n", - " (12, 11)\t1.0\n", - " (13, 1)\t1.0\n", - " (13, 5)\t1.0\n", - " (13, 10)\t1.0\n", - " (13, 12)\t1.0\n", - " (14, 2)\t1.0\n", - " (14, 6)\t1.0\n", - " (14, 8)\t1.0\n", - " (14, 11)\t1.0\n", - "Train set accuracy with Decision Tree: 0.73\n" - ] - }, - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "# Common imports\n", "import numpy as np\n", @@ -1312,73 +749,11 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "X1 < 0.000 Gini=0.408\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 1.000 Gini=0.407\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "Split: [X3 < 1.000]\n" - ] - } - ], + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "# Split a dataset based on an attribute and an attribute value\n", "def test_split(index, value, dataset):\n", @@ -1482,37 +857,11 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['Outlook', 'Temperature', 'Humidity', 'Wind']\n", - "System entropy 0.863120568566631\n", - "Outlook\n", - "(Sunny)\n", - "(Overcast)\n", - "(Rain)\n", - "Humidity\n", - "(High)\n", - "(Normal)\n", - "1\n", - "Temperature\n", - "(Mild)\n", - "(Cool)\n", - "Wind\n", - "(Weak)\n", - "(Strong)\n", - "1\n", - "1\n", - "0\n", - "0\n", - "1\n" - ] - } - ], + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "import re\n", "import math\n", @@ -1712,32 +1061,11 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Logistic Regression: 0.95\n", - "Test set accuracy with SVM: 0.63\n", - "Test set accuracy with Decision Trees: 0.90\n", - "Test set accuracy Logistic Regression with scaled data: 0.96\n", - "Test set accuracy SVM with scaled data: 0.96\n", - "Test set accuracy with Decision Trees and scaled data: 0.90\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:757: ConvergenceWarning: lbfgs failed to converge. Increase the number of iterations.\n", - " \"of iterations.\", ConvergenceWarning)\n" - ] - } - ], + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -1791,20 +1119,11 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqkAAAEjCAYAAAAR5ZjkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3Xt8XHWd//HXJ0mbpEl6o21KWkosLSggFykUKBRcFMQVgarIIv7EGyjiZcVF+P0QENytsLCoK66iIALecCmICN5QrNwqVQq0YFsuoTeapvSWpG3aJN/fH+eknUzOJDOTmXOZeT8fj3m0c+bMnG8mmfd8zjnf7/eYcw4RERERkTipiLoBIiIiIiLpVKSKiIiISOyoSBURERGR2FGRKiIiIiKxoyJVRERERGJHRaqIiIiIxI6KVMmamV1gZs7MtpjZuLTHqvzHromoeTnzf56P5ficO8ysJcfnnGxm15hZRdryZv89uyCX1xMRESkHKlIlH2OAL0fdiAK4AMipSAWuA87O8TknA1cz8PP2OnAc8OscX09EYsrf8Xx/1O0oNn+H/cEkb8vMLjSzVWbWm6QDLOVERark43fAZ82sMcyNmll1mNsL2rZz7mXn3DOFeE3nXJdz7innXFshXk9EYmFf4FdRN0IG558NvAX4T2AKcGMI27zC34n5drG3VSpUpEo+vub/e+VQK5rZMWb2BzPrMLNOM3vEzI7J4nnX+B/mQ83st2bWAdyT8vg8M3vKzLb73Q9+YWbT0l7jPDN7xt/2NjN73swu8h97FDgJmONvx/nLUrs1zPVfdwuwyH9swOl+M6szs6+b2ctm1mVm683sXjNr9PfOr/ZX3d23Lf95gaf7zex8M3vWzHaa2UYzu8vM9k1bp8XM7jazc83sRf+9XWxmJ6Std7SZ/d7M3jCzHWb2ipl9Z6j3X0Ty45xb75zrirodMqT9gSrgQefc6865jmJuzMyOBS4EnivmdkqNilTJx+vAt4ELzWz/TCuZ2WHAn4FxeKfW/w8wGvizmR2e5bZ+6b/Ge4Gb/df9FHAv8ALwfuAi4FD/dRv8dU4A7vafe5a/3veBsf7rXgw8gxcYx/m3i9O2/WPgVf+5l2f4GUcCvwc+C9wBvAe4BNjk/9w/AG7zVz8hZVuBzOxC4C7gRWCev93T/J+tPm31E4FLga8AHwQqgQfNbKz/WvXAb4EevPf/dOBavGAWkUGY2aNm9j9mdpOZbTKzNjP7vJlVm9kt/s7xKjP7cNrz9pzuT9kRfZ+/s7jdzF4ws3dm2YYRZvYtM1vn7wCvNrOvpzx+vpk9bWbtZrbB36mekvL4yf72Tzezv/k7qn8xs6lmdpK/M9xhZg+a2T4pz7vDX3almbX66/zQzGoHaauZ2WX+zvoO/6DA+WnrXGVmr6XszN+ZzfuQ57a+bmbL/cdbzOwGM6vxH7sAL/8BXvHfo+Z82pJle8fgfZ98DNhcrO2UJOecbrpldcMrdBwwAxgPbAFu9x+r8h+7JmX9//XXGZuybDReAbdgiG1d47/e59OW1wNb+7absvxNwC7gC/79LwGbhtjGo8Bjg/ycNwc8dgfQknL/Y/66783iZ6lKW97sL7/Av18JtAJ/SlvvBH+9z6Usa8ELu3Epy2b5652Xdv+wqP92dNMtaTc/H7b5n9+ZeDuEDngY+Lyfg9cBXcC+Kc9zwPv9//d9xv8BnOG/zo+AN4D6LNpwKbAamAtMA44HPpry+MeAdwPTgWOAPwELUx4/2d/+X/F2ag8DlgKPA48As/2ceBX475Tn3QG0A7/AOwBwGrAW+FbaOg+m3P93YDnwLj+PzwM6gX/2H3+f/37+s/+zzAIuyfJ3kdO2/HW+AszxfwfvBlYB1/mP1fo/kwOOBiYDlRm2/TDQMdgti/b/HLg+5e/q21H/fSflFnkDdEvOjZQi1b//FaAbOIjgInUDcHfA69wBvDHEtq7xX29a2vJ3+stP8beZensOv/jFO5Xv8I6mvoeUQjnltR5l8CJ1boa2t6Tc/xnwepY/y1BF6sH+/U8EvEYLcG/a/YfS1qn2n3+5f38MXiH7JHA+sF/Uf0O66ZaUm58PT6bcN6ANeCBl2Qi8neP3pywLKlIvSnl8ir/shCza8C28YtKybPOb/dee6t8/2b9/Wso6l/jL3pay7Bpgacr9O/AOMNSnLDsfryCvS1nnQf//dcAO4MS09nyjL6eAL+IVliPy+F3ktK0Mr/Ep4KWU+3078c1DbHsK3g5JxtsQz/8k8Le+nxsVqTnddLpfhuNmvKOi12Z4fDxe14B06/FOhWcj/fmT/H//AOxOu70V2AfAOfdn4APAfsB9QJt5fWMPy3K7QdsOsg/eEYZCGD/IdtenPN5nU+odt7cfXI1/fyvwdmAd8B1glZktNbP3Fai9IqVuT/9B51UYG4DnU5btxtsRnDTwqcGvg/d5JIvngFecHQGs8LsY/LOlTGVnZm8zs1/6p9DbgcX+Q9PSXid1+63+v8+nLUtvz3Oufz/NJ4GRwAEB7TwYL3d+43cN6DBvHMGnU9b/hb/Oq2Z2m5l9wPIbDJvNtjCz95vZY363gg6876v092VIzrm1zrmXBrtleq6ZHQT8B97Zrd25blvUN02GwTnXYWbzgZvwRkim24R3GiXdZLLvl+PS7r/h/3sBsCxg/faU9v0v8L9+38yTgevxgm2qc643j20H2Yh3OqwQ+orOTO/Z33J9QefcEuB9ZlaFd+TgCuAeMzvcObc075aKlIf0wsJlWDbUAZ89z3HOOTMji+fgnPu731fyNLyzRz8CnvX7tNbi9Tn/A/BhvAJ6AvAXvGIy08/h/NdOXzacg1Z9zz0D77T6gG0751b7RdspwDvwvjeuNrPZzrnOQm7LvEFKPwO+Cvwr3lHh95LHCH4zexivq0RGzrn08QJ9jsP7nSzzf+fgdeuaa97YijqnQXaDUpEqw/UdvNM4Xwt47M/Au82swTnXDmDewKYz8E555OMJvEJ0hnPuR9k8wT8a8KCZTQe+iXf0sw3v1FVDnu3o8zvgXDM7wzmXadqZvhCqJaWIDrAc74jGuewdbIWZHY83EvWmfBvpnOsGnjKzr+CF9Vvw+qaJSIz52dm3w30H8BTeaeYGvALo/zrnXgVv1pMCbvqtZlaXUkAei9e14eWAdV/Ay7n9nXN/zPSCzrmdePNC/9ofALYer9/o73JoVzbbmgOsdc5d17fABhnkO4RP4GV3Pu5n79HtPj8EVuIdYd2V5+uWDRWpMizOuS4zuxa4NeDh6/D6gz5iZtfj7a1/GRhF5i4CQ21vm5n9G3CLmU3E69S+Fa/f0EnAo865n/htasQbSLAOmAp8Dlji9s5L+gJwsZl9EC94251zy3Ns0t14fY5+6h9VXoT35XEa8A3n3D/87QBc6u+V9zjn0oML51yPmV0FfM/M7vZfewreIIGVwO25NMzM3oM35cn9eAMj6vDeg3a8U3ciEmNm9kW87j9L8I4Snoc3+GgN3ue5C7jEzG7B2/G8LsNL5aMKuN3P0ibg68D3g456OufazexG4EbzDhkuxBvkeizQ65y71R9RX4WXkR14M5Lsxsu2rGWzLWAFMMXMPoSXdacB/5LrG+BvL+/uXM65LXhHcfcws068Qb06SJAFFalSCD8E/g1v5OoezrnnzOxkvCLrR3gDD54CTnLOPZvvxpxz3zOz1f42z8P7O16Ld5prib/aIryC7Ga8vpwb8PbWv5LyUtfjDfr6AV7I/RmvW0AubdltZqfizYV6of/vG3ijZ/tO3z+Id8T5YuAqvPfBBr4a+GG+3f/ZfokX5g8Bl+V4Sgy88N+B9zPvi1ecPg280zm3JsfXEpHwtbM3Wx3etEmnO+e2A9vN7CN4R+Q+g9fv9IvAbwq07T/jdan6E96BhXuBywZZ/yt4Z4K+BPwPXjG9BLjBf3wL3kGKG/EGnL0AzOs7CpyjQbflnPuVmf0n3mCqWrzsvwovhyVBzOsLLiIiIuLNkwpMcM69J+q2SHnT6H4RERERiZ3Ii1Qzu8S8yzl2+Xtvmda7wMx6Uqec8E8li4iUHWVn8pnZd9N+L6m370bdvjCY2bRB3oMOS7vctZSXOPRJXYc3Mvw0hh5B96Rz7oQh1hERKQfKzuS7iszTIm0LsyGpnHMXhLi5dXhzwQ72uJSpyItU59wCADObhTcCW0REhqDsTD7n3Aa8QZ1ly58eL+OE+FLeIi9Sc3SkmW3EGzV9FzDf/wMfwMwuxBttTV3dqKPe/OYZ4bWyDO3YsZ0tW7axc1cFjPTniN41gpqRvYwZM5pRo0ZF28Bh6unpYfPmjXR2VtBb1U1t/UjGjxlPd3c3bZveoGenMbKil1GjRjJ+/D5RN3dQW7ZsYufOLnZ0VWEjdzN2zJjE/36i8vzfnt/onJsYdTuyoOwUGaaOjg62beugq7sCq+5hwvjxjByRft0EyUa22ZmkInUh3pV9XgMOAX6Od934+UEr+3Ol3Qowa9bh7q9//W1IzSxPf/zjw/zmN4/x0sY6bJo3u5Fb08QB43Zy6qmzeec7z4i4hcPT1tbK97//Xzzz3L70zniFpv0ncvknL+fV1a/y33fcwu4N9ezbW81xxzVy/vkXRd3cQd1//09ZvHgpL64ejb1pNe844Z844x3J/v1EZVrltNeibkMWlJ0iBXDffT9h4cLlvLbDqNz3DT5x7sc49KBCXXCwvGSbnZEPnMqWc+4V59yrzrle59zzeJPBvz/qdomIxJmyU0SSKjFFagBHhgnRRUQkI2WniCRC5EWqmVWZWQ1QCVSaWY2ZDeiGYGanm1mj//83411x4pfhtlZEJB6UnSJS6iIvUoEr8S7deDlwvv//K1PmTuubI+0U4Dn/urcPAQvwLgcnIlKOlJ0iUtIiHzjlnLsGuCbDw/Up630J7zq9IiJlT9kpIqUuDkdSRURERET6UZEqIiIiIrGjIlVEREREYkdFqoiIiIjEjopUEREREYkdFakiIiIiEjsqUkVEREQkdlSkioiIiEjsqEgVERERkdiJ/IpTkpvW1gW0tMynq2st1dVTaG6+gsbGeVE3S0Qk1pSdIsmjIjVBWlsXsHLll+jt3QFAV9caVq70rnaosBURCabsFEkmne5PkJaW+XtCtk9v7w5aWuZH1CIRkfhTdookk4rUBOnqWpvTchERUXaKJJWK1ASprp6S03IREVF2iiSVitQEaW6+goqK2n7LKipqaW6+IqIWhau1dQGLFh3NwoVNLFp0NK2tC6JukogkgLJT2SnJpIFTCdLXwb8cR6hq4IOI5EvZqeyUZFKRmjCNjfPKMlgGG/hQju+HiORG2bmXslOSQkWqDBDH+QQ18EFE4k7ZKVJY6pMq/fSdGurqWgO4PaeGou7DpIEPIhJnyk6RwlORKv3EdT7BqAY+9A04ePHFI5k1615mzlhW1O2JSDIpO/vTYC0pBJ3ul37iemooioEP6QMOamo6OeXtv8G9+DY6mFi07YpI8ig799JgLSkUFanST3X1FP901cDlEG2fq7AHPgQdGRkxops5M5fy21WzQmuHiMTfYNkZdV/VOGSnBmtJPnS6X/oZ7NRQXPtcFUumIyANNdtDbomIxF2m7Bw37pSyyk2I71FlSR4VqdJPY+M8Zs68kerqqYBRXT2VmTNvpLFxXmz7XBVLpoEF7TtHhdwSEYm7TNm5efMjZZWboMFaUjg63S8DZDo1VG57x83NV/TrVwWwe3cVj688FKojbJiIxFJQdi5ffknguqWamxCcneV0hS8pHB1JlayV295x+pGRnTvreORP72LF+v2jbpqIJES55SYMfkZOJBcqUiVr5Xj968bGecye/TRvecszLF78Pla+dEjUTRKRBCnH3IS92Tl37jpmz35aBarkRUWqZE17xyIiuVFuiuRPfVIlJ+V6/WsRkXwpN0XyoyOpIiIiIhI7KlJFREREJHZUpIqIiIhI7KhPaomI+rJ7IiJJpOwUiS8VqSWg73KlfRMn9112D0hU2OrLQkTCpOwUibfIT/eb2SVmttjMuszsjiHW/VczW29m28zsdjPTdX+gJC5X2vdlUU7XtxYZDmXn8Ck7ReIt8iIVWAd8Dbh9sJXM7DTgcuAUYH9gOvDVorcuAUrhcqW5flm0ti5g0aKjWbiwiUWLjlYgSzlSdg6TslPZKfEWeZHqnFvgnLsfeGOIVT8C3OacW+ac2wxcB1xQ7PYlQSlcdi+XLwsdORBRdhaCslPZKfEWeZGag0OAZ1PuPws0mtk+QSub2YX+qbDFbW1DZXiylcJl93L5ssjmyIGOFojsoezMQNmp7JR4S1KRWg9sTbnf9/+GoJWdc7c652Y552ZNnBiYxSWjFC67l8uXxVBHDnS0QKQfZWcGys7+y5WdEjdJGt3fAYxOud/3//YI2lJQhRiZmfTL7vW1PZv3obp6ih+iA5f3vUamowVJfo9E8qTsHISyU9kp8ZWkInUZcDhwj3//cKDVOZfo81GlMgVKIWT7ZdHcfEW/9wz6HzkohcEQIgWk7Cxxyk4pVZEXqWZW5bejEqg0sxqg2znXnbbqncAdZvZjvFGtVwJ3hNnWXGWzlx+3Pdd8j0ycc848Nm/+6IDlo0Zt5dRT7wl4Rv6GOnIw1NECkVKg7CyN7Jw8eTRtbaMGLG9s7GHduraCtlHZKUkTeZGKF5hXp9w/H/iqmd0OvAAc7Jxb5Zz7jZndAPwJqAXuTXterGS7lx+nPdd8j0y0ti5g8+aLAx/bvn1M4RvK4EcOhjpaIFIilJ0BkpadbW3B2dnaWln4hqLslGSJfOCUc+4a55yl3a7xw7XeObcqZd3/cs41OudGO+c+6pzrirLtg8l27ro4TYGS78TWcZv4uhQGQ4gMRdmp7Cw0ZafETRyOpJakbPfy47Tnmu+RiaEeHznyU6xY8TgHHvj1vNuWq6QPhhApV8rOvR5//GBmzPhaqFmm7JQ4ifxIaqnKdi8/Tnuu+R6ZGOpxs17Wr/8RK1ZcnnfbQPP3iZQDZedePT2bWb78C8POOmWnJJWK1CLJZe66xsZ5zJ79NHPnrmP27KcDQzaMkMl3Yutsj1ysX3933m3T/H0i5aGQ2RlWcVbc7Nw9rG4Byk5JMhWpRVLIvfywQmY4bR43rjXD8vUp93ryblu+fb5EJFkKlZ1hFmfDafP48UNn53AGgyk7JcnUJ7WICtW3J8ypVnJtc98XwYIFn9mzzDkwC1o7/9GqcRrJKyLFVYjsDHuKqnyz8957PzPkusMZDKbslCTTkdQEiHPIBH0RmHmFarrJk8/PeztxGskrIvEX59yE4OwMNmJYg8GUnZJkKlITIM4hM1jg9/YazoFzFUye/JFhje7Pt8+XiJSnOOcmZFcsV1aO46CDvjGsI7/KTkkyFakJEBQyAD09nZF3fs8U+O07a/nW3Rfz4IMfZ9eu7w57+qk4jeQdikbSikQvODeNrq41sfhcZi6ipzJ37uvMnfs6c+a8MOyMU3ZKkqlPagL0hclLL11JT8/mPcu7uzdHfq3qoLkKd/dU8vgrhxR8W0mYv2/UqOdYufJhXU9cJGL9LwG6BjDA64cUh89lmPO8JiE7871ql5Q2HUlNiMbGeVRV1Q1YHvUozb69dOf2wTnY1tHAH/5xJCta94usTfko1B782LGPaCStSEz0TVHlHUXs31E+6s9lko5wDqZQ2alZCCSIjqQmSJgDATo7O1iw4G42btyQ1fq7d59Ny2tVrKcbm/iGt7BmJx2dI/n73xexdOkzBW9jIYwaVcfb3z6WDRv+fdA9+K1bH2LWrHuZM6eT9p2jeGHz8YGvV1m5NXB5XAZriJSjMLOztfV17r//J2zf3pnlM87Y878nnlgKLC14m4phwoRJnHTSaFatujJjdra2LvCPZK+lunoKzc1XZCzC4z7QTaKhIjVBqqun+KetBi4vpNWrW7jzztt5ceUodvZUZ9s6evfZhI3uoLamHqswto/fTGt7HW1L9ylo+wqpih6am+dTW5t5qprW1gW8/vq11NTsBGB07XZmVT9Ke+t9wBH9ntfTM4aqqoGFalwGa4iUo7Cyc8mSv/KLXzzAy6tG00222ZlMNRVbaWy8iZqazEc/czl9H9bvSJJFRWqC5NKHKZc92FQrV77I3XffydKXx+L2X4NV9mbdPjOYMmUKn/nQp8Hgf378PVavWY1ryPaIQvh29Ro1NcHt69uDb2mZj3M7+z1WVdHNppYboOkn/ZZv2XIKkyY9HIvriYuIJ4zsXLjw9/zqV4/yyqYa3P6rsIqAefhKyPaeCqqrOwIf6+pam/M8tWH20ZXkUJGaIP0HAmQO0OF0QH/xxWfZtm0EvXU7qBzhOKB5OvtO3Der9k3cZyJzj5lLRYXX1fnSj/8rjz39GK0bg6+oErVtHdtYtvwF2nfUMXrUwEK1bw8+0+mm7q51Azp1b99+GDNnnpLXl5yIFEc42fkcW7bU4UZvZcTICg456GBG148uwk8TvdfbXufllldp76xndP3AQtU7Kprb6ftsf0dSXlSkJkw2ozSHe6UVM28crBmcfOzJHPbmw/Jqa0VFBXNnz83ruWHYsHEDL760nMeXHck7j3yKqqruPY+l7sFnOg1VVd1E0HHmJIykFSk3YWQneNlZUVnJGaecwaQJk/Jtbqw994/neOW1V3lsyTGceuzCwOzcO6tCf4Odvld2SjqN7i9B6oCemxVrpvPkk//Erl2jCRpl29x8BWY1/Z7T3VvF+ObLImitiBSLsjM3y1+byTPPnEhPzzjSs1MXEZBC0JHUEqQO6LlraTmICRMO46KLLh3wWGPjPNrbt/LKK/9OdfXe0f0fOvlsNq5+NYLWikgxKDtzt3btDA444L2cdda5/Zbr9L0UgorUEqQO6Nk59dDD2NT20z33b78dLr4YGht7WLeurd+6Y8a8m8WL/8Ezz+1L74xXaNp/YtjNFZEiU3Zm5/y5p7DljX/ec/+b3/T+Tc9Onb6X4VKRWoK0B5udTW0jApe3tlaG3BIRiQNlZ3a2vFETuFzZKYWmIrWI8p3KpBC0BysiSaXsFBFQkVo0ug5xfo5qaqItYG98YmMPf1u3LoIWiUiYlJ35UXZKKdLo/iLRdYjzExSygy0XkdKi7MyPslNKkYrUItFUJiIiuVN2ikgfFalFkmnKEk1lEh/jJ+4OXN7Y2BNyS0Skj7Iz/sbuszNwubJTCk19UotEU5nE3++WPscN37uRXRtHMr5jDLNmVQfOk5qPKAd+iCSZsjP+7l74CLf//Id0r5vAm+p6mTv34AHzpOZL2SmpVKQWiaYyKV8a+CGSP2Vn+VJ2SjoVqUWkqUxyN7GxJ+MI1aQoxPW/RcqZsjN3yk4pRSpSJVZKYaoUDfzQdDgiYSuFz5WyU9mZTgOnRApMAz80HY6I5E7ZqexMpyJVpMCam6+goqK23zIN/BARGZyyU9LpdL9IgWngh4hI7pSdkk5FqkgRFGLgR6GmYkl/nZEjTwKqh9U2EZFiiHd2zgXqh9U2yY1O94vEUN9ULF1dawC3ZyqW1tYFw36durp7mDz55aK0W0QkSsXMzvr6XzB16sqitFuCxaJINbPxZnafmXWa2Wtmdl6G9a4xs91m1pFymx52e0WKrVDXLw96HbPdzJy5eNhtHEymaW+SNB1OEig7RfordnYecsjTw27jYJSd/cXldP8twC6gETgC+LWZPeucWxaw7s+dc+eH2jqfroQhYSnUVCyZ1q+p6cy5Tbkox6lSIhL77FRuSpiKnZ21tR05tykXys7+Ii9SzawOeB9wqHOuA3jMzB4APgxcHmnjUuhKGBKm6uop/mmmgcsL8To7d9bl3bZ85Dv3n+YMzCwJ2anclLAVOzt37Ai3T2o+GVhKuRmH0/0HAt3OuRUpy54FDsmw/hlmtsnMlpnZpzO9qJldaGaLzWxxW9sbw25koU4hiGSjUFOxBL2OcyNYuXLWsNuYi3zn/otizsCjmpqYVrnfgNtRTU1F22aeYp+dyk0JW7Gzc9myo4fdxlzkk4FRzbVajOyMQ5FaD2xLW7YVaAhY9x7gLcBE4JPAVWb2L0Ev6py71Tk3yzk3a+LEfYbdSF0JQ8LU2DiPmTNvpLp6KmBUV09l5swbcz76FPQ6nZ3nsH79AUVpdylI0GTasc9O5aaErZjZ2dHxAdasmVmUdpeCYmRn5Kf7gQ5gdNqy0UB7+orOuRdS7j5hZt8E3g/8tHjN8xTqFILEz4FTX+HEtzxLXV07ixb9LDZ95gp1/fL017n//p8CS4f9unFTSqe4shT77FRulraD9l/JyW/7K7W1HSxadFPJZ+d99/0EWD7s142bOGdnHIrUFUCVmc10zvXN7XA4ENTxP50DrGgtS9HcfEW/vlWgK2GUghkTWzh5xtOMqPJGTg7WZ+76679JR8fYPfe/8ymA/aiuO4x3feTSsJosGSToCGihxD47lZula+akVZxy0DOMqOoGBs/OpqaJtAZ8Dhsbe1i3rq34jZVBxTk7Iz/d75zrBBYA15pZnZnNAc4E7kpf18zONLNx5jkG+BzwyzDaWahTCBIvxzY/t6dA7ZOpz1xqgZqqqzN4uUgxJSE7lZul6/jpS/cUqH0yZWdQgTrYcpE+cTiSCnAxcDuwAXgD+LRzbpmZnQg87JzrG053rr9eNbAGuN4596OwGlmoUwgSH/XV2wOXd3Wt7Td1TlXVZKAkTxmHYmJjT8bTScV4XhmJfXYqN0tTQ82OwOXp2el17VgdbuNKSD4ZWEq5GYsi1Tm3CTgrYPlfSLkGmXMusKO/SL46ukbRUDOwUK2sHNvvNGV39+thN62k5NuvKYr+UEkKeGWnRKV9Zy2jawcWqunZGdQnWbKXTwZG1Y+0GNkZiyJVJCotb+zLoU0vYym98yoqajGDnp7gIwUSnig69Ec9UEAkCV7dOJnDpr6q7IypUsnOrPqkmlmtma0xs1VmVp322A/MrMfMzi1464qstXUBixYdzcKFTSxadPSAa/sO9bgk264tD/PmyS39QhaMSZPOobt7S1TNkhS5dOiP4+UElZ3KzlJUueNPHNy0StkZY0nPzj5ZHUl1zu0ws6uBH+D1gboZwMzmAx8HPuOc+1nRWlkEQ10JRVdKyU2cp7CxmpgiAAAdo0lEQVTIZNeGWxhRmf4hdGze/Ejg1Dnjxq1n8+bJA16nuk6hHAdx/DtTdio7h5LE7BzZeScVBcjOxhgUQRLP7OyTy+j+O/CmNrnCzOrN7At4l9672jn3nWI0rpiGuhKKrpSSm7hOYTHYFTBcd2vgc7q61gZebeQXv5jKl684g7OuOIeLv/sZVvWs5s8tCznj3y4K40eR5LoDZaeyM4MkZqf1bgx8TqbsvP/+6axb9x16etb3u2n6KRlK1kWqc64HL1gn4k1d8l/Afzvnri1S24pqqCuhFONKKToFFr7BvgCsqjHwserqKQOmzqmq2peVK49j5UuZrjgpEkzZOfjzhqLcjMZg2ekqJgQ+FpSdmnZMhiOneVKdcw8CzwD/BPwc+Hzq42ZWbWbfN7NXzKzdzFaY2WcL19zCyXTFk77lQz2eq75TYN5pELfnFJgCNzojJ32G3T39gzh1ovHGxnnMnv00c+euY+bMh9m4cXoUzZQSoOzMLzuVm/G0q+7/ZJ2ds2c/rQJV8pZTkWpmH8S7oglAu3POpa1SBawHTgXGAOcAV5rZOcNtaKEFnZJI/ZAN9XiudAosfkaOPZ1HVx7Ntu11OAe7do3WHn/MxLlDfy6Unfllp3Iznnpq384j/3gb2zrqcQ56esYpO2OmVLIz6ymozOxU4E7gPmA38DEzu9k592LfOv4VUL6S8rQlZvYAcAJwT2GaXBh9H6bUCYdTrzs81OO5Kkb3Acks02CEdC+1NfPCiwcyvmMMs2ZV8453DP77nTljGcef+Ecaarbz2qJf0tvw0UI1WQLEuUN/tpSd+WencjNc2eYmwMoN03hxydt4U10vc+cePOTvN32C/+F8n8rQSiE7Icsi1cxm411+73HgQ8BU4H3AfAImkk553gjgRODGYbe0CIa6Ekohr5QSNOKxb3kpiNsE6MUYdDBhwivMPuApRozwLgXY3bUWdv0nMycewQsbkt9XNYmjjONO2Tk8pZ6bEK/sLNZgrVKf8UHZWTxDFqlmdjDwELACOMs51wW8bGa3AZ8ysznOucczPP3bQDveUYSy1tx8Rb8PKQyv+0DcRPlBzGXvv08+XwDNzc/sKVD3cF0cO/15XliW/CI1rqOMk0rZOXylnpsQXXbmk5uQX3YO1m2jFIpUZWfxDNon1cymAb8FNgOnO+e2pTx8HbADuCHDc/8LOM5/3q7CNDe5gkY8Tpp0Di0t8zVqdZhyDYJVPasHfDE0Ny/ngANuHfR3UV3dGfh6DdUDL6saBY2Cjg9lZ2FkGikO6G99mPLJzaDsnDLlJcaMuXbQ30Xcu20oO+Nr0COpzrlVwH4ZHlsHjAp6zMy+AZwC/JNzLnhCtTKUegqs1E9/JMmBU1/huCOfoqrKO0qa6XfR1VVHTc3AQrW9K/BjUHSpfbwqK8fS29uBc7sB/T1FTdlZOOldB5Sd8XHQ/is58si/UFk5eHbGqdtGet/YceNOYcOGe/T3FFM5je7Phpl9C3gHXshqpt4MNGo1PuYc8syeArVP0O+ipeVIdu9O26+zap565a3FbuIA6VPz9PRs3lOg9tHfU7IoO7Oj7IyPE474a1bZWejZcvIVNKXZ+vV36u8pxgpapJrZ/sBngRnAq2bW4d8eLuR2kq61dUHgXiXE5/RHqQrqT9VQG3waP/13sXHjdB7507vYtmMUzkFV9RTY599Y2bZ/Udo6mKAv6iD6e0oGZWd2lJ3RyNQPtaGuI3B5+u8iLhP8B+dm+mxwHv09xUPWU1Blwzn3GmCFfM1S07cnl0kpjVqNg1U9q4dcp31HHaNHDSxUg34XK186hOXU0rT/RC7/5OW8uvpVvHEx4co2QHP5e4rTKONyo+wcmrIzPNnkJkB7Zz2j6wcWqkG/i0LOlpOvXApPZWc8FLRIlaENdgQsqlGrqX10GhrGMmXKEbSsODD0duRruAHx+LIjeWdKn1SI/wjiTH28UuX6M2iqFImzuGfnAQc0sHHjsWzaODn0duSjEIXVY0uO4dRjFyYmOzPnppF6RFXZGR8qUkM22J5cFKc/0gchVFZu5sgj/8LGLuOl3eNCbUu+hhsQK9ZMp37nKGbPfoqRI9sTMdF00NQ8MIKqqnq6u7ck4mcQyUXcs3PkyG0cd9wf6XjmWFp2Tg21LfkoRGG1/LWZTKx2vO1tS6isjH/uZJrSbNKkc9i8+RFdaCCGVKSGLPMox6mRfCiCjk5UVXUz54i/8tLTp4XenqEUa9LklpaDmDDhMC666NLhNC80hb4imkjcJSY7D3mGlr/Fr0gtVnauXTuDAw54L2edde5wmhcK5WbyqEgNWdwmp850dCJTh/ihFPvKG5o0ea849PESCUtisjPDQMyhKDvDodxMloJPQSWDi8soxz6ZOoe3d9bn9XoKQhEphsRk5466vF5P2SkykI6kRiBOe3JBRye6u6t4fMkxEbZKRGSgRGTnsiMjbJVIaVGRWgDpV7BIUh+X9D46PT1jeeaZI1j+2kwqm3TBGxEpnlLKzl27Gli06FhWbJzMyAllfTVbkYJRkTpMpXCJvtSjEw888DPWrn0h4hZJnBW775yUh1LLzu997yZaWrqgfmvErZK4UnbmTn1ShynsS/S1ti5g0aKjWbiwiUWLjqa1dUFRthNXmebw06TJ4VHfOSkEZWe4lJ3RU3bmTkdShynTCM9iXFItjCMPH/3oJ9myZW/H/wXXev9mu6dX7CtvlOPe5nBOiQY9VyQOSi07v/zlr9DePnrP/Xuu8v5VdkZH2Zl8KlKHKfPcfYW/RN9gRx4KFbSpBWqqbPf0yjEIi2k4X66Znjty5DyguqjtFhlKqWVnaoGaStkZjeJk59lAfjPfSH5UpA5TmHP3hXnkQfrbuvUhZs26lzlzOmnfOYoXNh8fynaH8+Wa6bm1tQ8BZxe6qYEy9cFKpf5Y5UnZWR6iGhxXjOwcNeph4AOFbmqgobKzXHJTfVKHKcy5+zIdYSjGkQfZq7V1Aa+/fi01NZ2Yweja7cya/CjtrfcVfdvD+XLNtE5FxeZhtSkX2RxFUn+s8qTsLH19RyS9I+ZuzxHJMPoDl3p2lktu6khqAYQ1d1/crrhSLlpa5uPczn7Lqiq62dRyAzT9pKjbHs4p0UzP7e0dN6w2FbvvnJQPZWdpC6ObRSbKztKgIjVBdN3haGTaq+7uWlf0UxHD+XLN9NyOjncPq03lcIpJSouyMxpRdrMoRna2t58+rDYpO3OnIjVhin3kYezYzsDBU+Wwp9fb20NbW+uA5VVVk+nufn3g8uomeovcpuF8uWZ67pNPdgFLi9lskdgpdnY2NGwLHDxVDtmZSZiD49IVIzufeGInsLyYzZY0KlKlnx/+8Ps8+ugLtHRWUNm0kY998KMc9ubDom5WUYwYMQIzg9odbNk0lldf3cLNN39jwHr77juDQw7ZQFXV3i+b7t4qJjVfxjY30nuN+g42rm1g6dLXuOqqq4rQ2tQ9+CX+Lb/n9vR083prPW78GxhQU11TkBZGTRNlS5Suv/46Fi/uYlP9VkZO2MVlF32JSRMmRd2sSEXdzWI4OybBzy1u964oxD03VaSmSfJl+iQ348aM410nncqv/vAQPfutYeWWsdAz8MP64uaDWNtZyQlHPE1DbScdu+oYO+1LNDSeTb1zzD3mRP74xKPs3m8Ny7eMhd5iH1/d67d33UTXjjEDllfXbuW0D1+a4VkV2IQN2MjdTJ0ylTmz5hStfZn6YKWvUwiaKDtayk5JF+duFk1NE2kNyIbGxh7WrWuLoEX9DZWd5ZKbKlJTFHPCZwV4PJ0y5xSapzRz609vY2dV5ssZvrRzH15+6nSmTJ3Cxed9irpRXpcIM+PMU9/Lm6Y1c9e9P2HXiC1hNR0gsEDtW17ZmLktFVbB3Nknc+ap76Wiong9a+OwJy7Fp+yUTMIaHJeroAJ1sOVhU3Z6YlGkmtl44DbgVGAjcIVzbsBxdTMz4OvAJ/xFPwAud865QrSjWCMRS+Ea1aXsgOYDuPoLV7K+bf2g61VVVTF18tTAou6wNx/GVV94E21vhLsHft91mR/7/Mc+m/Gx+lH1ZX8qshQoO0WklMWiSAVuAXYBjcARwK/N7Fnn3LK09S4EzgIOBxzwe+BV4LuFaESxRiJGOQ2HZGdU7SimT5s+rNdoqGugoa6hQC0avuH+PJIIyk4RKVmRT+ZvZnXA+4CvOOc6nHOPAQ8AHw5Y/SPATc65Nc65tcBNwAWFakuxJnzW1U5EpNCUnSJS6iIvUoEDgW7n3IqUZc8ChwSse4j/2FDrYWYXmtliM1vc1vZGVg1pbr6CiorafssKMRJRVzsRKb5MAwlKeAogZaeIDEvcczMOp/vrgW1py7YCQedN6/3HUterNzNL71vlnLsVuBVg1qzDs+p3VayRiFFPwyGlS1cw2asMBxooO0Xy1NjYk3F0fzmJe27GoUjtANJnQB4NtGex7migo1Cd/6E4IxHjPA2HJFvcA0aKStkpkqc4TDMlQ4tDkboCqDKzmc65lf6yw4H0jv/4yw4H/jrEerET12k4RCSxlJ0iUtIi75PqnOsEFgDXmlmdmc0BzgTuClj9TuCLZjbFzJqAS4E7QmtsBFpbF7Bo0dEsXNjEokVH09q6IOomiUgMKDsHp+wUSb7Ii1TfxUAtsAH4KfBp59wyMzvRzDpS1vse8CvgebyLj//aX1aS+uYI9K597PbMEaiwFRGfsjOAslOkNMThdD/OuU14c/ilL/8LXof/vvsOuMy/5fD60NOTvM7QLS3/kWGOwP9gwoQzi7LNwvVQK5x8ry0c92sSiwyXsjNYFNkZN+Hmpkvk30muCtiFW7IUiyK12NavX8vXv35l1M3I2QknrMVs4PKdO4v38/T2OjZvHQ1jNgNGhQ082B528ZfvtYXjfk3iJFLhX16UndnbvbuX9p3jYZ8uwLCKgQ0I8/NTzNz0vhcMq+tk89ZxPP/8syxb9lzebU2Knh7Hlm1jYOwmgKwvKa3czF9ZFKnbuyr4+0v1Q68YM4cf2cDo+oEDdds7G4r48zjcpA1Y9W6amqYwo3nGgDVU/JUv/e7Li7Ize66iF/ZbQ8UIx+FvOYoJ4yYMWKdUPj8zmmfQ1LQva3rWsnXEbpa8MgEI2CsoQW5SK1a9mylTpnLA/gdk9ZxS+b1HoSyKVEbuhmnJ21t5vOUg3vGWZxhRufc0yu6eSh5vOaioP0+FVXD8UXN4/7vnUVmpD5FI2VJ2Zs2Ayooqzn7XeznxmBOxoEO5JaKmuoZLP/ZF/vehBTzxtydx016PukmhqbAKTjj6BOa962x9P4agLIrUcaPHMe/0Ad22EmFbzxOM6fkFlbxBD/uwbeQHOPRtx3NoEbfZ1NjEgW86sIhbEJEkGDt6rLIzBwdNP4h9J+1bxC3ER2VlJR884wMceejhrGtN3o5MvqZOnhp4hlGKoyyK1Pr6ek4+9uSom5Gnk4H/G3UjJEfqgySloKG+QdkpgzrwTQcW9KCGslNSxWUKKpGM8r22cJTXJC7FPkhHNTVF3QQRyVIScxNKMzslf2VxJFUKK+zrxee796y97sIa7EsirC8wkSQLMzuVm1IKVKRKzhRikk5/EyJD0+dEJDcqUiX21EdJRCQ3yk0pBSpSJfbi2kdpsC8BEZEoxTU3Qdkp2dPAKZE8DfYlEPXgAxGRuFJ2SrZ0JFWkCErxdFrYA+ZEpPwoOyWVilQRyUrfl0f6qbq21kqmVe4Xal839bcTkaT427p1gZnV1lrJUU1NoWZW0rJTp/tFJCdx6OsWhzaIiGQrLpkVl3ZkS0dSJfaKeaokznuVcW6biMSbcrO/OLRNcqciVWKvmMEynL3KYvczStoer4jER1xzE4qbncrN0qIiVSRP2isXEcmdslOypT6pIiIiIhI7OpIqksG0yv2AwvZlKoX+UnGYTiUObRCRgfpyE5SdqeKSWXFpR7ZUpIoMoZB9mUqhv1QxvhBy/QJKwpeSSLlTdu4Vh9wsVjuKSUWqlLVMe5VxEPc93kIe2Uj6F5BIOVFuDk+hsrMcclNFqpS11EBIPU0VB3Hf4y2HgBSRgdKzKU7ZGffcBGVnLjRwSkRERERiR0WqiIiIiMSOilSREGXqFxWn/lIiInGj7CxP6pMqEqIk9JeKQhIGO4hIdJSdA5VDbqpIFfGVwwe+kAr5fukLSCS5lJ25KdT7VQ65qSJVxFcOH/hCyub9SvoE3CIyNH2Wc6PszJ6KVJESs3XbVrZ1bKNn2+/o2fRd6N4AVZOoHP8pKkefGmpb2lqDp6Zpa61k9brVobZFRCQb7a33sanlBrq71lFV3cT45stoaDw71DZomiqPilSREuGc4y+L/sIvf/8rpk94lVPe/DdGVPqnj7pb2fn613jkTw+zsnVaiK06PuMjN916c4jtEBEZWnvrfbStvBzXuwOA7q61tK28HCD0QlVUpIqUhN3du/nxgp/w92VLcLuN45uX7S1QfSMqezi+eRkvLn1rRK3sr7ttTNRNEBHpZ1PLDXsK1D6udwebWm5QkRoBFakiJWDpP5ay5MUluO0jqW2bSMOozsD1GkZ1csi48Gaee2CQx8JsR7EM9vOJSPJ0dwX398y0XIpLRapICdi5ayfOAZvHM2XSdnp7x1JZuWXAejU1U/na164NrV3z52d+LMx2FMv8+d+PugkiUkBV1U10d60NXC7hi/xQhpmNN7P7zKzTzF4zs/MGWfcaM9ttZh0pt+lhtlckCTo6TqOiorbfsoqKWpqbrwi1HY0ZplTJtFyyo9wUKY7xzZdhadlpFbWMb74s1Hbo4gWeOBxJvQXYBTQCRwC/NrNnnXPLMqz/c+fc+aG1TiSBdu48kpkz59LSMp+urrVUV0+hufkKGhvnhdqOdevaQt1eGVFuihRBX7/TqEf3l9M0U4OJtEg1szrgfcChzrkO4DEzewD4MHB5lG2T0lROc881Ns4LvSiV4lNuShTKKTsbGs/WIKmYiPp0/4FAt3NuRcqyZ4FDBnnOGWa2ycyWmdmnM61kZhea2WIzW7ypbVOh2isJN9jcc9Mq92Na5X4c1aS+RxJrRctNUHZKsKGyU7kpxRD16f56YFvasq1AQ4b17wFuBVqB2cC9ZrbFOffT9BWdc7f663LYrMNcwVosJS+ukyUPdiTj2w9G0CCJStFyE5Sdkp+45iaU11HgUlPUItXMHgVOyvDw48BngdFpy0cD7UFPcM69kHL3CTP7JvB+IDBsRfI1rXLglZKiDjRdgaQ8KDclqeJaDCo7k6uoRapz7uTBHvf7VlWZ2Uzn3Ep/8eFAps7/AzYBWP4tFMmeAk3CoNyUpFIxKIUWaZ9U51wnsAC41szqzGwOcCZwV9D6ZnammY0zzzHA54BfhtdiEZFoKTdFpFxEPXAK4GKgFtiAd/rp033TqJjZiWbWkbLuucBLeKe17gSud879KOT2SoKV2xxzUrKUmxIqZadEIeqBUzjnNgFnZXjsL3iDBPru/0tY7ZLSlNovKqjfqUgSKDclbH3ZmanfqUgxxOFIqohkQVcgEZGoJXE0vLIzuSI/kiqSFFEH2mBfDk/+PcSGiIjkIM7ZKfGmIlXK1sTGnlhOlyIiEmfKTgmLilQpW0kL08H7gu0HnEN1zTYu+cylYTZLRMpMaWWnRwV2PKlPqkhCZDNYoWtn+hzvIiLlLZvs1GCweFKRKiIiIiKxoyJVRERERGJHRaqIiIiIxI6KVBERERGJHRWpIgmRzVyD1TXbQmiJiEhyZJOdUc/lKsE0BZVIQgw+mf+T/OyBe+hdMznEFomIxJ+mlkouHUkVERERkdhRkSoiIiIisaMiVURERERiR0WqiIiIiMSOilQRERERiR0VqSIiIiISOypSRURERCR2VKSKiIiISOyoSBURERGR2NEVp6RkHdXURFtr5YDlExt7dAUSEZEAyk2JEx1JlZIVFLSDLRcRKXfKTYkTFakiIiIiEjsqUkVEREQkdlSkioiIiEjsqEgVERERkdhRkSola2JjT07LRUTKnXJT4kRTUEnJ0nQpIiK5UW5KnOhIqoiIiIjEjopUEREREYkdFakiIiIiEjsqUkVEREQkdlSkioiIiEjsqEgVERERkdiJtEg1s0vMbLGZdZnZHVms/69mtt7MtpnZ7WZWHUIzRURiRdkpIuUg6iOp64CvAbcPtaKZnQZcDpwC7A9MB75a1NaJiMSTslNESl6kRapzboFz7n7gjSxW/whwm3NumXNuM3AdcEEx2yeSFHW1dYysqqGKkYwcWYFZ1PufUkzKThEpB0m64tQhwC9T7j8LNJrZPs65AUFtZhcCF/p3O6ZVTlseQhuzMQHYGHUjYkjvy0DDfE8uK1hDYiZOfyv7R92ALCg7S5fek2B6X4LF6X3JKjuTVKTWA1tT7vf9v4GAownOuVuBW0NoV07MbLFzblbU7YgbvS8D6T0JpvclZ8rOEqX3JJjel2BJfF+Kdk7QzB41M5fh9lgeL9kBjE653/f/9uG3VkQkHpSdIiKeoh1Jdc6dXOCXXAYcDtzj3z8caA06XSUiklTKThERT9RTUFWZWQ1QCVSaWY2ZZSqc7wQ+bmYHm9lY4ErgjpCaWkixO40WE3pfBtJ7Eqzs3xdlp/j0ngTT+xIsce+LOeei27jZNcDVaYu/6py7xsymAS8ABzvnVvnrfxH4MlAL3At8yjnXFWKTRUQip+wUkXIQaZEqIiIiIhJEkymKiIiISOyoSBURERGR2FGRGoFcr7tdysxsvJndZ2adZvaamZ0XdZuipr+Pgcys2sxu8/9G2s1siZmdHnW7JFz6bHiUm8H09zFQ0rMzSZP5l5K+626fhjeQoZzdAuwCGoEjgF+b2bPOuWXRNitS+vsYqApYDZwErALeDdxjZm91zrVE2TAJlT4bHuVmMP19DJTo7NTAqQiZ2deAqc65C6JuSxTMrA7YDBzqnFvhL7sLWOucuzzSxsVAuf99DMXMnsMb0X5v1G2RcJXzZ0O5ObRy/vvIRpKyU6f7JUoHAt19Qet7Fu9a4yIZmVkj3t9PuR85kvKj3JS8JS07VaRKlOqBbWnLtuJdU1wkkJmNAH4M/Mg594+o2yMSMuWm5CWJ2akitcCKcN3tUpZ+TXH8+7qmuAQyswrgLrz+eJdE3BwpIGVn1pSbkrOkZqcGThVYEa67XcpWAFVmNtM5t9JfdjgJOQ0h4TIzA27DGyzybufc7oibJAWk7MyaclNykuTs1JHUCOR43e2S5ZzrBBYA15pZnZnNAc7E29srW/r7yOh/gLcAZzjndkTdGAmfPhvKzcHo7yOjxGanitRoXAnsAC4Hzvf/f2WkLYrOxXhThWwAfgp8WtOo6O8jnZntD1yEN93OejPr8G8firhpEi59NjzKzWD6+0iT9OzUFFQiIiIiEjs6kioiIiIisaMiVURERERiR0WqiIiIiMSOilQRERERiR0VqSIiIiISOypSRURERCR2VKSKiIiISOyoSBURERGR2FGRKiIiIiKxoyJVyo6Z1ZrZGjNbZWbVaY/9wMx6zOzcqNonIhI3yk2JgopUKTvOuR3A1cB+eNfABsDM5gMfBz7rnPtZRM0TEYkd5aZEwZxzUbdBJHRmVgk8C0wCpgOfAG4GrnbOXRtl20RE4ki5KWFTkSply8zeA/wK+CPwduDbzrnPRdsqEZH4Um5KmFSkSlkzs78DRwI/A85zaR8IMzsH+BxwBLDROdcceiNFRGJEuSlhUZ9UKVtm9kHgcP9ue3rQ+jYD3wb+X2gNExGJKeWmhElHUqUsmdmpeKesfgXsBj4AvNU592KG9c8CvqEjAiJSrpSbEjYdSZWyY2azgQXA48CHgCuBXmB+lO0SEYkr5aZEQUWqlBUzOxh4CFgBnOWc63LOvQzcBpxpZnMibaCISMwoNyUqKlKlbJjZNOC3eP2lTnfObUt5+DpgB3BDFG0TEYkj5aZEqSrqBoiExTm3Cm8i6qDH1gGjwm2RiEi8KTclSipSRQbhT149wr+ZmdUAzjnXFW3LRETiSbkphaIiVWRwHwZ+mHJ/B/Aa0BxJa0RE4k+5KQWhKahEREREJHY0cEpEREREYkdFqoiIiIjEjopUEREREYkdFakiIiIiEjsqUkVEREQkdlSkioiIiEjsqEgVERERkdj5/yB3eWFKfi8AAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "from __future__ import division, print_function, unicode_literals\n", "\n", @@ -1881,20 +1200,11 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "np.random.seed(6)\n", "Xs = np.random.rand(100, 2) - 0.5\n", @@ -1927,8 +1237,10 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, + "execution_count": 10, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "# Quadratic training set + noise\n", @@ -1941,24 +1253,11 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "DecisionTreeRegressor(criterion='mse', max_depth=2, max_features=None,\n", - " max_leaf_nodes=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " presort=False, random_state=42, splitter='best')" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -1975,20 +1274,11 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -2032,20 +1322,11 @@ }, { "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "tree_reg1 = DecisionTreeRegressor(random_state=42)\n", "tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)\n", @@ -2135,6 +1416,20 @@ "\n", "We discuss these methods here.\n", "\n", + "\n", + "## An Overview of Ensemble Methods\n", + "\n", + "\n", + "\n", + "\n", + "

    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "## Bagging\n", "\n", "The **plain** decision trees suffer from high\n", @@ -2179,20 +1474,11 @@ }, { "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "heads_proba = 0.51\n", "coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32)\n", @@ -2217,24 +1503,11 @@ }, { "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.872\n", - "SVC 0.888\n", - "VotingClassifier 0.896\n", - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.872\n", - "SVC 0.888\n", - "VotingClassifier 0.912\n" - ] - } - ], + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -2290,37 +1563,11 @@ }, { "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", - " FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n", - " \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/svm/base.py:196: FutureWarning: The default value of gamma will change from 'auto' to 'scale' in version 0.22 to account better for unscaled features. Set gamma explicitly to 'auto' or 'scale' to avoid this warning.\n", - " \"avoid this warning.\", FutureWarning)\n" - ] - }, - { - "data": { - "text/plain": [ - "VotingClassifier(estimators=[('lr', LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", - " intercept_scaling=1, max_iter=100, multi_class='warn',\n", - " n_jobs=None, penalty='l2', random_state=42, solver='warn',\n", - " tol=0.0001, verbose=0, warm_start=False)), ('rf', RandomFore...rbf', max_iter=-1, probability=False, random_state=42,\n", - " shrinking=True, tol=0.001, verbose=False))],\n", - " flatten_transform=None, n_jobs=None, voting='hard', weights=None)" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -2344,36 +1591,11 @@ }, { "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.872\n", - "SVC 0.888\n", - "VotingClassifier 0.896\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", - " FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n", - " \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/svm/base.py:196: FutureWarning: The default value of gamma will change from 'auto' to 'scale' in version 0.22 to account better for unscaled features. Set gamma explicitly to 'auto' or 'scale' to avoid this warning.\n", - " \"avoid this warning.\", FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", - " FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/svm/base.py:196: FutureWarning: The default value of gamma will change from 'auto' to 'scale' in version 0.22 to account better for unscaled features. Set gamma explicitly to 'auto' or 'scale' to avoid this warning.\n", - " \"avoid this warning.\", FutureWarning)\n" - ] - } - ], + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -2385,37 +1607,11 @@ }, { "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", - " FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n", - " \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/svm/base.py:196: FutureWarning: The default value of gamma will change from 'auto' to 'scale' in version 0.22 to account better for unscaled features. Set gamma explicitly to 'auto' or 'scale' to avoid this warning.\n", - " \"avoid this warning.\", FutureWarning)\n" - ] - }, - { - "data": { - "text/plain": [ - "VotingClassifier(estimators=[('lr', LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", - " intercept_scaling=1, max_iter=100, multi_class='warn',\n", - " n_jobs=None, penalty='l2', random_state=42, solver='warn',\n", - " tol=0.0001, verbose=0, warm_start=False)), ('rf', RandomFore...'rbf', max_iter=-1, probability=True, random_state=42,\n", - " shrinking=True, tol=0.001, verbose=False))],\n", - " flatten_transform=None, n_jobs=None, voting='soft', weights=None)" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "log_clf = LogisticRegression(random_state=42)\n", "rnd_clf = RandomForestClassifier(random_state=42)\n", @@ -2429,36 +1625,11 @@ }, { "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", - " FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n", - " \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/svm/base.py:196: FutureWarning: The default value of gamma will change from 'auto' to 'scale' in version 0.22 to account better for unscaled features. Set gamma explicitly to 'auto' or 'scale' to avoid this warning.\n", - " \"avoid this warning.\", FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", - " FutureWarning)\n", - "/usr/local/lib/python3.7/site-packages/sklearn/svm/base.py:196: FutureWarning: The default value of gamma will change from 'auto' to 'scale' in version 0.22 to account better for unscaled features. Set gamma explicitly to 'auto' or 'scale' to avoid this warning.\n", - " \"avoid this warning.\", FutureWarning)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.872\n", - "SVC 0.888\n", - "VotingClassifier 0.912\n" - ] - } - ], + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -2477,8 +1648,10 @@ }, { "cell_type": "code", - "execution_count": 24, - "metadata": {}, + "execution_count": 20, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from sklearn.ensemble import BaggingClassifier\n", @@ -2493,17 +1666,11 @@ }, { "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.904\n" - ] - } - ], + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", "print(accuracy_score(y_test, y_pred))" @@ -2511,17 +1678,11 @@ }, { "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.856\n" - ] - } - ], + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "tree_clf = DecisionTreeClassifier(random_state=42)\n", "tree_clf.fit(X_train, y_train)\n", @@ -2531,20 +1692,11 @@ }, { "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "from matplotlib.colors import ListedColormap\n", "\n", @@ -2650,80 +1802,11 @@ }, { "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Logistic Regression: 0.95\n", - "Test set accuracy with SVM: 0.63\n", - "Test set accuracy with Decision Trees: 0.87\n", - "Test set accuracy Logistic Regression with scaled data: 0.96\n", - "Test set accuracy SVM with scaled data: 0.96\n", - "Test set accuracy with Decision Trees and scaled data: 0.90\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:757: ConvergenceWarning: lbfgs failed to converge. Increase the number of iterations.\n", - " \"of iterations.\", ConvergenceWarning)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.93333333 0.8 0.93333333 1. 1. 0.92857143\n", - " 1. 0.92857143 0.92857143 1. ]\n", - "Test set accuracy with Random Forests and scaled data: 0.98\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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I0dYu3ZthoKCQ4YMYfbs2YC1qvHIkSNp1KgR77//PqGhoRne38DAQIBsy42nt3r1atu3dci+FPn1peDj4uJ4+umnCQ0NpWHDhrby4Nn9fm9FzZo1CQoKwsUl+4/X06dPc/nyZZo1a4Yxht69e9vO7pYsWWJ73/v06WNbb4yhdevWLFu27JZjvGl5zTCOejjbGUViYqKMHz9ePDw8BJAyZcrIjBkzHPqN9mY4+owiPDxcXF1dZefOnZKamiqNGjWSfv36icVikcWLF0vnzp1FROSLL76QwYMHi4hIt27dZPLkySJi/QZ76dIlCQ8PF2OMbNy4UUREIiMjpVq1avLPP/9IcnKy3HfffbJo0aJM+4+Li5MrV66IiMjBgwelcePGIiKycOFC6d27t4hYf8dVq1aV+Ph4mTlzprz99tsiYi1j0bhxYzl69KisWbNGPD09bd/mRUTOnz8vItZv/vXr15eoqCiJjIyUGjVqyPnz5yUpKUnuuece23E98cQT8scff4iIyPHjx8XX1zdTvOnPKC5cuCCNGjWS06dPi4hIw4YNJSwsLEP7sLAwadiwoURHR0uZMmVy9TsJDQ2VhQsXioi1BElcXFyG/YqIDB48WL744gsREalRo4a89957tueCg4Nt78O7774rb7/9tiQlJUnz5s3ln3/+ERGRuXPnSr9+/TLt+4033pCpU6falqOiomw/jxkzxvZcnz59pGPHjrYzmNGjR8tXX30lIiIXL16UunXrSmxsbLa/3+vdc889EhwcnOmxYsWKbN+nrEq9XLVlyxZp27atbXndunW296906dK29RaLJcPy119/LUOGDMl2n1fl9xmFdmbb2cmTJxk7diyJiYn07NmTDz74gEqVKjk6LKfi7e1t+9ZZv3592rZtizGGwMBAjh07lql9VmW4L168SI0aNWzzDGzZsoXWrVtToUIFAHr27Mm6det45JFHMmwrOTmZIUOGEBYWhqurq61f6cEHH+SFF14gMTGR5cuXc++991KsWDF+++03du7cabs2HR0dzaFDhyhatCihoaG2b/OQdRnuM2fO0KpVK8qVKwdYy5lf3WduypYD/PHHHwQHB3Po0CGGDRvGXXfdlYd3PWsxMTFERkby6KOPAuS6Mu7V0utgvSlv3rx5jBo1innz5jFv3rwcy42nd/r06QylKXIqRZ6+FPxvv/3G0qVL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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.7/site-packages/matplotlib/cbook/__init__.py:424: MatplotlibDeprecationWarning: \n", - "Passing one of 'on', 'true', 'off', 'false' as a boolean is deprecated; use an actual boolean (True/False) instead.\n", - " warn_deprecated(\"2.2\", \"Passing one of 'on', 'true', 'off', 'false' as a \"\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -2802,8 +1885,10 @@ }, { "cell_type": "code", - "execution_count": 29, - "metadata": {}, + "execution_count": 25, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "bag_clf = BaggingClassifier(\n", @@ -2813,20 +1898,11 @@ }, { "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.986013986013986" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "bag_clf.fit(X_train, y_train)\n", "y_pred = bag_clf.predict(X_test)\n", @@ -2940,28 +2016,11 @@ }, { "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "ename": "ValueError", - "evalue": "Number of features of the model must match the input. Model n_features is 30 and input n_features is 2 ", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mada_clf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_train\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mplot_decision_boundary\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mada_clf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 9\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0mm\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m\u001b[0m in \u001b[0;36mplot_decision_boundary\u001b[0;34m(clf, X, y, axes, alpha, contour)\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mx1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmeshgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx1s\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx2s\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mX_new\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mc_\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mx1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mravel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mravel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0my_pred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mclf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_new\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 9\u001b[0m \u001b[0mcustom_cmap\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mListedColormap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'#fafab0'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'#9898ff'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'#a0faa0'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontourf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_pred\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0malpha\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcmap\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcustom_cmap\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/site-packages/sklearn/ensemble/weight_boosting.py\u001b[0m in \u001b[0;36mpredict\u001b[0;34m(self, X)\u001b[0m\n\u001b[1;32m 599\u001b[0m \u001b[0mThe\u001b[0m \u001b[0mpredicted\u001b[0m \u001b[0mclasses\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 600\u001b[0m \"\"\"\n\u001b[0;32m--> 601\u001b[0;31m \u001b[0mpred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdecision_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 602\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 603\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mn_classes_\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/site-packages/sklearn/ensemble/weight_boosting.py\u001b[0m in \u001b[0;36mdecision_function\u001b[0;34m(self, X)\u001b[0m\n\u001b[1;32m 667\u001b[0m \u001b[0;31m# The weights are all 1. for SAMME.R\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 668\u001b[0m pred = sum(_samme_proba(estimator, n_classes, X)\n\u001b[0;32m--> 669\u001b[0;31m for estimator in self.estimators_)\n\u001b[0m\u001b[1;32m 670\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# self.algorithm == \"SAMME\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 671\u001b[0m pred = sum((estimator.predict(X) == classes).T * w\n", - "\u001b[0;32m/usr/local/lib/python3.7/site-packages/sklearn/ensemble/weight_boosting.py\u001b[0m in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 667\u001b[0m \u001b[0;31m# The weights are all 1. for SAMME.R\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 668\u001b[0m pred = sum(_samme_proba(estimator, n_classes, X)\n\u001b[0;32m--> 669\u001b[0;31m for estimator in self.estimators_)\n\u001b[0m\u001b[1;32m 670\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# self.algorithm == \"SAMME\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 671\u001b[0m pred = sum((estimator.predict(X) == classes).T * w\n", - "\u001b[0;32m/usr/local/lib/python3.7/site-packages/sklearn/ensemble/weight_boosting.py\u001b[0m in \u001b[0;36m_samme_proba\u001b[0;34m(estimator, n_classes, X)\u001b[0m\n\u001b[1;32m 281\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 282\u001b[0m \"\"\"\n\u001b[0;32m--> 283\u001b[0;31m \u001b[0mproba\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mestimator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict_proba\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 284\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 285\u001b[0m \u001b[0;31m# Displace zero probabilities so the log is defined.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/site-packages/sklearn/tree/tree.py\u001b[0m in \u001b[0;36mpredict_proba\u001b[0;34m(self, X, check_input)\u001b[0m\n\u001b[1;32m 828\u001b[0m \"\"\"\n\u001b[1;32m 829\u001b[0m \u001b[0mcheck_is_fitted\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'tree_'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 830\u001b[0;31m \u001b[0mX\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_X_predict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcheck_input\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 831\u001b[0m \u001b[0mproba\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtree_\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 832\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/site-packages/sklearn/tree/tree.py\u001b[0m in \u001b[0;36m_validate_X_predict\u001b[0;34m(self, X, check_input)\u001b[0m\n\u001b[1;32m 385\u001b[0m \u001b[0;34m\"match the input. Model n_features is %s and \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 386\u001b[0m \u001b[0;34m\"input n_features is %s \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 387\u001b[0;31m % (self.n_features_, n_features))\n\u001b[0m\u001b[1;32m 388\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 389\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mValueError\u001b[0m: Number of features of the model must match the input. Model n_features is 30 and input n_features is 2 " - ] - } - ], + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "from sklearn.ensemble import AdaBoostClassifier\n", "\n", @@ -3047,8 +2106,10 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 28, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "np.random.seed(42)\n", @@ -3144,8 +2205,10 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 29, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "\n", @@ -3219,29 +2282,17 @@ "designed to be highly efficient, flexible and portable. It implements\n", "machine learning algorithms under the Gradient Boosting\n", "framework. XGBoost provides a parallel tree boosting that solve many\n", - "data science problems in a fast and accurate way" + "data science problems in a fast and accurate way. See the [article by Chen and Guestrin](https://arxiv.org/abs/1603.02754).\n", + "\n", + "The authors design and build a highly scalable end-to-end tree\n", + "boosting system. It has a theoretically justified weighted quantile\n", + "sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning.\n", + "\n", + "It is now the algorithm which wins essentially all ML competitions!!!" ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.5" - } - }, + "metadata": {}, "nbformat": 4, "nbformat_minor": 2 } diff --git a/doc/pub/DecisionTrees/ipynb/ipynb-DecisionTrees-src.tar.gz b/doc/pub/DecisionTrees/ipynb/ipynb-DecisionTrees-src.tar.gz index c02d536127cf72d495ba4488adb8ed1b9f07548a..1d7d28defc7119419a8b41b49e1dedd52d4833de 100644 GIT binary patch delta 93109 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

    b^@FntSm=GdUdV9&vmfm5SK*Uic@7?- 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�J4JdN%n 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 M4}^t9{Q$HC02OB#@&Et; delta 12400 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⁢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 diff --git a/doc/pub/DecisionTrees/pdf/DecisionTrees-minted.pdf b/doc/pub/DecisionTrees/pdf/DecisionTrees-minted.pdf index 438eee9a95af5d785c02924d7e6ef0c0dcdec7ae..85c249036108e603d88fd49322d03d3534e02db0 100644 GIT binary patch delta 133625 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 delta 49778 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 diff --git a/doc/src/DecisionTrees/DataFiles/ensembleoverview.png b/doc/src/DecisionTrees/DataFiles/ensembleoverview.png new file mode 100644 index 0000000000000000000000000000000000000000..dce581ee65b3cb552589a0ad6361ae775a6183ed GIT binary patch literal 81932 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 plt.show() y_probas = Random_Forest_model.predict_proba(X_test_scaled) skplt.metrics.plot_roc(y_test, y_probas)