From cfd31bac47608ecbefb954922067ef745d4b432d Mon Sep 17 00:00:00 2001 From: mhjensen Date: Thu, 7 Nov 2019 13:51:33 +0100 Subject: [PATCH] adding xgboost code --- .../html/._DecisionTrees-bs000.html | 50 +++--- .../html/._DecisionTrees-bs001.html | 50 +++--- .../html/._DecisionTrees-bs002.html | 50 +++--- .../html/._DecisionTrees-bs003.html | 50 +++--- .../html/._DecisionTrees-bs004.html | 50 +++--- .../html/._DecisionTrees-bs005.html | 50 +++--- .../html/._DecisionTrees-bs006.html | 50 +++--- .../html/._DecisionTrees-bs007.html | 50 +++--- .../html/._DecisionTrees-bs008.html | 50 +++--- .../html/._DecisionTrees-bs009.html | 50 +++--- .../html/._DecisionTrees-bs010.html | 50 +++--- .../html/._DecisionTrees-bs011.html | 50 +++--- .../html/._DecisionTrees-bs012.html | 50 +++--- .../html/._DecisionTrees-bs013.html | 50 +++--- .../html/._DecisionTrees-bs014.html | 50 +++--- .../html/._DecisionTrees-bs015.html | 50 +++--- .../html/._DecisionTrees-bs016.html | 50 +++--- .../html/._DecisionTrees-bs017.html | 50 +++--- .../html/._DecisionTrees-bs018.html | 50 +++--- .../html/._DecisionTrees-bs019.html | 50 +++--- .../html/._DecisionTrees-bs020.html | 50 +++--- .../html/._DecisionTrees-bs021.html | 50 +++--- .../html/._DecisionTrees-bs022.html | 50 +++--- .../html/._DecisionTrees-bs023.html | 50 +++--- .../html/._DecisionTrees-bs024.html | 50 +++--- .../html/._DecisionTrees-bs025.html | 50 +++--- .../html/._DecisionTrees-bs026.html | 50 +++--- .../html/._DecisionTrees-bs027.html | 50 +++--- .../html/._DecisionTrees-bs028.html | 50 +++--- .../html/._DecisionTrees-bs029.html | 50 +++--- .../html/._DecisionTrees-bs030.html | 50 +++--- .../html/._DecisionTrees-bs031.html | 50 +++--- .../html/._DecisionTrees-bs032.html | 50 +++--- .../html/._DecisionTrees-bs033.html | 50 +++--- .../html/._DecisionTrees-bs034.html | 50 +++--- .../html/._DecisionTrees-bs035.html | 50 +++--- .../html/._DecisionTrees-bs036.html | 50 +++--- .../html/._DecisionTrees-bs037.html | 50 +++--- .../html/._DecisionTrees-bs038.html | 50 +++--- .../html/._DecisionTrees-bs039.html | 50 +++--- .../html/._DecisionTrees-bs040.html | 50 +++--- .../html/._DecisionTrees-bs041.html | 131 ++++++++------ .../html/._DecisionTrees-bs042.html | 100 ++++++----- .../html/._DecisionTrees-bs043.html | 131 +++++--------- .../html/._DecisionTrees-bs044.html | 127 +++++++++---- .../html/._DecisionTrees-bs045.html | 116 ++++-------- .../html/._DecisionTrees-bs046.html | 113 ++++++++---- .../html/._DecisionTrees-bs047.html | 73 ++++---- .../html/._DecisionTrees-bs048.html | 91 ++++------ .../html/._DecisionTrees-bs049.html | 86 ++++++--- .../html/._DecisionTrees-bs050.html | 49 ++--- .../html/._DecisionTrees-bs051.html | 49 ++--- .../html/._DecisionTrees-bs052.html | 49 ++--- .../html/._DecisionTrees-bs053.html | 49 ++--- .../DecisionTrees/html/DecisionTrees-bs.html | 50 +++--- .../html/DecisionTrees-reveal.html | 145 +++++++++++++-- .../html/DecisionTrees-solarized.html | 170 ++++++++++++++---- doc/pub/DecisionTrees/html/DecisionTrees.html | 170 ++++++++++++++---- .../DecisionTrees/ipynb/DecisionTrees.ipynb | 156 ++++++++++++++-- .../ipynb/ipynb-DecisionTrees-src.tar.gz | Bin 294061 -> 294061 bytes .../pdf/DecisionTrees-minted.pdf | Bin 526615 -> 526683 bytes doc/src/DecisionTrees/DecisionTrees.do.txt | 129 ++++++++++++- doc/src/DecisionTrees/Programs/bootstrap.py~ | 56 ++++++ .../DecisionTrees/Programs/rfbootclassify.py | 54 ++++++ .../DecisionTrees/Programs/rfbootclassify.py~ | 54 ++++++ doc/src/DecisionTrees/Programs/rfbootstrap.py | 7 +- .../DecisionTrees/Programs/rfbootstrap.py~ | 54 ++++++ doc/src/DecisionTrees/Programs/rfcancer.py | 2 - doc/src/DecisionTrees/Programs/xgcancer.py~ | 41 +++++ doc/src/DecisionTrees/Programs/xgregressor.py | 47 +++++ .../DecisionTrees/Programs/xgregressor.py~ | 47 +++++ 71 files changed, 2692 insertions(+), 1704 deletions(-) create mode 100644 doc/src/DecisionTrees/Programs/bootstrap.py~ create mode 100644 doc/src/DecisionTrees/Programs/rfbootclassify.py create mode 100644 doc/src/DecisionTrees/Programs/rfbootclassify.py~ create mode 100644 doc/src/DecisionTrees/Programs/rfbootstrap.py~ create mode 100644 doc/src/DecisionTrees/Programs/xgcancer.py~ create mode 100644 doc/src/DecisionTrees/Programs/xgregressor.py create mode 100644 doc/src/DecisionTrees/Programs/xgregressor.py~ diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html index a15bd51fb..cfc8c9a63 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -283,7 +283,7 @@ MathJax.Hub.Config({
  • 9
  • 10
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html index b2cd9fb7b..ce0cd4709 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -288,7 +288,7 @@ given some assumptions, make predictions about the target feature value
  • 10
  • 11
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs002.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs002.html index aa5980198..826c588f6 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs002.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs002.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -266,7 +266,7 @@ This tree was produced using the Wisconsin cancer data (discussed here as well,
  • 11
  • 12
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs003.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs003.html index 61fa8fbdb..7227d3372 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs003.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs003.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -274,7 +274,7 @@ node.
  • 12
  • 13
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs004.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs004.html index 64a653ebd..95963bdbe 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs004.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs004.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -275,7 +275,7 @@ Then we are essentially done!
  • 13
  • 14
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs005.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs005.html index 8c1250e07..7c89669c1 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs005.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs005.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -354,7 +354,7 @@ plt.show()
  • 14
  • 15
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs006.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs006.html index 16a66cb17..d66b98492 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs006.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs006.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -287,7 +287,7 @@ within box \( j \).
  • 15
  • 16
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs007.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs007.html index 7ce294c03..0127d1301 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs007.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs007.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -279,7 +279,7 @@ better tree in some future step.
  • 16
  • 17
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs008.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs008.html index 753e842e5..212fcf49e 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs008.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs008.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -312,7 +312,7 @@ region contains more than five observations.
  • 17
  • 18
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs009.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs009.html index cd8fc3d5f..697c502e2 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs009.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs009.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -281,7 +281,7 @@ parameter \( \alpha \).
  • 18
  • 19
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs010.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs010.html index 413ea449d..d255f36e7 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs010.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs010.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -294,7 +294,7 @@ subtree corresponding to \( \alpha \).
  • 19
  • 20
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs011.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs011.html index 040bfb450..88e444f30 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs011.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs011.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -290,7 +290,7 @@ MathJax.Hub.Config({
  • 20
  • 21
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs012.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs012.html index dfd9431c2..2809ab887 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs012.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs012.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -282,7 +282,7 @@ fall into that region.
  • 21
  • 22
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs013.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs013.html index ec841c432..4f42c7a2b 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs013.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs013.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -287,7 +287,7 @@ than is the classification error rate.
  • 22
  • 23
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs014.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs014.html index 32747a5b5..02016f7be 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs014.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs014.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -313,7 +313,7 @@ $$
  • 23
  • 24
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs015.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs015.html index 8c075d6ca..7fd9c8230 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs015.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs015.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -304,7 +304,7 @@ os.system(cmd)
  • 24
  • 25
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs016.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs016.html index d10d8fe9f..8c7b4e80d 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs016.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs016.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -295,7 +295,7 @@ os.system(cmd)
  • 25
  • 26
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs017.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs017.html index 4099218b1..904e184ad 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs017.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs017.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -278,7 +278,7 @@ We discuss both algorithms with applications here. The popular library Scikit
  • 26
  • 27
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs018.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs018.html index 523dfd7a6..644fe7bbb 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs018.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs018.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -268,7 +268,7 @@ MathJax.Hub.Config({
  • 27
  • 28
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs019.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs019.html index 0986c5322..8d2a18b42 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs019.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs019.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -268,7 +268,7 @@ MathJax.Hub.Config({
  • 28
  • 29
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs020.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs020.html index f239246f8..a1a708d79 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs020.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs020.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -308,7 +308,7 @@ The table here summarizes the various attributes and
  • 29
  • 30
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs021.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs021.html index 83347ed34..c0c27cf60 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs021.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs021.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -339,7 +339,7 @@ os.system(cmd)
  • 30
  • 31
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs022.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs022.html index ae8bb366f..cf1324afa 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs022.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs022.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -341,7 +341,7 @@ split = get_split(dataset)
  • 31
  • 32
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs023.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs023.html index be1b6cdb0..1e3e04676 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs023.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs023.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -299,7 +299,7 @@ attributes at each step while growing the tree.
  • 32
  • 33
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs024.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs024.html index ea13526c7..4be1ac486 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs024.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs024.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -459,7 +459,7 @@ MathJax.Hub.Config({
  • 33
  • 34
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs025.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs025.html index 2dcfdb108..b6806a8e1 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs025.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs025.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -312,7 +312,7 @@ deep_tree_clf.fit(X_train_scaled, y_train)
  • 34
  • 35
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs026.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs026.html index c12b2aea9..7ab79cd45 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs026.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs026.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -335,7 +335,7 @@ plt.show()
  • 35
  • 36
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs027.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs027.html index 9a3fdcb8b..785b455fa 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs027.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs027.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -291,7 +291,7 @@ plt.show()
  • 36
  • 37
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs028.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs028.html index 7cb8a8a9d..7755c7d4d 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs028.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs028.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -285,7 +285,7 @@ tree_reg.fit(X, y)
  • 37
  • 38
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs029.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs029.html index d9412629b..ed615163d 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs029.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs029.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -341,7 +341,7 @@ plt.show()
  • 38
  • 39
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs030.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs030.html index 4a1e86086..f7faa8f50 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs030.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs030.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -277,7 +277,7 @@ MathJax.Hub.Config({
  • 39
  • 40
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs031.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs031.html index fc659ead6..5c6217b3f 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs031.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs031.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -280,7 +280,7 @@ However, by aggregating many decision trees, using methods like bagging, random
  • 40
  • 41
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs032.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs032.html index 256109b6c..711b9c8e6 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs032.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs032.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -287,7 +287,7 @@ We discuss these methods here.
  • 41
  • 42
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs033.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs033.html index 7682c9683..d1b16089b 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs033.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs033.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -271,7 +271,7 @@ MathJax.Hub.Config({
  • 42
  • 43
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs034.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs034.html index dacb801bf..04be98f42 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs034.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs034.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -282,7 +282,7 @@ learning method.
  • 43
  • 44
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs035.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs035.html index 7f0156aa2..0750e65bb 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs035.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs035.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -292,7 +292,7 @@ predictor, averaged over all \( B \) trees.
  • 44
  • 45
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs036.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs036.html index 02a236fc7..f234a1f54 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs036.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs036.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -283,7 +283,7 @@ plt.show()
  • 45
  • 46
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs037.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs037.html index 161d54c68..da7b2e0c1 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs037.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs037.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -314,7 +314,7 @@ voting_clf.fit(X_train, y_train)
  • 46
  • 47
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs038.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs038.html index 96e5c79e6..3b1d454d3 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs038.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs038.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -321,7 +321,7 @@ voting_clf.fit(X_train, y_train)
  • 47
  • 48
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs039.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs039.html index 314a928c0..c5850d1bb 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs039.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs039.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -324,7 +324,7 @@ plt.show()
  • 48
  • 49
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs040.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs040.html index e673f5578..b63ab6261 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs040.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs040.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -323,7 +323,7 @@ plt.show()
  • 49
  • 50
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs041.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs041.html index e51b1ff27..dbd2fe7c9 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs041.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs041.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -240,47 +240,62 @@ MathJax.Hub.Config({ -

    Random forests

    +

    Changing the Level of the Decision Tree

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

    -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. + +

    import matplotlib.pyplot as plt
    +import numpy as np
    +from sklearn.model_selection import train_test_split
    +from sklearn.pipeline import make_pipeline
    +from sklearn.utils import resample
    +from sklearn.tree import DecisionTreeRegressor
     
    -

    -A fresh sample of \( m \) predictors is -taken at each split, and typically we choose +n = 100 +n_boostraps = 100 +maxdepth = 8 -$$ -m\approx \sqrt{p}. -$$ +# Make data set. +x = np.linspace(-3, 3, n).reshape(-1, 1) +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape) +error = np.zeros(maxdepth) +bias = np.zeros(maxdepth) +variance = np.zeros(maxdepth) +polydegree = np.zeros(maxdepth) +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) -

    -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. +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) -

    -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. +for degree in range(1,maxdepth): + model = DecisionTreeRegressor(max_depth=degree) + y_pred = np.empty((y_test.shape[0], n_boostraps)) + for i in range(n_boostraps): + x_, y_ = resample(X_train_scaled, y_train) + model.fit(x_, y_) + y_pred[:, i] = model.predict(X_test_scaled)#.ravel() + polydegree[degree] = degree + error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) ) + bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 ) + variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) ) + print('Polynomial degree:', degree) + print('Error:', error[degree]) + print('Bias^2:', bias[degree]) + print('Var:', variance[degree]) + print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) + +plt.xlim(1,maxdepth) +plt.plot(polydegree, error, label='Error') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +plt.show() +

    @@ -307,7 +322,7 @@ this setting.

  • 50
  • 51
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs042.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs042.html index 486a0c3b1..9483dcfa1 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs042.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs042.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -240,30 +240,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. +

    diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs043.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs043.html index c4bc06499..45f547496 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs043.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs043.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -240,77 +240,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) -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-bs044.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs044.html index 2401d68f0..7e7fe255f 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs044.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs044.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -240,24 +240,75 @@ 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)
    +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()
     

    @@ -285,7 +336,7 @@ np.sum(y_pred =

  • 53
  • 54
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs045.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs045.html index 1431d4eb5..4372127c9 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs045.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs045.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -240,62 +240,24 @@ MathJax.Hub.Config({ -

    Bootstrap with Random Forests Instead of a Single Tree

    - +

    Compare Bagging on Trees with Random Forests

    -

    import matplotlib.pyplot as plt
    -import numpy as np
    -from sklearn.model_selection import train_test_split
    -from sklearn.pipeline import make_pipeline
    -from sklearn.utils import resample
    -from sklearn.ensemble import RandomForestRegressor
    +
    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)
    +
    +

    -np.random.seed(2018) - -n = 40 -n_boostraps = 100 -maxdegree = 14 - -# Make data set. -x = np.linspace(-3, 3, n).reshape(-1, 1) -y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape) -error = np.zeros(maxdegree) -bias = np.zeros(maxdegree) -variance = np.zeros(maxdegree) -polydegree = np.zeros(maxdegree) -X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) - -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) - -for degree in range(maxdegree): - model = RandomForestRegressor() - y_pred = np.empty((y_test.shape[0], n_boostraps)) - for i in range(n_boostraps): - x_, y_ = resample(X_train_scaled, y_train) - model.fit(x_, y_) - y_pred[:, i] = model.predict(X_test_scaled).ravel() - - polydegree[degree] = degree - error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) ) - bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 ) - variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) ) - print('Polynomial degree:', degree) - print('Error:', error[degree]) - print('Bias^2:', bias[degree]) - print('Var:', variance[degree]) - print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) - -plt.plot(polydegree, error, label='Error') -plt.plot(polydegree, bias, label='bias') -plt.plot(polydegree, variance, label='Variance') -plt.legend() -plt.show() + +

    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) 
     

    @@ -323,7 +285,7 @@ plt.show()

  • 54
  • 55
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs046.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs046.html index 78f3f81a4..09ecd3191 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs046.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs046.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -240,20 +240,63 @@ MathJax.Hub.Config({ -

    Boosting, a Bird'e Eye

    +

    Bootstrap with Random Forests Instead of a Single Tree, own Bagging

    -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. + +

    import matplotlib.pyplot as plt
    +import numpy as np
    +from sklearn.model_selection import train_test_split
    +from sklearn.pipeline import make_pipeline
    +from sklearn.utils import resample
    +from sklearn.ensemble import RandomForestRegressor
     
    +np.random.seed(2018)
    +
    +n = 100
    +n_boostraps = 100
    +maxdegree = 14
    +
    +# Make data set.
    +x = np.linspace(-3, 3, n).reshape(-1, 1)
    +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
    +error = np.zeros(maxdegree)
    +bias = np.zeros(maxdegree)
    +variance = np.zeros(maxdegree)
    +polydegree = np.zeros(maxdegree)
    +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
    +
    +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)
    +
    +for degree in range(maxdegree):
    +    model = RandomForestRegressor()
    +    y_pred = np.empty((y_test.shape[0], n_boostraps))
    +    for i in range(n_boostraps):
    +        x_, y_ = resample(X_train_scaled, y_train)
    +        model.fit(x_, y_.ravel())
    +        y_pred[:, i] = model.predict(X_test_scaled).ravel()
    +
    +    polydegree[degree] = degree
    +    error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )
    +    bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )
    +    variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) )
    +    print('Polynomial degree:', degree)
    +    print('Error:', error[degree])
    +    print('Bias^2:', bias[degree])
    +    print('Var:', variance[degree])
    +    print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))
    +
    +plt.plot(polydegree, error, label='Error')
    +plt.plot(polydegree, bias, label='bias')
    +plt.plot(polydegree, variance, label='Variance')
    +plt.legend()
    +plt.show()
    +

    @@ -280,7 +323,7 @@ them with a factor.

  • 55
  • 56
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs047.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs047.html index 6cddc74f8..2c10930ed 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs047.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs047.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -240,24 +240,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.

    @@ -284,6 +279,8 @@ where the function \( I() \) is one if we misclassify and zero if we classify co

  • 55
  • 56
  • 57
  • +
  • ...
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs048.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs048.html index e13cc85c8..633771aec 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs048.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs048.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -240,42 +240,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 classification 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.

    @@ -301,6 +283,7 @@ observations that are missed in the previous iterations.

  • 55
  • 56
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs049.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs049.html index 4a6ad8a24..0a56c63ac 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs049.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs049.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -240,7 +240,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 then 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 classification step \( m \) is then forced to concentrate on those +observations that are missed in the previous iterations.

    @@ -265,6 +300,7 @@ MathJax.Hub.Config({

  • 55
  • 56
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs050.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs050.html index 4d7d6c3fa..c12d3cb33 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs050.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs050.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -302,6 +302,7 @@ plt.show()
  • 55
  • 56
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs051.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs051.html index fe4dd40f5..cbbe511d6 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs051.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs051.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -273,6 +273,7 @@ function was the least squares function.
  • 55
  • 56
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs052.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs052.html index 0f3729124..5b430bec9 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs052.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs052.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -283,6 +283,7 @@ The way we proceed in an iterative fashion is to
  • 55
  • 56
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs053.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs053.html index 591f2cd60..6dabddbf2 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs053.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs053.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -346,6 +346,7 @@ plt.show()
  • 55
  • 56
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/DecisionTrees-bs.html b/doc/pub/DecisionTrees/html/DecisionTrees-bs.html index a15bd51fb..cfc8c9a63 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees-bs.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees-bs.html @@ -101,37 +101,36 @@ Automatically generated HTML file from DocOnce source '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -209,22 +208,23 @@ MathJax.Hub.Config({
  • Please, not the moons again! Voting and Bagging
  • Now Bagging
  • Making our own Bagging with Bootstrap
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • -
  • Bootstrap with Random Forests Instead of a Single Tree
  • -
  • Boosting, a Bird'e Eye
  • -
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • -
  • Basic Steps of AdaBoost
  • -
  • Figure to Illustrate the Iterative Classification Process
  • +
  • Changing the Level of the Decision Tree
  • +
  • Random forests
  • +
  • Random Forest Algorithm
  • +
  • Random Forests Compared with other Methods on the Cancer Data
  • +
  • Compare Bagging on Trees with Random Forests
  • +
  • Bootstrap with Random Forests Instead of a Single Tree, own Bagging
  • +
  • Boosting, a Bird'e Eye
  • +
  • Adaptive boosting: AdaBoost, Basic Algorithm
  • +
  • Basic Steps of AdaBoost
  • AdaBoost Examples
  • Gradient boosting: Basics
  • Gradient Boosting, algorithm
  • Gradient Boosting, Examples
  • Gradient Boots with Early Stopping
  • XGBoost: Extreme Gradient Boosting
  • -
  • Xgboost on the Cancer Data
  • +
  • Regression Case
  • +
  • Xgboost on the Cancer Data
  • @@ -283,7 +283,7 @@ MathJax.Hub.Config({
  • 9
  • 10
  • ...
  • -
  • 57
  • +
  • 58
  • »
  • diff --git a/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html b/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html index 496aefa10..8a42b613e 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html @@ -1777,7 +1777,67 @@ plt.show()
    -

    Random forests

    +

    Changing the Level of the Decision Tree

    + +

    + + +

    import matplotlib.pyplot as plt
    +import numpy as np
    +from sklearn.model_selection import train_test_split
    +from sklearn.pipeline import make_pipeline
    +from sklearn.utils import resample
    +from sklearn.tree import DecisionTreeRegressor
    +
    +n = 100
    +n_boostraps = 100
    +maxdepth = 8
    +
    +# Make data set.
    +x = np.linspace(-3, 3, n).reshape(-1, 1)
    +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
    +error = np.zeros(maxdepth)
    +bias = np.zeros(maxdepth)
    +variance = np.zeros(maxdepth)
    +polydegree = np.zeros(maxdepth)
    +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
    +
    +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)
    +
    +for degree in range(1,maxdepth):
    +    model = DecisionTreeRegressor(max_depth=degree) 
    +    y_pred = np.empty((y_test.shape[0], n_boostraps))
    +    for i in range(n_boostraps):
    +        x_, y_ = resample(X_train_scaled, y_train)
    +        model.fit(x_, y_)
    +        y_pred[:, i] = model.predict(X_test_scaled)#.ravel()
    +
    +    polydegree[degree] = degree
    +    error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )
    +    bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )
    +    variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) )
    +    print('Polynomial degree:', degree)
    +    print('Error:', error[degree])
    +    print('Bias^2:', bias[degree])
    +    print('Var:', variance[degree])
    +    print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))
    +
    +plt.xlim(1,maxdepth)
    +plt.plot(polydegree, error, label='Error')
    +plt.plot(polydegree, bias, label='bias')
    +plt.plot(polydegree, variance, label='Variance')
    +plt.legend()
    +plt.show()
    +
    +
    + + +
    +

    Random forests

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

    -

    Random Forest Algorithm

    +

    Random Forest Algorithm

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

    @@ -1854,7 +1914,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

    @@ -1928,7 +1988,7 @@ plt.show()

    -

    Compare Bagging on Trees with Random Forests

    +

    Compare Bagging on Trees with Random Forests

    @@ -1951,7 +2011,7 @@ np.sum(y_pred == y_pred_rf) / len(y_pred)

    -

    Bootstrap with Random Forests Instead of a Single Tree

    +

    Bootstrap with Random Forests Instead of a Single Tree, own Bagging

    @@ -1965,7 +2025,7 @@ np.sum(y_pred == y_pred_rf) / len(y_pred) np.random.seed(2018) -n = 40 +n = 100 n_boostraps = 100 maxdegree = 14 @@ -1989,7 +2049,7 @@ X_test_scaled = scaler.transform(X_test) y_pred = np.empty((y_test.shape[0], n_boostraps)) for i in range(n_boostraps): x_, y_ = resample(X_train_scaled, y_train) - model.fit(x_, y_) + model.fit(x_, y_.ravel()) y_pred[:, i] = model.predict(X_test_scaled).ravel() polydegree[degree] = degree @@ -2012,7 +2072,7 @@ plt.show()

    -

    Boosting, a Bird'e Eye

    +

    Boosting, a Bird'e Eye

    The basic idea is to combine weak classifiers in order to create a good @@ -2029,7 +2089,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 @@ -2053,7 +2113,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. @@ -2074,7 +2134,7 @@ $$

  • 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. Fit then a given classifier to the training using the weights \( w_i \).
    4. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
    5. Define a quantity $\alpha_{m} = \log{(1-\mathrm{err})/\mathrm{err}}
    6. Set the new weights to $w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(\boldsymbol{X}_{i*})}.
    7. @@ -2093,11 +2153,6 @@ observations that are missed in the previous iterations.
  • -
    -

    Figure to Illustrate the Iterative Classification Process

    -
    - -

    AdaBoost Examples

    @@ -2363,7 +2418,63 @@ It is now the algorithm which wins essentially all ML competitions!!!
    -

    Xgboost on the Cancer Data

    +

    Regression Case

    + +

    + + +

    import matplotlib.pyplot as plt
    +import numpy as np
    +from sklearn.model_selection import train_test_split
    +import xgboost as xgb
    +from sklearn.preprocessing import StandardScaler
    +import scikitplot as skplt
    +from sklearn.metrics import mean_squared_error
    +
    +n = 40
    +n_boostraps = 100
    +maxdegree = 8
    +
    +# Make data set.
    +x = np.linspace(-3, 3, n).reshape(-1, 1)
    +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
    +
    +error = np.zeros(maxdegree)
    +bias = np.zeros(maxdegree)
    +variance = np.zeros(maxdegree)
    +polydegree = np.zeros(maxdegree)
    +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
    +scaler = StandardScaler()
    +scaler.fit(X_train)
    +X_train_scaled = scaler.transform(X_train)
    +X_test_scaled = scaler.transform(X_test)
    +
    +for degree in range(maxdegree):
    +    model =  xgb.XGBRegressor(objective ='reg:linear', colsample_bytree = 0.3, learning_rate = 0.1,
    +                max_depth = maxdegree, alpha = 10, n_estimators = 10)
    +    model.fit(X_train_scaled,y_train)
    +    y_pred = model.predict(X_test_scaled)
    +    polydegree[degree] = degree
    +    error[degree] = np.mean( np.mean((y_test - y_pred)**2) )
    +    bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )
    +    variance[degree] = np.mean( np.var(y_pred) )
    +    print('Max depth:', degree)
    +    print('Error:', error[degree])
    +    print('Bias^2:', bias[degree])
    +    print('Var:', variance[degree])
    +    print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))
    +
    +plt.plot(polydegree, error, label='Error')
    +plt.plot(polydegree, bias, label='bias')
    +plt.plot(polydegree, variance, label='Variance')
    +plt.legend()
    +plt.show()
    +
    +
    + + +
    +

    Xgboost on the Cancer Data

    diff --git a/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html b/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html index b2c1e8ea1..e8e3b4ce1 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html @@ -121,37 +121,36 @@ div { text-align: justify; text-justify: inter-word; } '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -1776,7 +1775,66 @@ plt.show()











    -

    Random forests

    +

    Changing the Level of the Decision Tree

    + +

    + + +

    import matplotlib.pyplot as plt
    +import numpy as np
    +from sklearn.model_selection import train_test_split
    +from sklearn.pipeline import make_pipeline
    +from sklearn.utils import resample
    +from sklearn.tree import DecisionTreeRegressor
    +
    +n = 100
    +n_boostraps = 100
    +maxdepth = 8
    +
    +# Make data set.
    +x = np.linspace(-3, 3, n).reshape(-1, 1)
    +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
    +error = np.zeros(maxdepth)
    +bias = np.zeros(maxdepth)
    +variance = np.zeros(maxdepth)
    +polydegree = np.zeros(maxdepth)
    +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
    +
    +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)
    +
    +for degree in range(1,maxdepth):
    +    model = DecisionTreeRegressor(max_depth=degree) 
    +    y_pred = np.empty((y_test.shape[0], n_boostraps))
    +    for i in range(n_boostraps):
    +        x_, y_ = resample(X_train_scaled, y_train)
    +        model.fit(x_, y_)
    +        y_pred[:, i] = model.predict(X_test_scaled)#.ravel()
    +
    +    polydegree[degree] = degree
    +    error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )
    +    bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )
    +    variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) )
    +    print('Polynomial degree:', degree)
    +    print('Error:', error[degree])
    +    print('Bias^2:', bias[degree])
    +    print('Var:', variance[degree])
    +    print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))
    +
    +plt.xlim(1,maxdepth)
    +plt.plot(polydegree, error, label='Error')
    +plt.plot(polydegree, bias, label='bias')
    +plt.plot(polydegree, variance, label='Variance')
    +plt.legend()
    +plt.show()
    +
    +

    +









    + +

    Random forests

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











    -

    Random Forest Algorithm

    +

    Random Forest Algorithm

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

    @@ -1846,7 +1904,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

    @@ -1919,7 +1977,7 @@ plt.show()











    -

    Compare Bagging on Trees with Random Forests

    +

    Compare Bagging on Trees with Random Forests

    @@ -1941,7 +1999,7 @@ np.sum(y_pred == y_pred_rf) / len(y_pred)











    -

    Bootstrap with Random Forests Instead of a Single Tree

    +

    Bootstrap with Random Forests Instead of a Single Tree, own Bagging

    @@ -1955,7 +2013,7 @@ np.sum(y_pred == y_pred_rf) / len(y_pred) np.random.seed(2018) -n = 40 +n = 100 n_boostraps = 100 maxdegree = 14 @@ -1979,7 +2037,7 @@ X_test_scaled = scaler.transform(X_test) y_pred = np.empty((y_test.shape[0], n_boostraps)) for i in range(n_boostraps): x_, y_ = resample(X_train_scaled, y_train) - model.fit(x_, y_) + model.fit(x_, y_.ravel()) y_pred[:, i] = model.predict(X_test_scaled).ravel() polydegree[degree] = degree @@ -2001,7 +2059,7 @@ plt.show()











    -

    Boosting, a Bird'e Eye

    +

    Boosting, a Bird'e Eye

    The basic idea is to combine weak classifiers in order to create a good @@ -2018,7 +2076,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 @@ -2040,7 +2098,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. @@ -2060,7 +2118,7 @@ $$

  • 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. Fit then a given classifier to the training using the weights \( w_i \).
    4. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
    5. Define a quantity $\alpha_{m} = \log{(1-\mathrm{err})/\mathrm{err}}
    6. Set the new weights to $w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(\boldsymbol{X}_{i*})}.
    7. @@ -2080,11 +2138,6 @@ observations that are missed in the previous iterations.











      -

      Figure to Illustrate the Iterative Classification Process

      - -

      -









      -

      AdaBoost Examples

      @@ -2344,7 +2397,62 @@ It is now the algorithm which wins essentially all ML competitions!!!











      -

      Xgboost on the Cancer Data

      +

      Regression Case

      + +

      + + +

      import matplotlib.pyplot as plt
      +import numpy as np
      +from sklearn.model_selection import train_test_split
      +import xgboost as xgb
      +from sklearn.preprocessing import StandardScaler
      +import scikitplot as skplt
      +from sklearn.metrics import mean_squared_error
      +
      +n = 40
      +n_boostraps = 100
      +maxdegree = 8
      +
      +# Make data set.
      +x = np.linspace(-3, 3, n).reshape(-1, 1)
      +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
      +
      +error = np.zeros(maxdegree)
      +bias = np.zeros(maxdegree)
      +variance = np.zeros(maxdegree)
      +polydegree = np.zeros(maxdegree)
      +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
      +scaler = StandardScaler()
      +scaler.fit(X_train)
      +X_train_scaled = scaler.transform(X_train)
      +X_test_scaled = scaler.transform(X_test)
      +
      +for degree in range(maxdegree):
      +    model =  xgb.XGBRegressor(objective ='reg:linear', colsample_bytree = 0.3, learning_rate = 0.1,
      +                max_depth = maxdegree, alpha = 10, n_estimators = 10)
      +    model.fit(X_train_scaled,y_train)
      +    y_pred = model.predict(X_test_scaled)
      +    polydegree[degree] = degree
      +    error[degree] = np.mean( np.mean((y_test - y_pred)**2) )
      +    bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )
      +    variance[degree] = np.mean( np.var(y_pred) )
      +    print('Max depth:', degree)
      +    print('Error:', error[degree])
      +    print('Bias^2:', bias[degree])
      +    print('Var:', variance[degree])
      +    print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))
      +
      +plt.plot(polydegree, error, label='Error')
      +plt.plot(polydegree, bias, label='bias')
      +plt.plot(polydegree, variance, label='Variance')
      +plt.legend()
      +plt.show()
      +
      +

      +









      + +

      Xgboost on the Cancer Data

      diff --git a/doc/pub/DecisionTrees/html/DecisionTrees.html b/doc/pub/DecisionTrees/html/DecisionTrees.html index ede4f121d..180cfd4e8 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees.html @@ -126,37 +126,36 @@ div { text-align: justify; text-justify: inter-word; } '___sec37'), ('Now Bagging', 2, None, '___sec38'), ('Making our own Bagging with Bootstrap', 2, None, '___sec39'), - ('Random forests', 2, None, '___sec40'), - ('Random Forest Algorithm', 2, None, '___sec41'), + ('Changing the Level of the Decision Tree', 2, None, '___sec40'), + ('Random forests', 2, None, '___sec41'), + ('Random Forest Algorithm', 2, None, '___sec42'), ('Random Forests Compared with other Methods on the Cancer Data', 2, None, - '___sec42'), + '___sec43'), ('Compare Bagging on Trees with Random Forests', 2, None, - '___sec43'), - ('Bootstrap with Random Forests Instead of a Single Tree', + '___sec44'), + ('Bootstrap with Random Forests Instead of a Single Tree, own ' + 'Bagging', 2, None, - '___sec44'), - ("Boosting, a Bird'e Eye", 2, None, '___sec45'), + '___sec45'), + ("Boosting, a Bird'e Eye", 2, None, '___sec46'), ('Adaptive boosting: AdaBoost, Basic Algorithm', 2, None, - '___sec46'), - ('Basic Steps of AdaBoost', 2, None, '___sec47'), - ('Figure to Illustrate the Iterative Classification Process', - 2, - None, - '___sec48'), + '___sec47'), + ('Basic Steps of AdaBoost', 2, None, '___sec48'), ('AdaBoost Examples', 2, None, '___sec49'), ('Gradient boosting: Basics', 2, None, '___sec50'), ('Gradient Boosting, algorithm', 2, None, '___sec51'), ('Gradient Boosting, Examples', 2, None, '___sec52'), ('Gradient Boots with Early Stopping', 2, None, '___sec53'), ('XGBoost: Extreme Gradient Boosting', 2, None, '___sec54'), - ('Xgboost on the Cancer Data', 2, None, '___sec55')]} + ('Regression Case', 2, None, '___sec55'), + ('Xgboost on the Cancer Data', 2, None, '___sec56')]} end of tocinfo --> @@ -1781,7 +1780,66 @@ plt.show()











      -

      Random forests

      +

      Changing the Level of the Decision Tree

      + +

      + + +

      import matplotlib.pyplot as plt
      +import numpy as np
      +from sklearn.model_selection import train_test_split
      +from sklearn.pipeline import make_pipeline
      +from sklearn.utils import resample
      +from sklearn.tree import DecisionTreeRegressor
      +
      +n = 100
      +n_boostraps = 100
      +maxdepth = 8
      +
      +# Make data set.
      +x = np.linspace(-3, 3, n).reshape(-1, 1)
      +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
      +error = np.zeros(maxdepth)
      +bias = np.zeros(maxdepth)
      +variance = np.zeros(maxdepth)
      +polydegree = np.zeros(maxdepth)
      +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
      +
      +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)
      +
      +for degree in range(1,maxdepth):
      +    model = DecisionTreeRegressor(max_depth=degree) 
      +    y_pred = np.empty((y_test.shape[0], n_boostraps))
      +    for i in range(n_boostraps):
      +        x_, y_ = resample(X_train_scaled, y_train)
      +        model.fit(x_, y_)
      +        y_pred[:, i] = model.predict(X_test_scaled)#.ravel()
      +
      +    polydegree[degree] = degree
      +    error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )
      +    bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )
      +    variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) )
      +    print('Polynomial degree:', degree)
      +    print('Error:', error[degree])
      +    print('Bias^2:', bias[degree])
      +    print('Var:', variance[degree])
      +    print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))
      +
      +plt.xlim(1,maxdepth)
      +plt.plot(polydegree, error, label='Error')
      +plt.plot(polydegree, bias, label='bias')
      +plt.plot(polydegree, variance, label='Variance')
      +plt.legend()
      +plt.show()
      +
      +

      +









      + +

      Random forests

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











      -

      Random Forest Algorithm

      +

      Random Forest Algorithm

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

      @@ -1851,7 +1909,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

      @@ -1924,7 +1982,7 @@ plt.show()











      -

      Compare Bagging on Trees with Random Forests

      +

      Compare Bagging on Trees with Random Forests

      @@ -1946,7 +2004,7 @@ np.sum(y_pred =











      -

      Bootstrap with Random Forests Instead of a Single Tree

      +

      Bootstrap with Random Forests Instead of a Single Tree, own Bagging

      @@ -1960,7 +2018,7 @@ np.sum(y_pred = np.random.seed(2018) -n = 40 +n = 100 n_boostraps = 100 maxdegree = 14 @@ -1984,7 +2042,7 @@ X_test_scaled = scaler= np.empty((y_test.shape[0], n_boostraps)) for i in range(n_boostraps): x_, y_ = resample(X_train_scaled, y_train) - model.fit(x_, y_) + model.fit(x_, y_.ravel()) y_pred[:, i] = model.predict(X_test_scaled).ravel() polydegree[degree] = degree @@ -2006,7 +2064,7 @@ plt.show()











      -

      Boosting, a Bird'e Eye

      +

      Boosting, a Bird'e Eye

      The basic idea is to combine weak classifiers in order to create a good @@ -2023,7 +2081,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 @@ -2045,7 +2103,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. @@ -2065,7 +2123,7 @@ $$

    8. 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. Fit then a given classifier to the training using the weights \( w_i \).
      4. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      5. Define a quantity $\alpha_{m} = \log{(1-\mathrm{err})/\mathrm{err}}
      6. Set the new weights to $w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(\boldsymbol{X}_{i*})}.
      7. @@ -2085,11 +2143,6 @@ observations that are missed in the previous iterations.











        -

        Figure to Illustrate the Iterative Classification Process

        - -

        -









        -

        AdaBoost Examples

        @@ -2349,7 +2402,62 @@ It is now the algorithm which wins essentially all ML competitions!!!











        -

        Xgboost on the Cancer Data

        +

        Regression Case

        + +

        + + +

        import matplotlib.pyplot as plt
        +import numpy as np
        +from sklearn.model_selection import train_test_split
        +import xgboost as xgb
        +from sklearn.preprocessing import StandardScaler
        +import scikitplot as skplt
        +from sklearn.metrics import mean_squared_error
        +
        +n = 40
        +n_boostraps = 100
        +maxdegree = 8
        +
        +# Make data set.
        +x = np.linspace(-3, 3, n).reshape(-1, 1)
        +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
        +
        +error = np.zeros(maxdegree)
        +bias = np.zeros(maxdegree)
        +variance = np.zeros(maxdegree)
        +polydegree = np.zeros(maxdegree)
        +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
        +scaler = StandardScaler()
        +scaler.fit(X_train)
        +X_train_scaled = scaler.transform(X_train)
        +X_test_scaled = scaler.transform(X_test)
        +
        +for degree in range(maxdegree):
        +    model =  xgb.XGBRegressor(objective ='reg:linear', colsample_bytree = 0.3, learning_rate = 0.1,
        +                max_depth = maxdegree, alpha = 10, n_estimators = 10)
        +    model.fit(X_train_scaled,y_train)
        +    y_pred = model.predict(X_test_scaled)
        +    polydegree[degree] = degree
        +    error[degree] = np.mean( np.mean((y_test - y_pred)**2) )
        +    bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )
        +    variance[degree] = np.mean( np.var(y_pred) )
        +    print('Max depth:', degree)
        +    print('Error:', error[degree])
        +    print('Bias^2:', bias[degree])
        +    print('Var:', variance[degree])
        +    print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))
        +
        +plt.plot(polydegree, error, label='Error')
        +plt.plot(polydegree, bias, label='bias')
        +plt.plot(polydegree, variance, label='Variance')
        +plt.legend()
        +plt.show()
        +
        +

        +









        + +

        Xgboost on the Cancer Data

        diff --git a/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb b/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb index 59ba61dcb..c27d3d1be 100644 --- a/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb +++ b/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb @@ -1796,6 +1796,74 @@ "plt.show()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Changing the Level of the Decision Tree" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.pipeline import make_pipeline\n", + "from sklearn.utils import resample\n", + "from sklearn.tree import DecisionTreeRegressor\n", + "\n", + "n = 100\n", + "n_boostraps = 100\n", + "maxdepth = 8\n", + "\n", + "# Make data set.\n", + "x = np.linspace(-3, 3, n).reshape(-1, 1)\n", + "y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n", + "error = np.zeros(maxdepth)\n", + "bias = np.zeros(maxdepth)\n", + "variance = np.zeros(maxdepth)\n", + "polydegree = np.zeros(maxdepth)\n", + "X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n", + "\n", + "from sklearn.preprocessing import StandardScaler\n", + "scaler = StandardScaler()\n", + "scaler.fit(X_train)\n", + "X_train_scaled = scaler.transform(X_train)\n", + "X_test_scaled = scaler.transform(X_test)\n", + "\n", + "for degree in range(1,maxdepth):\n", + " model = DecisionTreeRegressor(max_depth=degree) \n", + " y_pred = np.empty((y_test.shape[0], n_boostraps))\n", + " for i in range(n_boostraps):\n", + " x_, y_ = resample(X_train_scaled, y_train)\n", + " model.fit(x_, y_)\n", + " y_pred[:, i] = model.predict(X_test_scaled)#.ravel()\n", + "\n", + " polydegree[degree] = degree\n", + " error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )\n", + " bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )\n", + " variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) )\n", + " print('Polynomial degree:', degree)\n", + " print('Error:', error[degree])\n", + " print('Bias^2:', bias[degree])\n", + " print('Var:', variance[degree])\n", + " print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))\n", + "\n", + "plt.xlim(1,maxdepth)\n", + "plt.plot(polydegree, error, label='Error')\n", + "plt.plot(polydegree, bias, label='bias')\n", + "plt.plot(polydegree, variance, label='Variance')\n", + "plt.legend()\n", + "plt.show()" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1872,7 +1940,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "metadata": { "collapsed": false }, @@ -1954,7 +2022,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "metadata": { "collapsed": false }, @@ -1967,7 +2035,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "metadata": { "collapsed": false }, @@ -1986,12 +2054,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Bootstrap with Random Forests Instead of a Single Tree" + "## Bootstrap with Random Forests Instead of a Single Tree, own Bagging" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 29, "metadata": { "collapsed": false }, @@ -2007,7 +2075,7 @@ "\n", "np.random.seed(2018)\n", "\n", - "n = 40\n", + "n = 100\n", "n_boostraps = 100\n", "maxdegree = 14\n", "\n", @@ -2031,7 +2099,7 @@ " y_pred = np.empty((y_test.shape[0], n_boostraps))\n", " for i in range(n_boostraps):\n", " x_, y_ = resample(X_train_scaled, y_train)\n", - " model.fit(x_, y_)\n", + " model.fit(x_, y_.ravel())\n", " y_pred[:, i] = model.predict(X_test_scaled).ravel()\n", "\n", " polydegree[degree] = degree\n", @@ -2120,7 +2188,7 @@ "source": [ "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.\n", "\n", - "a. Fit thus a given classifier to the training using the weights $w_i$.\n", + "a. Fit then a given classifier to the training using the weights $w_i$.\n", "\n", "b. Compute then $\\mathrm{err}$ and figure out which events are classified properly and which are classified wrongly.\n", "\n", @@ -2139,7 +2207,6 @@ "new classification step $m$ is then forced to concentrate on those\n", "observations that are missed in the previous iterations.\n", "\n", - "## Figure to Illustrate the Iterative Classification Process\n", "\n", "\n", "## AdaBoost Examples\n", @@ -2149,7 +2216,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 30, "metadata": { "collapsed": false }, @@ -2239,7 +2306,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 31, "metadata": { "collapsed": false }, @@ -2338,7 +2405,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 32, "metadata": { "collapsed": false }, @@ -2423,12 +2490,75 @@ "\n", "It is now the algorithm which wins essentially all ML competitions!!!\n", "\n", + "## Regression Case" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from sklearn.model_selection import train_test_split\n", + "import xgboost as xgb\n", + "from sklearn.preprocessing import StandardScaler\n", + "import scikitplot as skplt\n", + "from sklearn.metrics import mean_squared_error\n", + "\n", + "n = 40\n", + "n_boostraps = 100\n", + "maxdegree = 8\n", + "\n", + "# Make data set.\n", + "x = np.linspace(-3, 3, n).reshape(-1, 1)\n", + "y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n", + "\n", + "error = np.zeros(maxdegree)\n", + "bias = np.zeros(maxdegree)\n", + "variance = np.zeros(maxdegree)\n", + "polydegree = np.zeros(maxdegree)\n", + "X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n", + "scaler = StandardScaler()\n", + "scaler.fit(X_train)\n", + "X_train_scaled = scaler.transform(X_train)\n", + "X_test_scaled = scaler.transform(X_test)\n", + "\n", + "for degree in range(maxdegree):\n", + " model = xgb.XGBRegressor(objective ='reg:linear', colsample_bytree = 0.3, learning_rate = 0.1,\n", + " max_depth = maxdegree, alpha = 10, n_estimators = 10)\n", + " model.fit(X_train_scaled,y_train)\n", + " y_pred = model.predict(X_test_scaled)\n", + " polydegree[degree] = degree\n", + " error[degree] = np.mean( np.mean((y_test - y_pred)**2) )\n", + " bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )\n", + " variance[degree] = np.mean( np.var(y_pred) )\n", + " print('Max depth:', degree)\n", + " print('Error:', error[degree])\n", + " print('Bias^2:', bias[degree])\n", + " print('Var:', variance[degree])\n", + " print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))\n", + "\n", + "plt.plot(polydegree, error, label='Error')\n", + "plt.plot(polydegree, bias, label='bias')\n", + "plt.plot(polydegree, variance, label='Variance')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ "## Xgboost on the Cancer Data" ] }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 34, "metadata": { "collapsed": false }, diff --git a/doc/pub/DecisionTrees/ipynb/ipynb-DecisionTrees-src.tar.gz b/doc/pub/DecisionTrees/ipynb/ipynb-DecisionTrees-src.tar.gz index 10e484876fcdebedb2961f27b53b0c62b0327ab4..69d0000cf71a1d7a98992d01fb95137ae504e95a 100644 GIT binary patch delta 30 mcmZ4cQ*iB1L3a6W4u-!%M;h5%*%@2enOfPIx3aS=s{sJ8+6oT< delta 30 mcmZ4cQ*iB1L3a6W4hGImha1^j*%@2enOfPIx3aS=s{sJ1?FqU7 diff --git a/doc/pub/DecisionTrees/pdf/DecisionTrees-minted.pdf b/doc/pub/DecisionTrees/pdf/DecisionTrees-minted.pdf index c5c80b2157ed4b94ef2cc0f7e4e21f3771c97451..9139b87ab575125589d9ede0669de34817b13ef3 100644 GIT binary patch delta 18184 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 delta 18138 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

        5EzN*ZLlrk;=%_TK~< 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 T`2rCJ2qe+~sG(u&YzO=cHT= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) + +plt.xlim(1,maxdepth) +plt.plot(polydegree, error, label='Error') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +plt.show() + + + + +!ec + + + !split ===== Random forests ===== @@ -1599,7 +1662,7 @@ np.sum(y_pred == y_pred_rf) / len(y_pred) !split -===== Bootstrap with Random Forests Instead of a Single Tree ===== +===== Bootstrap with Random Forests Instead of a Single Tree, own Bagging ===== !bc pycod @@ -1612,7 +1675,7 @@ from sklearn.ensemble import RandomForestRegressor np.random.seed(2018) -n = 40 +n = 100 n_boostraps = 100 maxdegree = 14 @@ -1636,7 +1699,7 @@ for degree in range(maxdegree): y_pred = np.empty((y_test.shape[0], n_boostraps)) for i in range(n_boostraps): x_, y_ = resample(X_train_scaled, y_train) - model.fit(x_, y_) + model.fit(x_, y_.ravel()) y_pred[:, i] = model.predict(X_test_scaled).ravel() polydegree[degree] = degree @@ -1707,7 +1770,7 @@ o We rewrite the misclassification error as \] !et o 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. - o Fit thus a given classifier to the training using the weights $w_i$. + o Fit then a given classifier to the training using the weights $w_i$. o Compute then $\mathrm{err}$ and figure out which events are classified properly and which are classified wrongly. o Define a quantity $\alpha_{m} = \log{(1-\mathrm{err})/\mathrm{err}} o Set the new weights to $w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(\bm{X}_{i*})}. @@ -1721,8 +1784,6 @@ difficult to classifiy correctly are given a larger influence. Each new classification step $m$ is then forced to concentrate on those observations that are missed in the previous iterations. -!split -===== Figure to Illustrate the Iterative Classification Process ===== !split @@ -1965,6 +2026,62 @@ sketch for efficient proposal calculation. It introduces a novel sparsity-aware It is now the algorithm which wins essentially all ML competitions!!! +!split +===== Regression Case ===== + +!bc pycod +import matplotlib.pyplot as plt +import numpy as np +from sklearn.model_selection import train_test_split +import xgboost as xgb +from sklearn.preprocessing import StandardScaler +import scikitplot as skplt +from sklearn.metrics import mean_squared_error + +n = 40 +n_boostraps = 100 +maxdegree = 8 + +# Make data set. +x = np.linspace(-3, 3, n).reshape(-1, 1) +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape) + +error = np.zeros(maxdegree) +bias = np.zeros(maxdegree) +variance = np.zeros(maxdegree) +polydegree = np.zeros(maxdegree) +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) +scaler = StandardScaler() +scaler.fit(X_train) +X_train_scaled = scaler.transform(X_train) +X_test_scaled = scaler.transform(X_test) + +for degree in range(maxdegree): + model = xgb.XGBRegressor(objective ='reg:linear', colsample_bytree = 0.3, learning_rate = 0.1, + max_depth = maxdegree, alpha = 10, n_estimators = 10) + model.fit(X_train_scaled,y_train) + y_pred = model.predict(X_test_scaled) + polydegree[degree] = degree + error[degree] = np.mean( np.mean((y_test - y_pred)**2) ) + bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 ) + variance[degree] = np.mean( np.var(y_pred) ) + print('Max depth:', degree) + print('Error:', error[degree]) + print('Bias^2:', bias[degree]) + print('Var:', variance[degree]) + print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) + +plt.plot(polydegree, error, label='Error') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +plt.show() + + +!ec + + + !split ===== Xgboost on the Cancer Data ===== !bc pycod diff --git a/doc/src/DecisionTrees/Programs/bootstrap.py~ b/doc/src/DecisionTrees/Programs/bootstrap.py~ new file mode 100644 index 000000000..623de3af2 --- /dev/null +++ b/doc/src/DecisionTrees/Programs/bootstrap.py~ @@ -0,0 +1,56 @@ + +import matplotlib.pyplot as plt +import numpy as np +from sklearn.model_selection import train_test_split +from sklearn.pipeline import make_pipeline +from sklearn.utils import resample +from sklearn.tree import DecisionTreeRegressor + + +np.random.seed(2018) + +n = 40 +n_boostraps = 100 +maxdegree = 14 + +# Make data set. +x = np.linspace(-3, 3, n).reshape(-1, 1) +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape) +error = np.zeros(maxdegree) +bias = np.zeros(maxdegree) +variance = np.zeros(maxdegree) +polydegree = np.zeros(maxdegree) +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) + +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) + +for degree in range(maxdegree): + model = DecisionTreeRegressor(max_depth=2) + y_pred = np.empty((y_test.shape[0], n_boostraps)) + for i in range(n_boostraps): + x_, y_ = resample(X_train_scaled, y_train) + model.fit(x_, y_) + y_pred[:, i] = model.predict(X_test_scaled).ravel() + + polydegree[degree] = degree + error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) ) + bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 ) + variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) ) + print('Polynomial degree:', degree) + print('Error:', error[degree]) + print('Bias^2:', bias[degree]) + print('Var:', variance[degree]) + print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) + +plt.plot(polydegree, error, label='Error') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +plt.show() + + + diff --git a/doc/src/DecisionTrees/Programs/rfbootclassify.py b/doc/src/DecisionTrees/Programs/rfbootclassify.py new file mode 100644 index 000000000..6bd25a532 --- /dev/null +++ b/doc/src/DecisionTrees/Programs/rfbootclassify.py @@ -0,0 +1,54 @@ + +import matplotlib.pyplot as plt +import numpy as np +from sklearn.model_selection import train_test_split +from sklearn.pipeline import make_pipeline +from sklearn.utils import resample +from sklearn.tree import DecisionTreeRegressor + +n = 100 +n_boostraps = 100 +maxdepth = 8 + +# Make data set. +x = np.linspace(-3, 3, n).reshape(-1, 1) +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape) +error = np.zeros(maxdepth) +bias = np.zeros(maxdepth) +variance = np.zeros(maxdepth) +polydegree = np.zeros(maxdepth) +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) + +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) + +for degree in range(1,maxdepth): + model = DecisionTreeRegressor(max_depth=degree) + y_pred = np.empty((y_test.shape[0], n_boostraps)) + for i in range(n_boostraps): + x_, y_ = resample(X_train_scaled, y_train) + model.fit(x_, y_) + y_pred[:, i] = model.predict(X_test_scaled)#.ravel() + + polydegree[degree] = degree + error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) ) + bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 ) + variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) ) + print('Polynomial degree:', degree) + print('Error:', error[degree]) + print('Bias^2:', bias[degree]) + print('Var:', variance[degree]) + print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) + +plt.xlim(1,maxdepth) +plt.plot(polydegree, error, label='Error') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +plt.show() + + + diff --git a/doc/src/DecisionTrees/Programs/rfbootclassify.py~ b/doc/src/DecisionTrees/Programs/rfbootclassify.py~ new file mode 100644 index 000000000..84994c400 --- /dev/null +++ b/doc/src/DecisionTrees/Programs/rfbootclassify.py~ @@ -0,0 +1,54 @@ + +import matplotlib.pyplot as plt +import numpy as np +from sklearn.model_selection import train_test_split +from sklearn.pipeline import make_pipeline +from sklearn.utils import resample +from sklearn.tree import DecisionTreeRegressor + +n = 100 +n_boostraps = 100 +maxdepth = 8 + +# Make data set. +x = np.linspace(-3, 3, n).reshape(-1, 1) +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape) +error = np.zeros(maxdepth) +bias = np.zeros(maxdepth) +variance = np.zeros(maxdepth) +polydegree = np.zeros(maxdepth) +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) + +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) + +for degree in range(1,maxdepth): + model = DecisionTreeRegressor(max_depth=degree) + y_pred = np.empty((y_test.shape[0], n_boostraps)) + for i in range(n_boostraps): + x_, y_ = resample(X_train_scaled, y_train) + model.fit(x_, y_) + y_pred[:, i] = model.predict(X_test_scaled)#.ravel() + + polydegree[degree] = degree + error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) ) + bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 ) + variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) ) + print('Polynomial degree:', degree) + print('Error:', error[degree]) + print('Bias^2:', bias[degree]) + print('Var:', variance[degree]) + print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) + +plt.xlim(1,maxdegree) +plt.plot(polydegree, error, label='Error') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +plt.show() + + + diff --git a/doc/src/DecisionTrees/Programs/rfbootstrap.py b/doc/src/DecisionTrees/Programs/rfbootstrap.py index 824862286..db31345b5 100644 --- a/doc/src/DecisionTrees/Programs/rfbootstrap.py +++ b/doc/src/DecisionTrees/Programs/rfbootstrap.py @@ -8,13 +8,14 @@ from sklearn.ensemble import RandomForestRegressor np.random.seed(2018) -n = 40 +n = 500 n_boostraps = 100 maxdegree = 14 # Make data set. x = np.linspace(-3, 3, n).reshape(-1, 1) y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape) + error = np.zeros(maxdegree) bias = np.zeros(maxdegree) variance = np.zeros(maxdegree) @@ -32,8 +33,8 @@ for degree in range(maxdegree): y_pred = np.empty((y_test.shape[0], n_boostraps)) for i in range(n_boostraps): x_, y_ = resample(X_train_scaled, y_train) - model.fit(x_, y_) - y_pred[:, i] = model.predict(X_test_scaled)#.ravel() + model.fit(x_, y_.ravel()) + y_pred[:, i] = model.predict(X_test_scaled) polydegree[degree] = degree error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) ) diff --git a/doc/src/DecisionTrees/Programs/rfbootstrap.py~ b/doc/src/DecisionTrees/Programs/rfbootstrap.py~ new file mode 100644 index 000000000..96f81e3df --- /dev/null +++ b/doc/src/DecisionTrees/Programs/rfbootstrap.py~ @@ -0,0 +1,54 @@ + +import matplotlib.pyplot as plt +import numpy as np +from sklearn.model_selection import train_test_split +from sklearn.pipeline import make_pipeline +from sklearn.utils import resample +from sklearn.ensemble import RandomForestRegressor + +np.random.seed(2018) + +n = 40 +n_boostraps = 100 +maxdegree = 14 + +# Make data set. +x = np.linspace(-3, 3, n).reshape(-1, 1) +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape) +error = np.zeros(maxdegree) +bias = np.zeros(maxdegree) +variance = np.zeros(maxdegree) +polydegree = np.zeros(maxdegree) +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) + +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) + +for degree in range(maxdegree): + model = RandomForestRegressor() + y_pred = np.empty((y_test.shape[0], n_boostraps)) + for i in range(n_boostraps): + x_, y_ = resample(X_train_scaled, y_train).ravel() + model.fit(x_, y_) + y_pred[:, i] = model.predict(X_test_scaled).ravel() + + polydegree[degree] = degree + error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) ) + bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 ) + variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) ) + print('Polynomial degree:', degree) + print('Error:', error[degree]) + print('Bias^2:', bias[degree]) + print('Var:', variance[degree]) + print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) + +plt.plot(polydegree, error, label='Error') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +plt.show() + + diff --git a/doc/src/DecisionTrees/Programs/rfcancer.py b/doc/src/DecisionTrees/Programs/rfcancer.py index 9f226f064..d507268cb 100644 --- a/doc/src/DecisionTrees/Programs/rfcancer.py +++ b/doc/src/DecisionTrees/Programs/rfcancer.py @@ -29,8 +29,6 @@ accuracy = cross_validate(Random_Forest_model,X_test_scaled,y_test,cv=10)['test_ print(accuracy) print("Test set accuracy with Random Forests and scaled data: {:.2f}".format(Random_Forest_model.score(X_test_scaled,y_test))) - - y_pred = Random_Forest_model.predict(X_test_scaled) skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True) plt.show() diff --git a/doc/src/DecisionTrees/Programs/xgcancer.py~ b/doc/src/DecisionTrees/Programs/xgcancer.py~ new file mode 100644 index 000000000..9f226f064 --- /dev/null +++ b/doc/src/DecisionTrees/Programs/xgcancer.py~ @@ -0,0 +1,41 @@ +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.tree import DecisionTreeClassifier +from sklearn.ensemble import RandomForestClassifier +from sklearn.preprocessing import LabelEncoder +from sklearn.model_selection import cross_validate +import scikitplot as skplt + +# 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) +#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) +# Data set not specificied +#Instantiate the model with 100 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))) + + + +y_pred = Random_Forest_model.predict(X_test_scaled) +skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True) +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/src/DecisionTrees/Programs/xgregressor.py b/doc/src/DecisionTrees/Programs/xgregressor.py new file mode 100644 index 000000000..0aaf7be2f --- /dev/null +++ b/doc/src/DecisionTrees/Programs/xgregressor.py @@ -0,0 +1,47 @@ +import matplotlib.pyplot as plt +import numpy as np +from sklearn.model_selection import train_test_split +import xgboost as xgb +from sklearn.preprocessing import StandardScaler +import scikitplot as skplt +from sklearn.metrics import mean_squared_error + +n = 40 +n_boostraps = 100 +maxdegree = 8 + +# Make data set. +x = np.linspace(-3, 3, n).reshape(-1, 1) +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape) + +error = np.zeros(maxdegree) +bias = np.zeros(maxdegree) +variance = np.zeros(maxdegree) +polydegree = np.zeros(maxdegree) +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) +scaler = StandardScaler() +scaler.fit(X_train) +X_train_scaled = scaler.transform(X_train) +X_test_scaled = scaler.transform(X_test) + +for degree in range(maxdegree): + model = xgb.XGBRegressor(objective ='reg:linear', colsample_bytree = 0.3, learning_rate = 0.1, + max_depth = maxdegree, alpha = 10, n_estimators = 10) + model.fit(X_train_scaled,y_train) + y_pred = model.predict(X_test_scaled) + polydegree[degree] = degree + error[degree] = np.mean( np.mean((y_test - y_pred)**2) ) + bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 ) + variance[degree] = np.mean( np.var(y_pred) ) + print('Polynomial degree:', degree) + print('Error:', error[degree]) + print('Bias^2:', bias[degree]) + print('Var:', variance[degree]) + print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) + +plt.plot(polydegree, error, label='Error') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +plt.show() + diff --git a/doc/src/DecisionTrees/Programs/xgregressor.py~ b/doc/src/DecisionTrees/Programs/xgregressor.py~ new file mode 100644 index 000000000..6c9b2a16d --- /dev/null +++ b/doc/src/DecisionTrees/Programs/xgregressor.py~ @@ -0,0 +1,47 @@ +import matplotlib.pyplot as plt +import numpy as np +from sklearn.model_selection import train_test_split +import xgboost as xgb +from sklearn.preprocessing import StandardScaler +import scikitplot as skplt +from sklearn.metrics import mean_squared_error + +n = 500 +n_boostraps = 100 +maxdegree = 8 + +# Make data set. +x = np.linspace(-3, 3, n).reshape(-1, 1) +y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape) + +error = np.zeros(maxdegree) +bias = np.zeros(maxdegree) +variance = np.zeros(maxdegree) +polydegree = np.zeros(maxdegree) +X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) +scaler = StandardScaler() +scaler.fit(X_train) +X_train_scaled = scaler.transform(X_train) +X_test_scaled = scaler.transform(X_test) + +for degree in range(maxdegree): + model = xgb.XGBRegressor(objective ='reg:linear', colsample_bytree = 0.3, learning_rate = 0.1, + max_depth = maxdegree, alpha = 10, n_estimators = 10) + model.fit(X_train_scaled,y_train) + y_pred = model.predict(X_test_scaled) + polydegree[degree] = degree + error[degree] = np.mean( np.mean((y_test - y_pred)**2) ) + bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 ) + variance[degree] = np.mean( np.var(y_pred) ) + print('Polynomial degree:', degree) + print('Error:', error[degree]) + print('Bias^2:', bias[degree]) + print('Var:', variance[degree]) + print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree])) + +plt.plot(polydegree, error, label='Error') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +plt.show() +