From e77b347f9b07c3a6aa8fa7aa215c4f9c4c802f3c Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Tue, 1 Nov 2022 22:14:38 +0100 Subject: [PATCH] typos here and there --- doc/pub/week44/html/._week44-bs000.html | 65 +- doc/pub/week44/html/._week44-bs001.html | 65 +- doc/pub/week44/html/._week44-bs002.html | 65 +- doc/pub/week44/html/._week44-bs003.html | 65 +- doc/pub/week44/html/._week44-bs004.html | 65 +- doc/pub/week44/html/._week44-bs005.html | 65 +- doc/pub/week44/html/._week44-bs006.html | 65 +- doc/pub/week44/html/._week44-bs007.html | 65 +- doc/pub/week44/html/._week44-bs008.html | 65 +- doc/pub/week44/html/._week44-bs009.html | 65 +- doc/pub/week44/html/._week44-bs010.html | 65 +- doc/pub/week44/html/._week44-bs011.html | 65 +- doc/pub/week44/html/._week44-bs012.html | 65 +- doc/pub/week44/html/._week44-bs013.html | 65 +- doc/pub/week44/html/._week44-bs014.html | 65 +- doc/pub/week44/html/._week44-bs015.html | 65 +- doc/pub/week44/html/._week44-bs016.html | 65 +- doc/pub/week44/html/._week44-bs017.html | 65 +- doc/pub/week44/html/._week44-bs018.html | 65 +- doc/pub/week44/html/._week44-bs019.html | 65 +- doc/pub/week44/html/._week44-bs020.html | 65 +- doc/pub/week44/html/._week44-bs021.html | 65 +- doc/pub/week44/html/._week44-bs022.html | 65 +- doc/pub/week44/html/._week44-bs023.html | 65 +- doc/pub/week44/html/._week44-bs024.html | 65 +- doc/pub/week44/html/._week44-bs025.html | 65 +- doc/pub/week44/html/._week44-bs026.html | 65 +- doc/pub/week44/html/._week44-bs027.html | 65 +- doc/pub/week44/html/._week44-bs028.html | 65 +- doc/pub/week44/html/._week44-bs029.html | 65 +- doc/pub/week44/html/._week44-bs030.html | 65 +- doc/pub/week44/html/._week44-bs031.html | 65 +- doc/pub/week44/html/._week44-bs032.html | 65 +- doc/pub/week44/html/._week44-bs033.html | 65 +- doc/pub/week44/html/._week44-bs034.html | 65 +- doc/pub/week44/html/._week44-bs035.html | 65 +- doc/pub/week44/html/._week44-bs036.html | 65 +- doc/pub/week44/html/._week44-bs037.html | 65 +- doc/pub/week44/html/._week44-bs038.html | 67 +- doc/pub/week44/html/._week44-bs039.html | 65 +- doc/pub/week44/html/._week44-bs040.html | 65 +- doc/pub/week44/html/._week44-bs041.html | 65 +- doc/pub/week44/html/._week44-bs042.html | 65 +- doc/pub/week44/html/._week44-bs043.html | 65 +- doc/pub/week44/html/._week44-bs044.html | 65 +- doc/pub/week44/html/._week44-bs045.html | 65 +- doc/pub/week44/html/._week44-bs046.html | 90 +- doc/pub/week44/html/._week44-bs047.html | 108 +-- doc/pub/week44/html/._week44-bs048.html | 118 +-- doc/pub/week44/html/._week44-bs049.html | 130 +-- doc/pub/week44/html/._week44-bs050.html | 146 +-- doc/pub/week44/html/._week44-bs051.html | 218 ++--- doc/pub/week44/html/._week44-bs052.html | 161 +--- doc/pub/week44/html/._week44-bs053.html | 102 +-- doc/pub/week44/html/._week44-bs054.html | 167 ++-- doc/pub/week44/html/._week44-bs055.html | 156 ++-- doc/pub/week44/html/._week44-bs056.html | 128 +-- doc/pub/week44/html/._week44-bs057.html | 173 ++-- doc/pub/week44/html/._week44-bs058.html | 193 ++-- doc/pub/week44/html/week44-bs.html | 65 +- doc/pub/week44/html/week44-reveal.html | 626 +++---------- doc/pub/week44/html/week44-solarized.html | 653 +++----------- doc/pub/week44/html/week44.html | 653 +++----------- doc/pub/week44/ipynb/Datafiles/cancer.dot | 16 +- doc/pub/week44/ipynb/Datafiles/cancer.png | Bin 248523 -> 248607 bytes doc/pub/week44/ipynb/Datafiles/moons.dot | 4 +- doc/pub/week44/ipynb/Datafiles/ride.dot | 4 +- .../ipynb/Results/FigureFiles/baggingboot.png | Bin 16385 -> 29098 bytes .../ipynb/Results/FigureFiles/baggingtree.png | Bin 50148 -> 88509 bytes .../Results/FigureFiles/votingsimple.png | Bin 39880 -> 56238 bytes doc/pub/week44/ipynb/ipynb-week44-src.tar.gz | Bin 294283 -> 294283 bytes doc/pub/week44/ipynb/week44.ipynb | 846 ++++++------------ doc/src/week44/week44.do.txt | 421 +++------ 73 files changed, 2696 insertions(+), 5474 deletions(-) diff --git a/doc/pub/week44/html/._week44-bs000.html b/doc/pub/week44/html/._week44-bs000.html index 92c1fb661..3e5f1d17a 100644 --- a/doc/pub/week44/html/._week44-bs000.html +++ b/doc/pub/week44/html/._week44-bs000.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -365,7 +348,7 @@ MathJax.Hub.Config({
  • 9
  • 10
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs001.html b/doc/pub/week44/html/._week44-bs001.html index 716de7717..3730c5b7b 100644 --- a/doc/pub/week44/html/._week44-bs001.html +++ b/doc/pub/week44/html/._week44-bs001.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -364,7 +347,7 @@ MathJax.Hub.Config({
  • 10
  • 11
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs002.html b/doc/pub/week44/html/._week44-bs002.html index 8fe804379..e7f878b6c 100644 --- a/doc/pub/week44/html/._week44-bs002.html +++ b/doc/pub/week44/html/._week44-bs002.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -350,7 +333,7 @@ accelerate scientific discovery.
  • 11
  • 12
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs003.html b/doc/pub/week44/html/._week44-bs003.html index f83f3c213..f319426e6 100644 --- a/doc/pub/week44/html/._week44-bs003.html +++ b/doc/pub/week44/html/._week44-bs003.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -472,7 +455,7 @@ plt.show()
  • 12
  • 13
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs004.html b/doc/pub/week44/html/._week44-bs004.html index a5d9e9772..107f8f6cf 100644 --- a/doc/pub/week44/html/._week44-bs004.html +++ b/doc/pub/week44/html/._week44-bs004.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -368,7 +351,7 @@ where we then finally end up in so called leaf nodes.
  • 13
  • 14
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs005.html b/doc/pub/week44/html/._week44-bs005.html index 6fe538681..d4ad36e0c 100644 --- a/doc/pub/week44/html/._week44-bs005.html +++ b/doc/pub/week44/html/._week44-bs005.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -356,7 +339,7 @@ given some assumptions, make predictions about the target feature value
  • 14
  • 15
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs006.html b/doc/pub/week44/html/._week44-bs006.html index 112773922..cf8779366 100644 --- a/doc/pub/week44/html/._week44-bs006.html +++ b/doc/pub/week44/html/._week44-bs006.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -349,7 +332,7 @@ MathJax.Hub.Config({
  • 15
  • 16
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs007.html b/doc/pub/week44/html/._week44-bs007.html index 703ce2714..76b727c85 100644 --- a/doc/pub/week44/html/._week44-bs007.html +++ b/doc/pub/week44/html/._week44-bs007.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -349,7 +332,7 @@ MathJax.Hub.Config({
  • 16
  • 17
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs008.html b/doc/pub/week44/html/._week44-bs008.html index ca8d39f5e..e6b3d6750 100644 --- a/doc/pub/week44/html/._week44-bs008.html +++ b/doc/pub/week44/html/._week44-bs008.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -355,7 +338,7 @@ MathJax.Hub.Config({
  • 17
  • 18
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs009.html b/doc/pub/week44/html/._week44-bs009.html index f609dff37..77fbd6ce9 100644 --- a/doc/pub/week44/html/._week44-bs009.html +++ b/doc/pub/week44/html/._week44-bs009.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -360,7 +343,7 @@ node.
  • 18
  • 19
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs010.html b/doc/pub/week44/html/._week44-bs010.html index f9f727bf2..bbfacdf4a 100644 --- a/doc/pub/week44/html/._week44-bs010.html +++ b/doc/pub/week44/html/._week44-bs010.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -361,7 +344,7 @@ predicting the target features of query instances is as follows:
  • 19
  • 20
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs011.html b/doc/pub/week44/html/._week44-bs011.html index 5c2838305..7cfb3db64 100644 --- a/doc/pub/week44/html/._week44-bs011.html +++ b/doc/pub/week44/html/._week44-bs011.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -459,7 +442,7 @@ plt.show()
  • 20
  • 21
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs012.html b/doc/pub/week44/html/._week44-bs012.html index eb3a5c1ca..dadc9f73d 100644 --- a/doc/pub/week44/html/._week44-bs012.html +++ b/doc/pub/week44/html/._week44-bs012.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -370,7 +353,7 @@ within box \( j \).
  • 21
  • 22
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs013.html b/doc/pub/week44/html/._week44-bs013.html index aabdd563e..be779f14d 100644 --- a/doc/pub/week44/html/._week44-bs013.html +++ b/doc/pub/week44/html/._week44-bs013.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -363,7 +346,7 @@ better tree in some future step.
  • 22
  • 23
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs014.html b/doc/pub/week44/html/._week44-bs014.html index 8939866e0..09cec7341 100644 --- a/doc/pub/week44/html/._week44-bs014.html +++ b/doc/pub/week44/html/._week44-bs014.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -395,7 +378,7 @@ region contains more than five observations.
  • 23
  • 24
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs015.html b/doc/pub/week44/html/._week44-bs015.html index bb9627d63..a8ebc13cb 100644 --- a/doc/pub/week44/html/._week44-bs015.html +++ b/doc/pub/week44/html/._week44-bs015.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -365,7 +348,7 @@ parameter \( \alpha \).
  • 24
  • 25
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs016.html b/doc/pub/week44/html/._week44-bs016.html index f225cfcb8..7559c19df 100644 --- a/doc/pub/week44/html/._week44-bs016.html +++ b/doc/pub/week44/html/._week44-bs016.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -377,7 +360,7 @@ subtree corresponding to \( \alpha \).
  • 25
  • 26
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs017.html b/doc/pub/week44/html/._week44-bs017.html index e3ba0e7a5..62f7f9bb9 100644 --- a/doc/pub/week44/html/._week44-bs017.html +++ b/doc/pub/week44/html/._week44-bs017.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -368,7 +351,7 @@ MathJax.Hub.Config({
  • 26
  • 27
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs018.html b/doc/pub/week44/html/._week44-bs018.html index 6902cb2e7..c72401ef4 100644 --- a/doc/pub/week44/html/._week44-bs018.html +++ b/doc/pub/week44/html/._week44-bs018.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -363,7 +346,7 @@ fall into that region.
  • 27
  • 28
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs019.html b/doc/pub/week44/html/._week44-bs019.html index 36411ae98..101df1a26 100644 --- a/doc/pub/week44/html/._week44-bs019.html +++ b/doc/pub/week44/html/._week44-bs019.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -368,7 +351,7 @@ than is the classification error rate.
  • 28
  • 29
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs020.html b/doc/pub/week44/html/._week44-bs020.html index dbb37a450..39dbdd403 100644 --- a/doc/pub/week44/html/._week44-bs020.html +++ b/doc/pub/week44/html/._week44-bs020.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -390,7 +373,7 @@ $$
  • 29
  • 30
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs021.html b/doc/pub/week44/html/._week44-bs021.html index fed5ab44c..85862f1b1 100644 --- a/doc/pub/week44/html/._week44-bs021.html +++ b/doc/pub/week44/html/._week44-bs021.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -404,7 +387,7 @@ os.system(cmd)
  • 30
  • 31
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs022.html b/doc/pub/week44/html/._week44-bs022.html index 0dc1fddaa..fa4c302b5 100644 --- a/doc/pub/week44/html/._week44-bs022.html +++ b/doc/pub/week44/html/._week44-bs022.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -395,7 +378,7 @@ os.system(cmd)
  • 31
  • 32
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs023.html b/doc/pub/week44/html/._week44-bs023.html index 017563060..210a473cc 100644 --- a/doc/pub/week44/html/._week44-bs023.html +++ b/doc/pub/week44/html/._week44-bs023.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -381,7 +364,7 @@ tree.plot_tree(tree_clf)
  • 32
  • 33
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs024.html b/doc/pub/week44/html/._week44-bs024.html index 4cdc7278f..29ec88d8e 100644 --- a/doc/pub/week44/html/._week44-bs024.html +++ b/doc/pub/week44/html/._week44-bs024.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -384,7 +367,7 @@ r = export_text(decision_tree, feature_names
  • 33
  • 34
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs025.html b/doc/pub/week44/html/._week44-bs025.html index 63a9ed9c7..ef5028144 100644 --- a/doc/pub/week44/html/._week44-bs025.html +++ b/doc/pub/week44/html/._week44-bs025.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -360,7 +343,7 @@ in two branches.
  • 34
  • 35
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs026.html b/doc/pub/week44/html/._week44-bs026.html index a31697b6c..bd47288bc 100644 --- a/doc/pub/week44/html/._week44-bs026.html +++ b/doc/pub/week44/html/._week44-bs026.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -372,7 +355,7 @@ hyperparameters control additional stopping conditions such as the \( min\_sampl
  • 35
  • 36
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs027.html b/doc/pub/week44/html/._week44-bs027.html index 8f71607cf..0f0c80e95 100644 --- a/doc/pub/week44/html/._week44-bs027.html +++ b/doc/pub/week44/html/._week44-bs027.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -372,7 +355,7 @@ just like for classification tasks, is prone to overfitting.
  • 36
  • 37
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs028.html b/doc/pub/week44/html/._week44-bs028.html index b02c9a173..eb477c5ad 100644 --- a/doc/pub/week44/html/._week44-bs028.html +++ b/doc/pub/week44/html/._week44-bs028.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -355,7 +338,7 @@ achieved by a series of binary split and this is normally preferred.
  • 37
  • 38
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs029.html b/doc/pub/week44/html/._week44-bs029.html index 11a6339c2..23ad1a72b 100644 --- a/doc/pub/week44/html/._week44-bs029.html +++ b/doc/pub/week44/html/._week44-bs029.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -364,7 +347,7 @@ recently has gotten grades below average or above.
  • 38
  • 39
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs030.html b/doc/pub/week44/html/._week44-bs030.html index 3c49e8595..1961ab5ab 100644 --- a/doc/pub/week44/html/._week44-bs030.html +++ b/doc/pub/week44/html/._week44-bs030.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -371,7 +354,7 @@ MathJax.Hub.Config({
  • 39
  • 40
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs031.html b/doc/pub/week44/html/._week44-bs031.html index fd11620f2..ed37b9b1d 100644 --- a/doc/pub/week44/html/._week44-bs031.html +++ b/doc/pub/week44/html/._week44-bs031.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -361,7 +344,7 @@ these binary classes, they can easily be split into ones and zeros.
  • 40
  • 41
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs032.html b/doc/pub/week44/html/._week44-bs032.html index eb57c5458..ea026f262 100644 --- a/doc/pub/week44/html/._week44-bs032.html +++ b/doc/pub/week44/html/._week44-bs032.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -357,7 +340,7 @@ MathJax.Hub.Config({
  • 41
  • 42
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs033.html b/doc/pub/week44/html/._week44-bs033.html index 5805bb00c..4200e2683 100644 --- a/doc/pub/week44/html/._week44-bs033.html +++ b/doc/pub/week44/html/._week44-bs033.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -359,7 +342,7 @@ MathJax.Hub.Config({
  • 42
  • 43
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs034.html b/doc/pub/week44/html/._week44-bs034.html index 5dfb7617e..bd8cd704b 100644 --- a/doc/pub/week44/html/._week44-bs034.html +++ b/doc/pub/week44/html/._week44-bs034.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -439,7 +422,7 @@ os.system(cmd)
  • 43
  • 44
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs035.html b/doc/pub/week44/html/._week44-bs035.html index d9b335dc3..76fb08fec 100644 --- a/doc/pub/week44/html/._week44-bs035.html +++ b/doc/pub/week44/html/._week44-bs035.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -388,7 +371,7 @@ humidity and weak and strong for wind.
  • 44
  • 45
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs036.html b/doc/pub/week44/html/._week44-bs036.html index 66c5bc1d0..740385067 100644 --- a/doc/pub/week44/html/._week44-bs036.html +++ b/doc/pub/week44/html/._week44-bs036.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -439,7 +422,7 @@ os.system(cmd)
  • 45
  • 46
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs037.html b/doc/pub/week44/html/._week44-bs037.html index bbc473dd8..ccb44cc35 100644 --- a/doc/pub/week44/html/._week44-bs037.html +++ b/doc/pub/week44/html/._week44-bs037.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -440,7 +423,7 @@ split = get_split(dataset)
  • 46
  • 47
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs038.html b/doc/pub/week44/html/._week44-bs038.html index 9e2985237..f89d772cb 100644 --- a/doc/pub/week44/html/._week44-bs038.html +++ b/doc/pub/week44/html/._week44-bs038.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,7 +305,7 @@ MathJax.Hub.Config({

     

     

     

    -

    Another example, the moons again

    +

    Another example, the moons

    @@ -435,7 +418,7 @@ plt.show()
  • 47
  • 48
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs039.html b/doc/pub/week44/html/._week44-bs039.html index 05d91922c..864ed77e2 100644 --- a/doc/pub/week44/html/._week44-bs039.html +++ b/doc/pub/week44/html/._week44-bs039.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -391,7 +374,7 @@ plt.show()
  • 48
  • 49
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs040.html b/doc/pub/week44/html/._week44-bs040.html index 438069235..377ba341d 100644 --- a/doc/pub/week44/html/._week44-bs040.html +++ b/doc/pub/week44/html/._week44-bs040.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -400,7 +383,7 @@ tree_reg.fit(X, y)
  • 49
  • 50
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs041.html b/doc/pub/week44/html/._week44-bs041.html index a2a9621db..edb2e465d 100644 --- a/doc/pub/week44/html/._week44-bs041.html +++ b/doc/pub/week44/html/._week44-bs041.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -456,7 +439,7 @@ plt.show()
  • 50
  • 51
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs042.html b/doc/pub/week44/html/._week44-bs042.html index 09540c31e..5fea18cbb 100644 --- a/doc/pub/week44/html/._week44-bs042.html +++ b/doc/pub/week44/html/._week44-bs042.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -358,7 +341,7 @@ MathJax.Hub.Config({
  • 51
  • 52
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs043.html b/doc/pub/week44/html/._week44-bs043.html index a6049a48e..6411991f9 100644 --- a/doc/pub/week44/html/._week44-bs043.html +++ b/doc/pub/week44/html/._week44-bs043.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -363,7 +346,7 @@ trees can be substantially improved.
  • 52
  • 53
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs044.html b/doc/pub/week44/html/._week44-bs044.html index 9468b22c1..a2931b9cd 100644 --- a/doc/pub/week44/html/._week44-bs044.html +++ b/doc/pub/week44/html/._week44-bs044.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -370,7 +353,7 @@ try to explain here. These are
  • 53
  • 54
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs045.html b/doc/pub/week44/html/._week44-bs045.html index a4ca9f438..45d91dfb0 100644 --- a/doc/pub/week44/html/._week44-bs045.html +++ b/doc/pub/week44/html/._week44-bs045.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -355,7 +338,7 @@ MathJax.Hub.Config({
  • 54
  • 55
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs046.html b/doc/pub/week44/html/._week44-bs046.html index bb1b2c84d..48c3c978a 100644 --- a/doc/pub/week44/html/._week44-bs046.html +++ b/doc/pub/week44/html/._week44-bs046.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,22 +305,25 @@ MathJax.Hub.Config({

     

     

     

    -

    Bagging

    +

    Why Voting?

    -

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

    The idea behind boosting, and voting as well can be phrased as follows: +Can a group of people somehow arrive at highly +reasoned decisions, despite the weak judgement of the individual +members?

    -

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

    The aim is to create a good classifier by combining several weak classifiers. +A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random.

    +

    The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. +In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in +each iteration. +

    + +

    Decision trees play an important role as our weak classifier. They serve as the basic method.

    +

    diff --git a/doc/pub/week44/html/._week44-bs047.html b/doc/pub/week44/html/._week44-bs047.html index 1037eafcb..0bcd1ac63 100644 --- a/doc/pub/week44/html/._week44-bs047.html +++ b/doc/pub/week44/html/._week44-bs047.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,30 +305,31 @@ MathJax.Hub.Config({

     

     

     

    -

    More bagging

    +

    Tossing coins

    -

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

    The simplest case is a so-called voting ensemble. To illustrate this, +think of yourself tossing coins with a biased outcome of 51 per cent +for heads and 49% for tails. With only few tosses, +you may not clearly see this distribution for heads and tails. However, after some +thousands of tosses, there will be a clear majority of heads. With 2000 tosses +you should see approximately 1020 heads and 980 tails.

    -

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

    We can then state that the outcome is a clear majority of heads. If +you do this ten thousand times, it is easy to see that there is a 97% +likelihood of a majority of heads. +

    + +

    Another example would be to collect all polls before an +election. Different polls may show different likelihoods for a +candidate winning with say a majority of the popular vote. The majority vote +would then consist in many polls indicating that this candidate will +actually win. +

    + +

    The example here shows how we can implement the coin tossing case, +clealry demostrating that after some tosses we see the law of large +numbers kicking in.

    @@ -373,7 +357,7 @@ predictor, averaged over all \( B \) trees.

  • 56
  • 57
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs048.html b/doc/pub/week44/html/._week44-bs048.html index bdd8c2ad8..ff0369469 100644 --- a/doc/pub/week44/html/._week44-bs048.html +++ b/doc/pub/week44/html/._week44-bs048.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,7 +305,8 @@ MathJax.Hub.Config({

     

     

     

    -

    Simple Voting Example, head or tail

    +

    Standard imports first

    +
    @@ -330,19 +314,43 @@ MathJax.Hub.Config({
    -
    heads_proba = 0.51
    -coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32)
    -cumulative_heads_ratio = np.cumsum(coin_tosses, axis=0) / np.arange(1, 10001).reshape(-1, 1)
    -plt.figure(figsize=(8,3.5))
    -plt.plot(cumulative_heads_ratio)
    -plt.plot([0, 10000], [0.51, 0.51], "k--", linewidth=2, label="51%")
    -plt.plot([0, 10000], [0.5, 0.5], "k-", label="50%")
    -plt.xlabel("Number of coin tosses")
    -plt.ylabel("Heads ratio")
    -plt.legend(loc="lower right")
    -plt.axis([0, 10000, 0.42, 0.58])
    -save_fig("votingsimple")
    -plt.show()
    +  
    # Common imports
    +from IPython.display import Image 
    +from pydot import graph_from_dot_data
    +import pandas as pd
    +import numpy as np
    +import matplotlib.pyplot as plt
    +from sklearn.tree import DecisionTreeClassifier
    +from sklearn.model_selection import train_test_split
    +from sklearn.tree import export_graphviz
    +from sklearn.preprocessing import StandardScaler, OneHotEncoder
    +from sklearn.compose import ColumnTransformer
    +from IPython.display import Image 
    +from pydot import graph_from_dot_data
    +import os
    +
    +# Where to save the figures and data files
    +PROJECT_ROOT_DIR = "Results"
    +FIGURE_ID = "Results/FigureFiles"
    +DATA_ID = "DataFiles/"
    +
    +if not os.path.exists(PROJECT_ROOT_DIR):
    +    os.mkdir(PROJECT_ROOT_DIR)
    +
    +if not os.path.exists(FIGURE_ID):
    +    os.makedirs(FIGURE_ID)
    +
    +if not os.path.exists(DATA_ID):
    +    os.makedirs(DATA_ID)
    +
    +def image_path(fig_id):
    +    return os.path.join(FIGURE_ID, fig_id)
    +
    +def data_path(dat_id):
    +    return os.path.join(DATA_ID, dat_id)
    +
    +def save_fig(fig_id):
    +    plt.savefig(image_path(fig_id) + ".png", format='png')
     
    @@ -384,7 +392,7 @@ plt.show()
  • 57
  • 58
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs049.html b/doc/pub/week44/html/._week44-bs049.html index 326548bba..0cd4c5906 100644 --- a/doc/pub/week44/html/._week44-bs049.html +++ b/doc/pub/week44/html/._week44-bs049.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,7 +305,7 @@ MathJax.Hub.Config({

     

     

     

    -

    Using the Voting Classifier

    +

    Simple Voting Example, head or tail

    @@ -330,49 +313,28 @@ MathJax.Hub.Config({
    -
    from sklearn.model_selection import train_test_split
    -from sklearn.datasets import make_moons
    +  
    # Common imports
    +import numpy as np
    +import matplotlib
    +import matplotlib.pyplot as plt
    +from matplotlib.colors import ListedColormap
    +plt.rcParams['axes.labelsize'] = 14
    +plt.rcParams['xtick.labelsize'] = 12
    +plt.rcParams['ytick.labelsize'] = 12
     
    -X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    -
    -from sklearn.ensemble import RandomForestClassifier
    -from sklearn.ensemble import VotingClassifier
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.svm import SVC
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='hard')
    -
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", probability=True, random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='soft')
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    +heads_proba = 0.51
    +coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32)
    +cumulative_heads_ratio = np.cumsum(coin_tosses, axis=0) / np.arange(1, 10001).reshape(-1, 1)
    +plt.figure(figsize=(8,3.5))
    +plt.plot(cumulative_heads_ratio)
    +plt.plot([0, 10000], [0.51, 0.51], "k--", linewidth=2, label="51%")
    +plt.plot([0, 10000], [0.5, 0.5], "k-", label="50%")
    +plt.xlabel("Number of coin tosses")
    +plt.ylabel("Heads ratio")
    +plt.legend(loc="lower right")
    +plt.axis([0, 10000, 0.42, 0.58])
    +save_fig("votingsimple")
    +plt.show()
     
    @@ -413,8 +375,6 @@ voting_clf.fit(X_train, y_train)
  • 57
  • 58
  • 59
  • -
  • ...
  • -
  • 63
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs050.html b/doc/pub/week44/html/._week44-bs050.html index ab4a6a7ef..8d79ac3fc 100644 --- a/doc/pub/week44/html/._week44-bs050.html +++ b/doc/pub/week44/html/._week44-bs050.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,8 +305,9 @@ MathJax.Hub.Config({

     

     

     

    -

    Please, not the moons again! Voting and Bagging

    +

    Using the Voting Classifier

    +

    We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn.

    @@ -336,91 +320,38 @@ MathJax.Hub.Config({ X, y = make_moons(n_samples=500, noise=0.30, random_state=42) X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42) + from sklearn.ensemble import RandomForestClassifier from sklearn.ensemble import VotingClassifier from sklearn.linear_model import LogisticRegression from sklearn.svm import SVC -log_clf = LogisticRegression(random_state=42) -rnd_clf = RandomForestClassifier(random_state=42) -svm_clf = SVC(random_state=42) +log_clf = LogisticRegression(solver="liblinear", random_state=42) +rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42) +svm_clf = SVC(gamma="auto", random_state=42) voting_clf = VotingClassifier( estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)], voting='hard') + voting_clf.fit(X_train, y_train) - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    +
    +from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    log_clf = LogisticRegression(random_state=42)
    -rnd_clf = RandomForestClassifier(random_state=42)
    -svm_clf = SVC(probability=True, random_state=42)
     
    +log_clf = LogisticRegression(solver="liblinear", random_state=42)
    +rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    +svm_clf = SVC(gamma="auto", probability=True, random_state=42)
     voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='soft')
     voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    +
    +from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
    @@ -465,9 +396,6 @@ voting_clf.fit(X_train, y_train)
       
  • 57
  • 58
  • 59
  • -
  • 60
  • -
  • ...
  • -
  • 63
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs051.html b/doc/pub/week44/html/._week44-bs051.html index 605d3a960..ed0e6fa22 100644 --- a/doc/pub/week44/html/._week44-bs051.html +++ b/doc/pub/week44/html/._week44-bs051.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,7 +305,7 @@ MathJax.Hub.Config({

     

     

     

    -

    Bagging Examples

    +

    Voting and Bagging

    @@ -331,14 +314,24 @@ MathJax.Hub.Config({
    -
    from sklearn.ensemble import BaggingClassifier
    -from sklearn.tree import DecisionTreeClassifier
    +  
    from sklearn.model_selection import train_test_split
    +from sklearn.datasets import make_moons
     
    -bag_clf = BaggingClassifier(
    -    DecisionTreeClassifier(random_state=42), n_estimators=500,
    -    max_samples=100, bootstrap=True, n_jobs=-1, random_state=42)
    -bag_clf.fit(X_train, y_train)
    -y_pred = bag_clf.predict(X_test)
    +X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    +X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    +from sklearn.ensemble import RandomForestClassifier
    +from sklearn.ensemble import VotingClassifier
    +from sklearn.linear_model import LogisticRegression
    +from sklearn.svm import SVC
    +
    +log_clf = LogisticRegression(random_state=42)
    +rnd_clf = RandomForestClassifier(random_state=42)
    +svm_clf = SVC(random_state=42)
    +
    +voting_clf = VotingClassifier(
    +    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    +    voting='hard')
    +voting_clf.fit(X_train, y_train)
     
    @@ -359,76 +352,63 @@ y_pred = bag_clf
    from sklearn.metrics import accuracy_score
    -print(accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    tree_clf = DecisionTreeClassifier(random_state=42)
    -tree_clf.fit(X_train, y_train)
    -y_pred_tree = tree_clf.predict(X_test)
    -print(accuracy_score(y_test, y_pred_tree))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from matplotlib.colors import ListedColormap
     
    -def plot_decision_boundary(clf, X, y, axes=[-1.5, 2.5, -1, 1.5], alpha=0.5, contour=True):
    -    x1s = np.linspace(axes[0], axes[1], 100)
    -    x2s = np.linspace(axes[2], axes[3], 100)
    -    x1, x2 = np.meshgrid(x1s, x2s)
    -    X_new = np.c_[x1.ravel(), x2.ravel()]
    -    y_pred = clf.predict(X_new).reshape(x1.shape)
    -    custom_cmap = ListedColormap(['#fafab0','#9898ff','#a0faa0'])
    -    plt.contourf(x1, x2, y_pred, alpha=0.3, cmap=custom_cmap)
    -    if contour:
    -        custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50'])
    -        plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8)
    -    plt.plot(X[:, 0][y==0], X[:, 1][y==0], "yo", alpha=alpha)
    -    plt.plot(X[:, 0][y==1], X[:, 1][y==1], "bs", alpha=alpha)
    -    plt.axis(axes)
    -    plt.xlabel(r"$x_1$", fontsize=18)
    -    plt.ylabel(r"$x_2$", fontsize=18, rotation=0)
    -plt.figure(figsize=(11,4))
    -plt.subplot(121)
    -plot_decision_boundary(tree_clf, X, y)
    -plt.title("Decision Tree", fontsize=14)
    -plt.subplot(122)
    -plot_decision_boundary(bag_clf, X, y)
    -plt.title("Decision Trees with Bagging", fontsize=14)
    -save_fig("baggingtree")
    -plt.show()
    +for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    +    clf.fit(X_train, y_train)
    +    y_pred = clf.predict(X_test)
    +    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    log_clf = LogisticRegression(random_state=42)
    +rnd_clf = RandomForestClassifier(random_state=42)
    +svm_clf = SVC(probability=True, random_state=42)
    +
    +voting_clf = VotingClassifier(
    +    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    +    voting='soft')
    +voting_clf.fit(X_train, y_train)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    from sklearn.metrics import accuracy_score
    +
    +for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    +    clf.fit(X_train, y_train)
    +    y_pred = clf.predict(X_test)
    +    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
     
    @@ -467,10 +447,6 @@ plt.show()
  • 57
  • 58
  • 59
  • -
  • 60
  • -
  • 61
  • -
  • ...
  • -
  • 63
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs052.html b/doc/pub/week44/html/._week44-bs052.html index 2f1904656..b2e4cafcf 100644 --- a/doc/pub/week44/html/._week44-bs052.html +++ b/doc/pub/week44/html/._week44-bs052.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,90 +305,21 @@ MathJax.Hub.Config({

     

     

     

    -

    Making your own Bootstrap: Changing the Level of the Decision Tree

    +

    Bagging

    -

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with -a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). +

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

    - -
    -
    -
    -
    -
    -
    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)
    -
    -# we produce a simple tree first as benchmark
    -simpletree = DecisionTreeRegressor(max_depth=3) 
    -simpletree.fit(X_train_scaled, y_train)
    -simpleprediction = simpletree.predict(X_test_scaled)
    -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]))
    - 
    -mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2)
    -print(mse_simpletree)
    -plt.xlim(1,maxdepth)
    -plt.plot(polydegree, error, label='MSE')
    -plt.plot(polydegree, bias, label='bias')
    -plt.plot(polydegree, variance, label='Variance')
    -plt.legend()
    -save_fig("baggingboot")
    -plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - +

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

    @@ -428,11 +342,6 @@ plt.show()

  • 57
  • 58
  • 59
  • -
  • 60
  • -
  • 61
  • -
  • 62
  • -
  • ...
  • -
  • 63
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs053.html b/doc/pub/week44/html/._week44-bs053.html index 0be974ee1..c52d4c778 100644 --- a/doc/pub/week44/html/._week44-bs053.html +++ b/doc/pub/week44/html/._week44-bs053.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,25 +305,32 @@ MathJax.Hub.Config({

     

     

     

    -

    Why Voting?

    +

    More bagging

    -

    The idea behind boosting, and voting as well can be phrased as follows: -Can a group of people somehow arrive at highly -reasoned decisions, despite the weak judgement of the individual -members? +

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

    -

    The aim is to create a good classifier by combining several weak classifiers. -A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random. +

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

    -

    The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. -In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in -each iteration. -

    - -

    Decision trees play an important role as our weak classifier. They serve as the basic method.

    -

    diff --git a/doc/pub/week44/html/._week44-bs054.html b/doc/pub/week44/html/._week44-bs054.html index 32b0cbca1..d0f433fb8 100644 --- a/doc/pub/week44/html/._week44-bs054.html +++ b/doc/pub/week44/html/._week44-bs054.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,32 +305,90 @@ MathJax.Hub.Config({

     

     

     

    -

    Tossing coins

    +

    Making your own Bootstrap: Changing the Level of the Decision Tree

    -

    The simplest case is a so-called voting ensemble. To illustrate this, -think of yourself tossing coins with a biased outcome of 51 per cent -for heads and 49% for tails. With only few tosses, -you may not clearly see this distribution for heads and tails. However, after some -thousands of tosses, there will be a clear majority of heads. With 2000 tosses -you should see approximately 1020 heads and 980 tails. +

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)).

    -

    We can then state that the outcome is a clear majority of heads. If -you do this ten thousand times, it is easy to see that there is a 97% -likelihood of a majority of heads. -

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

    Another example would be to collect all polls before an -election. Different polls may show different likelihoods for a -candidate winning with say a majority of the popular vote. The majority vote -would then consist in many polls indicating that this candidate will -actually win. -

    +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) + +# we produce a simple tree first as benchmark +simpletree = DecisionTreeRegressor(max_depth=3) +simpletree.fit(X_train_scaled, y_train) +simpleprediction = simpletree.predict(X_test_scaled) +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])) + +mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2) +print(mse_simpletree) +plt.xlim(1,maxdepth) +plt.plot(polydegree, error, label='MSE') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +save_fig("baggingboot") +plt.show() +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -

    The example here shows how we can implement the coin tossing case, -clealry demostrating that after some tosses we see the law of large -numbers kicking in. -

    @@ -368,10 +409,6 @@ numbers kicking in.

  • 57
  • 58
  • 59
  • -
  • 60
  • -
  • 61
  • -
  • 62
  • -
  • 63
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs055.html b/doc/pub/week44/html/._week44-bs055.html index 99c47597c..43aff53b8 100644 --- a/doc/pub/week44/html/._week44-bs055.html +++ b/doc/pub/week44/html/._week44-bs055.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,67 +305,46 @@ MathJax.Hub.Config({

     

     

     

    -

    Standard imports first

    +

    Random forests

    +

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

    - -
    -
    -
    -
    -
    -
    # Common imports
    -from IPython.display import Image 
    -from pydot import graph_from_dot_data
    -import pandas as pd
    -import numpy as np
    -import matplotlib.pyplot as plt
    -from sklearn.tree import DecisionTreeClassifier
    -from sklearn.model_selection import train_test_split
    -from sklearn.tree import export_graphviz
    -from sklearn.preprocessing import StandardScaler, OneHotEncoder
    -from sklearn.compose import ColumnTransformer
    -from IPython.display import Image 
    -from pydot import graph_from_dot_data
    -import os
    +

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

    -# Where to save the figures and data files -PROJECT_ROOT_DIR = "Results" -FIGURE_ID = "Results/FigureFiles" -DATA_ID = "DataFiles/" +

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

    -if not os.path.exists(PROJECT_ROOT_DIR): - os.mkdir(PROJECT_ROOT_DIR) +$$ +m\approx \sqrt{p}. +$$ -if not os.path.exists(FIGURE_ID): - os.makedirs(FIGURE_ID) - -if not os.path.exists(DATA_ID): - os.makedirs(DATA_ID) - -def image_path(fig_id): - return os.path.join(FIGURE_ID, fig_id) - -def data_path(dat_id): - return os.path.join(DATA_ID, dat_id) - -def save_fig(fig_id): - plt.savefig(image_path(fig_id) + ".png", format='png') -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +

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

    +

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

    @@ -402,10 +364,6 @@ DATA_ID = "

  • 57
  • 58
  • 59
  • -
  • 60
  • -
  • 61
  • -
  • 62
  • -
  • 63
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs056.html b/doc/pub/week44/html/._week44-bs056.html index 82cf23993..cd6f9d103 100644 --- a/doc/pub/week44/html/._week44-bs056.html +++ b/doc/pub/week44/html/._week44-bs056.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,52 +305,23 @@ MathJax.Hub.Config({

     

     

     

    -

    Simple Voting Example, head or tail

    - - -
    -
    -
    -
    -
    -
    # Common imports
    -import numpy as np
    -import matplotlib
    -import matplotlib.pyplot as plt
    -from matplotlib.colors import ListedColormap
    -plt.rcParams['axes.labelsize'] = 14
    -plt.rcParams['xtick.labelsize'] = 12
    -plt.rcParams['ytick.labelsize'] = 12
    -
    -heads_proba = 0.51
    -coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32)
    -cumulative_heads_ratio = np.cumsum(coin_tosses, axis=0) / np.arange(1, 10001).reshape(-1, 1)
    -plt.figure(figsize=(8,3.5))
    -plt.plot(cumulative_heads_ratio)
    -plt.plot([0, 10000], [0.51, 0.51], "k--", linewidth=2, label="51%")
    -plt.plot([0, 10000], [0.5, 0.5], "k-", label="50%")
    -plt.xlabel("Number of coin tosses")
    -plt.ylabel("Heads ratio")
    -plt.legend(loc="lower right")
    -plt.axis([0, 10000, 0.42, 0.58])
    -save_fig("votingsimple")
    -plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - +

    Random Forest Algorithm

    +

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

    +

    We will grow of forest of say \( B \) trees.

    +
      +
    1. For \( b=1:B \)
    2. +
        +
      • Draw a bootstrap sample from the training data organized in our \( \boldsymbol{X} \) matrix.
      • +
      • We grow then a random forest tree \( T_b \) based on the bootstrapped data by repeating the steps outlined till we reach the maximum node size is reached
      • +
          +
        1. we select \( m \le p \) variables at random from the \( p \) predictors/features
        2. +
        3. pick the best split point among the \( m \) features using for example the CART algorithm and create a new node
        4. +
        5. split the node into daughter nodes
        6. +
        +
      +
    3. Output then the ensemble of trees \( \{T_b\}_1^{B} \) and make predictions for either a regression type of problem or a classification type of problem.
    4. +

    diff --git a/doc/pub/week44/html/._week44-bs057.html b/doc/pub/week44/html/._week44-bs057.html index e225a08be..acc2c0c56 100644 --- a/doc/pub/week44/html/._week44-bs057.html +++ b/doc/pub/week44/html/._week44-bs057.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,9 +305,7 @@ MathJax.Hub.Config({

     

     

     

    -

    Using the Voting Classifier

    - -

    We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn.

    +

    Random Forests Compared with other Methods on the Cancer Data

    @@ -332,48 +313,67 @@ MathJax.Hub.Config({
    -
    from sklearn.model_selection import train_test_split
    -from sklearn.datasets import make_moons
    +  
    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
    +from sklearn.ensemble import BaggingClassifier
    +
    +# 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)
    +#define methods
    +# Logistic Regression
    +logreg = LogisticRegression(solver='lbfgs')
    +# Support vector machine
    +svm = SVC(gamma='auto', C=100)
    +# Decision Trees
    +deep_tree_clf = DecisionTreeClassifier(max_depth=None)
    +#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)))
     
    -X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
     
     from sklearn.ensemble import RandomForestClassifier
    -from sklearn.ensemble import VotingClassifier
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.svm import SVC
    +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)))
     
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", random_state=42)
     
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='hard')
    -
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", probability=True, random_state=42)
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='soft')
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    +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()
     
    @@ -389,6 +389,15 @@ voting_clf.fit(X_train, y_train)
    +

    Recall that the cumulative gains curve shows the percentage of the +overall number of cases in a given category gained by targeting a +percentage of the total number of cases. +

    + +

    Similarly, the receiver operating characteristic curve, or ROC curve, +displays the diagnostic ability of a binary classifier system as its +discrimination threshold is varied. It plots the true positive rate against the false positive rate. +

    @@ -406,10 +415,6 @@ voting_clf.fit(X_train, y_train)

  • 57
  • 58
  • 59
  • -
  • 60
  • -
  • 61
  • -
  • 62
  • -
  • 63
  • »
  • diff --git a/doc/pub/week44/html/._week44-bs058.html b/doc/pub/week44/html/._week44-bs058.html index 6e13b7819..f8c397c4d 100644 --- a/doc/pub/week44/html/._week44-bs058.html +++ b/doc/pub/week44/html/._week44-bs058.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -322,8 +305,7 @@ MathJax.Hub.Config({

     

     

     

    -

    Voting and Bagging

    - +

    Compare Bagging on Trees with Random Forests

    @@ -331,101 +313,35 @@ MathJax.Hub.Config({
    -
    from sklearn.model_selection import train_test_split
    -from sklearn.datasets import make_moons
    -
    -X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    +  
    bag_clf = BaggingClassifier(
    +    DecisionTreeClassifier(splitter="random", max_leaf_nodes=16, random_state=42),
    +    n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    bag_clf.fit(X_train, y_train)
    +y_pred = bag_clf.predict(X_test)
     from sklearn.ensemble import RandomForestClassifier
    -from sklearn.ensemble import VotingClassifier
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.svm import SVC
    -
    -log_clf = LogisticRegression(random_state=42)
    -rnd_clf = RandomForestClassifier(random_state=42)
    -svm_clf = SVC(random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='hard')
    -voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    log_clf = LogisticRegression(random_state=42)
    -rnd_clf = RandomForestClassifier(random_state=42)
    -svm_clf = SVC(probability=True, random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='soft')
    -voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    +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) 
     
    @@ -457,11 +373,6 @@ voting_clf.fit(X_train, y_train)
  • 57
  • 58
  • 59
  • -
  • 60
  • -
  • 61
  • -
  • 62
  • -
  • 63
  • -
  • »
  • diff --git a/doc/pub/week44/html/week44-bs.html b/doc/pub/week44/html/week44-bs.html index 92c1fb661..3e5f1d17a 100644 --- a/doc/pub/week44/html/week44-bs.html +++ b/doc/pub/week44/html/week44-bs.html @@ -149,10 +149,10 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -173,26 +173,6 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -205,6 +185,13 @@ doconce format html week44.do.txt --html_style=bootstrap --pygments_html_style=d None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -286,7 +273,7 @@ MathJax.Hub.Config({
  • Further example: Computing the Gini index
  • Simple Python Code to read in Data and perform Classification
  • Computing the Gini Factor
  • -
  • Another example, the moons again
  • +
  • Another example, the moons
  • Playing around with regions
  • Regression trees
  • Final regressor code
  • @@ -294,23 +281,19 @@ MathJax.Hub.Config({
  • Disadvantages
  • Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods
  • An Overview of Ensemble Methods
  • -
  • Bagging
  • -
  • More bagging
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Please, not the moons again! Voting and Bagging
  • -
  • Bagging Examples
  • -
  • Making your own Bootstrap: Changing the Level of the Decision Tree
  • -
  • Why Voting?
  • -
  • Tossing coins
  • -
  • Standard imports first
  • -
  • Simple Voting Example, head or tail
  • -
  • Using the Voting Classifier
  • -
  • Voting and Bagging
  • -
  • Random forests
  • -
  • Random Forest Algorithm
  • -
  • Random Forests Compared with other Methods on the Cancer Data
  • -
  • Compare Bagging on Trees with Random Forests
  • +
  • Why Voting?
  • +
  • Tossing coins
  • +
  • Standard imports first
  • +
  • Simple Voting Example, head or tail
  • +
  • Using the Voting Classifier
  • +
  • Voting and Bagging
  • +
  • Bagging
  • +
  • More bagging
  • +
  • Making your own Bootstrap: 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
  • @@ -365,7 +348,7 @@ MathJax.Hub.Config({
  • 9
  • 10
  • ...
  • -
  • 63
  • +
  • 59
  • »
  • diff --git a/doc/pub/week44/html/week44-reveal.html b/doc/pub/week44/html/week44-reveal.html index 45e63c6ab..34ebdda45 100644 --- a/doc/pub/week44/html/week44-reveal.html +++ b/doc/pub/week44/html/week44-reveal.html @@ -1530,7 +1530,7 @@ split = get_split(dataset)
    -

    Another example, the moons again

    +

    Another example, the moons

    @@ -1896,489 +1896,6 @@ try to explain here. These are

    -
    -

    Bagging

    - -

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

    - -

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

    -
    - -
    -

    More bagging

    - -

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

    - -

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

    -
    - -
    -

    Simple Voting Example, head or tail

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

    Using the Voting Classifier

    - - -
    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    -from sklearn.datasets import make_moons
    -
    -X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    -
    -from sklearn.ensemble import RandomForestClassifier
    -from sklearn.ensemble import VotingClassifier
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.svm import SVC
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='hard')
    -
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", probability=True, random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='soft')
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    Please, not the moons again! Voting and Bagging

    - - - -
    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    -from sklearn.datasets import make_moons
    -
    -X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    -from sklearn.ensemble import RandomForestClassifier
    -from sklearn.ensemble import VotingClassifier
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.svm import SVC
    -
    -log_clf = LogisticRegression(random_state=42)
    -rnd_clf = RandomForestClassifier(random_state=42)
    -svm_clf = SVC(random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='hard')
    -voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    log_clf = LogisticRegression(random_state=42)
    -rnd_clf = RandomForestClassifier(random_state=42)
    -svm_clf = SVC(probability=True, random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='soft')
    -voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    Bagging Examples

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

    Making your own Bootstrap: Changing the Level of the Decision Tree

    - -

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with -a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). -

    - - -
    -
    -
    -
    -
    -
    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)
    -
    -# we produce a simple tree first as benchmark
    -simpletree = DecisionTreeRegressor(max_depth=3) 
    -simpletree.fit(X_train_scaled, y_train)
    -simpleprediction = simpletree.predict(X_test_scaled)
    -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]))
    - 
    -mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2)
    -print(mse_simpletree)
    -plt.xlim(1,maxdepth)
    -plt.plot(polydegree, error, label='MSE')
    -plt.plot(polydegree, bias, label='bias')
    -plt.plot(polydegree, variance, label='Variance')
    -plt.legend()
    -save_fig("baggingboot")
    -plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Why Voting?

    @@ -2729,6 +2246,138 @@ voting_clf.fit(X_train, y_train)
    +
    +

    Bagging

    + +

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

    + +

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

    +
    + +
    +

    More bagging

    + +

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

    + +

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

    +
    + +
    +

    Making your own Bootstrap: Changing the Level of the Decision Tree

    + +

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). +

    + + +
    +
    +
    +
    +
    +
    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)
    +
    +# we produce a simple tree first as benchmark
    +simpletree = DecisionTreeRegressor(max_depth=3) 
    +simpletree.fit(X_train_scaled, y_train)
    +simpleprediction = simpletree.predict(X_test_scaled)
    +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]))
    + 
    +mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2)
    +print(mse_simpletree)
    +plt.xlim(1,maxdepth)
    +plt.plot(polydegree, error, label='MSE')
    +plt.plot(polydegree, bias, label='bias')
    +plt.plot(polydegree, variance, label='Variance')
    +plt.legend()
    +save_fig("baggingboot")
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Random forests

    @@ -2825,19 +2474,14 @@ 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) +#define methods # 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 +#Scale the data from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train) diff --git a/doc/pub/week44/html/week44-solarized.html b/doc/pub/week44/html/week44-solarized.html index bcfd96b38..cfb9094ee 100644 --- a/doc/pub/week44/html/week44-solarized.html +++ b/doc/pub/week44/html/week44-solarized.html @@ -176,10 +176,10 @@ div.toc p,a { 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -200,26 +200,6 @@ div.toc p,a { 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -232,6 +212,13 @@ div.toc p,a { None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -1556,7 +1543,7 @@ split = get_split(dataset)









    -

    Another example, the moons again

    +

    Another example, the moons

    @@ -1915,487 +1902,6 @@ try to explain here. These are

    -









    -

    Bagging

    - -

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

    - -

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

    - -









    -

    More bagging

    - -

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

    - -

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

    - -









    -

    Simple Voting Example, head or tail

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









    -

    Using the Voting Classifier

    - - -
    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    -from sklearn.datasets import make_moons
    -
    -X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    -
    -from sklearn.ensemble import RandomForestClassifier
    -from sklearn.ensemble import VotingClassifier
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.svm import SVC
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='hard')
    -
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", probability=True, random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='soft')
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -









    -

    Please, not the moons again! Voting and Bagging

    - - - -
    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    -from sklearn.datasets import make_moons
    -
    -X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    -from sklearn.ensemble import RandomForestClassifier
    -from sklearn.ensemble import VotingClassifier
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.svm import SVC
    -
    -log_clf = LogisticRegression(random_state=42)
    -rnd_clf = RandomForestClassifier(random_state=42)
    -svm_clf = SVC(random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='hard')
    -voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    log_clf = LogisticRegression(random_state=42)
    -rnd_clf = RandomForestClassifier(random_state=42)
    -svm_clf = SVC(probability=True, random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='soft')
    -voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -









    -

    Bagging Examples

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









    -

    Making your own Bootstrap: Changing the Level of the Decision Tree

    - -

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with -a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). -

    - - -
    -
    -
    -
    -
    -
    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)
    -
    -# we produce a simple tree first as benchmark
    -simpletree = DecisionTreeRegressor(max_depth=3) 
    -simpletree.fit(X_train_scaled, y_train)
    -simpleprediction = simpletree.predict(X_test_scaled)
    -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]))
    - 
    -mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2)
    -print(mse_simpletree)
    -plt.xlim(1,maxdepth)
    -plt.plot(polydegree, error, label='MSE')
    -plt.plot(polydegree, bias, label='bias')
    -plt.plot(polydegree, variance, label='Variance')
    -plt.legend()
    -save_fig("baggingboot")
    -plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -









    Why Voting?

    @@ -2744,6 +2250,136 @@ voting_clf.fit(X_train, y_train)
    +









    +

    Bagging

    + +

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

    + +

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

    + +









    +

    More bagging

    + +

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

    + +

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

    + +









    +

    Making your own Bootstrap: Changing the Level of the Decision Tree

    + +

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). +

    + + +
    +
    +
    +
    +
    +
    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)
    +
    +# we produce a simple tree first as benchmark
    +simpletree = DecisionTreeRegressor(max_depth=3) 
    +simpletree.fit(X_train_scaled, y_train)
    +simpleprediction = simpletree.predict(X_test_scaled)
    +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]))
    + 
    +mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2)
    +print(mse_simpletree)
    +plt.xlim(1,maxdepth)
    +plt.plot(polydegree, error, label='MSE')
    +plt.plot(polydegree, bias, label='bias')
    +plt.plot(polydegree, variance, label='Variance')
    +plt.legend()
    +save_fig("baggingboot")
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +









    Random forests

    @@ -2828,19 +2464,14 @@ 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) +#define methods # 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 +#Scale the data from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train) diff --git a/doc/pub/week44/html/week44.html b/doc/pub/week44/html/week44.html index 3d7b78d9f..9b2b756de 100644 --- a/doc/pub/week44/html/week44.html +++ b/doc/pub/week44/html/week44.html @@ -253,10 +253,10 @@ div.toc p,a { 2, None, 'computing-the-gini-factor'), - ('Another example, the moons again', + ('Another example, the moons', 2, None, - 'another-example-the-moons-again'), + 'another-example-the-moons'), ('Playing around with regions', 2, None, @@ -277,26 +277,6 @@ div.toc p,a { 2, None, 'an-overview-of-ensemble-methods'), - ('Bagging', 2, None, 'bagging'), - ('More bagging', 2, None, 'more-bagging'), - ('Simple Voting Example, head or tail', - 2, - None, - 'simple-voting-example-head-or-tail'), - ('Using the Voting Classifier', - 2, - None, - 'using-the-voting-classifier'), - ('Please, not the moons again! Voting and Bagging', - 2, - None, - 'please-not-the-moons-again-voting-and-bagging'), - ('Bagging Examples', 2, None, 'bagging-examples'), - ('Making your own Bootstrap: Changing the Level of the Decision ' - 'Tree', - 2, - None, - 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Why Voting?', 2, None, 'why-voting'), ('Tossing coins', 2, None, 'tossing-coins'), ('Standard imports first', 2, None, 'standard-imports-first'), @@ -309,6 +289,13 @@ div.toc p,a { None, 'using-the-voting-classifier'), ('Voting and Bagging', 2, None, 'voting-and-bagging'), + ('Bagging', 2, None, 'bagging'), + ('More bagging', 2, None, 'more-bagging'), + ('Making your own Bootstrap: Changing the Level of the Decision ' + 'Tree', + 2, + None, + 'making-your-own-bootstrap-changing-the-level-of-the-decision-tree'), ('Random forests', 2, None, 'random-forests'), ('Random Forest Algorithm', 2, None, 'random-forest-algorithm'), ('Random Forests Compared with other Methods on the Cancer Data', @@ -1633,7 +1620,7 @@ split = get_split(dataset)









    -

    Another example, the moons again

    +

    Another example, the moons

    @@ -1992,487 +1979,6 @@ try to explain here. These are

    -









    -

    Bagging

    - -

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

    - -

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

    - -









    -

    More bagging

    - -

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

    - -

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

    - -









    -

    Simple Voting Example, head or tail

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









    -

    Using the Voting Classifier

    - - -
    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    -from sklearn.datasets import make_moons
    -
    -X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    -
    -from sklearn.ensemble import RandomForestClassifier
    -from sklearn.ensemble import VotingClassifier
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.svm import SVC
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='hard')
    -
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -log_clf = LogisticRegression(solver="liblinear", random_state=42)
    -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)
    -svm_clf = SVC(gamma="auto", probability=True, random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='soft')
    -voting_clf.fit(X_train, y_train)
    -
    -from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -









    -

    Please, not the moons again! Voting and Bagging

    - - - -
    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    -from sklearn.datasets import make_moons
    -
    -X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
    -from sklearn.ensemble import RandomForestClassifier
    -from sklearn.ensemble import VotingClassifier
    -from sklearn.linear_model import LogisticRegression
    -from sklearn.svm import SVC
    -
    -log_clf = LogisticRegression(random_state=42)
    -rnd_clf = RandomForestClassifier(random_state=42)
    -svm_clf = SVC(random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='hard')
    -voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    log_clf = LogisticRegression(random_state=42)
    -rnd_clf = RandomForestClassifier(random_state=42)
    -svm_clf = SVC(probability=True, random_state=42)
    -
    -voting_clf = VotingClassifier(
    -    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    -    voting='soft')
    -voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    -
    -for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    -    clf.fit(X_train, y_train)
    -    y_pred = clf.predict(X_test)
    -    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -









    -

    Bagging Examples

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









    -

    Making your own Bootstrap: Changing the Level of the Decision Tree

    - -

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with -a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). -

    - - -
    -
    -
    -
    -
    -
    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)
    -
    -# we produce a simple tree first as benchmark
    -simpletree = DecisionTreeRegressor(max_depth=3) 
    -simpletree.fit(X_train_scaled, y_train)
    -simpleprediction = simpletree.predict(X_test_scaled)
    -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]))
    - 
    -mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2)
    -print(mse_simpletree)
    -plt.xlim(1,maxdepth)
    -plt.plot(polydegree, error, label='MSE')
    -plt.plot(polydegree, bias, label='bias')
    -plt.plot(polydegree, variance, label='Variance')
    -plt.legend()
    -save_fig("baggingboot")
    -plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -









    Why Voting?

    @@ -2821,6 +2327,136 @@ voting_clf.fit(X_train, y_train)
    +









    +

    Bagging

    + +

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

    + +

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

    + +









    +

    More bagging

    + +

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

    + +

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

    + +









    +

    Making your own Bootstrap: Changing the Level of the Decision Tree

    + +

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). +

    + + +
    +
    +
    +
    +
    +
    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)
    +
    +# we produce a simple tree first as benchmark
    +simpletree = DecisionTreeRegressor(max_depth=3) 
    +simpletree.fit(X_train_scaled, y_train)
    +simpleprediction = simpletree.predict(X_test_scaled)
    +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]))
    + 
    +mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2)
    +print(mse_simpletree)
    +plt.xlim(1,maxdepth)
    +plt.plot(polydegree, error, label='MSE')
    +plt.plot(polydegree, bias, label='bias')
    +plt.plot(polydegree, variance, label='Variance')
    +plt.legend()
    +save_fig("baggingboot")
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +









    Random forests

    @@ -2905,19 +2541,14 @@ 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) +#define methods # 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 +#Scale the data from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train) diff --git a/doc/pub/week44/ipynb/Datafiles/cancer.dot b/doc/pub/week44/ipynb/Datafiles/cancer.dot index c000d8c4c..75af04abe 100644 --- a/doc/pub/week44/ipynb/Datafiles/cancer.dot +++ b/doc/pub/week44/ipynb/Datafiles/cancer.dot @@ -1,22 +1,22 @@ digraph Tree { -node [shape=box, style="filled, rounded", color="black", fontname=helvetica] ; -edge [fontname=helvetica] ; +node [shape=box, style="filled, rounded", color="black", fontname="helvetica"] ; +edge [fontname="helvetica"] ; 0 [label="worst perimeter <= 106.05\ngini = 0.465\nsamples = 426\nvalue = [[269, 157]\n[157, 269]]", fillcolor="#fefbf9"] ; 1 [label="worst concave points <= 0.159\ngini = 0.067\nsamples = 259\nvalue = [[250, 9]\n[9, 250]]", fillcolor="#e99355"] ; 0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; 2 [label="worst concave points <= 0.135\ngini = 0.031\nsamples = 253\nvalue = [[249, 4]\n[4, 249]]", fillcolor="#e78946"] ; 1 -> 2 ; -3 [label="radius error <= 0.643\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e5833c"] ; +3 [label="area error <= 48.975\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e5833c"] ; 2 -> 3 ; 4 [label="gini = 0.0\nsamples = 239\nvalue = [[239, 0]\n[0, 239]]", fillcolor="#e58139"] ; 3 -> 4 ; -5 [label="concavity error <= 0.017\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#fdf6f0"] ; +5 [label="perimeter error <= 4.249\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#fdf6f0"] ; 3 -> 5 ; 6 [label="gini = 0.0\nsamples = 1\nvalue = [[0, 1]\n[1, 0]]", fillcolor="#e58139"] ; 5 -> 6 ; 7 [label="gini = 0.0\nsamples = 2\nvalue = [[2, 0]\n[0, 2]]", fillcolor="#e58139"] ; 5 -> 7 ; -8 [label="worst texture <= 29.455\ngini = 0.397\nsamples = 11\nvalue = [[8, 3]\n[3, 8]]", fillcolor="#fae9dd"] ; +8 [label="mean texture <= 20.84\ngini = 0.397\nsamples = 11\nvalue = [[8, 3]\n[3, 8]]", fillcolor="#fae9dd"] ; 2 -> 8 ; 9 [label="gini = 0.0\nsamples = 8\nvalue = [[8, 0]\n[0, 8]]", fillcolor="#e58139"] ; 8 -> 9 ; @@ -48,10 +48,10 @@ edge [fontname=helvetica] ; 21 -> 22 ; 23 [label="gini = 0.0\nsamples = 6\nvalue = [[6, 0]\n[0, 6]]", fillcolor="#e58139"] ; 21 -> 23 ; -24 [label="fractal dimension error <= 0.013\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e6853f"] ; +24 [label="mean smoothness <= 0.079\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e6853f"] ; 20 -> 24 ; -25 [label="gini = 0.0\nsamples = 135\nvalue = [[0, 135]\n[135, 0]]", fillcolor="#e58139"] ; +25 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; 24 -> 25 ; -26 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; +26 [label="gini = 0.0\nsamples = 135\nvalue = [[0, 135]\n[135, 0]]", fillcolor="#e58139"] ; 24 -> 26 ; } \ No newline at end of file diff --git a/doc/pub/week44/ipynb/Datafiles/cancer.png b/doc/pub/week44/ipynb/Datafiles/cancer.png index 5f003c0bb8974f7fee8dfe5d0ae98efc774edd04..c0f1f754845a868fffe979bce3a36c4c0f835dad 100644 GIT binary patch literal 248607 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

    KMGjN3Dr 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

    bDK|WaQTB&Ff%7p+Lt?4 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

    u0JHT!;lFGX7!+*U1hO5)%!uie>9T~gJC#XI% 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
    KH8;qq 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 jld;sC3IkZVV1FfV!!SYsjJqhM^GPgV;{SL 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

    pMnXpm&un~^|-RaK+kR5TxvzF)^0xThui&E?2 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%0AyVlw4#S>-ASspec`1e4beY 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 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; diff --git a/doc/pub/week44/ipynb/Datafiles/ride.dot b/doc/pub/week44/ipynb/Datafiles/ride.dot index b9d720cda..4e3b65b18 100644 --- a/doc/pub/week44/ipynb/Datafiles/ride.dot +++ b/doc/pub/week44/ipynb/Datafiles/ride.dot @@ -1,6 +1,6 @@ digraph Tree { -node [shape=box, style="filled, rounded", color="black", fontname=helvetica] ; -edge [fontname=helvetica] ; +node [shape=box, style="filled, rounded", color="black", fontname="helvetica"] ; +edge [fontname="helvetica"] ; 0 [label="X[9] <= 0.5\ngini = 0.48\nsamples = 15\nvalue = [4, 10, 1]", fillcolor="#93f1ba"] ; 1 [label="X[1] <= 0.5\ngini = 0.408\nsamples = 14\nvalue = [4, 10, 0]", fillcolor="#88efb3"] ; 0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; diff --git a/doc/pub/week44/ipynb/Results/FigureFiles/baggingboot.png b/doc/pub/week44/ipynb/Results/FigureFiles/baggingboot.png index d1e3e934fe383affb94bb8fd336a8d6a60aca996..512a5a20f942b0c0eaab8176e1d633d11cf1dd3c 100644 GIT binary patch literal 29098 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 UB0X(|x``-VO?{05b?Y1d1q#ycrvLx| literal 16385 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 diff --git a/doc/pub/week44/ipynb/Results/FigureFiles/baggingtree.png b/doc/pub/week44/ipynb/Results/FigureFiles/baggingtree.png index 5c83b622656dae3bfcb9165fb020b44bcb3dd5bc..29aa92b464cd696753928f1e981b72233449900a 100644 GIT binary patch literal 88509 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 literal 50148 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

    qX8MA4sFs_bYQ^rCFTe_{E(S6FQ>RPC7(Z6nc3 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 diff --git a/doc/pub/week44/ipynb/Results/FigureFiles/votingsimple.png b/doc/pub/week44/ipynb/Results/FigureFiles/votingsimple.png index 7fa095803a8c6cc7f9423bccf1c750cc2a9a5b41..7ba47edbc6bad930be110840ff0f5816d25f9514 100644 GIT binary patch literal 56238 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 m~>TjwTWR0>*4um-zwX(@h}pWevCHr-um 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 diff --git a/doc/pub/week44/ipynb/ipynb-week44-src.tar.gz b/doc/pub/week44/ipynb/ipynb-week44-src.tar.gz index ede2ebeca5771642cdae39ba6c9fbbae778e7633..d1a5e31f590ff7d8a09583e3b109a1b7d30d8f1f 100644 GIT binary patch delta 29 kcmeDFE!h2AkWIdugF&aKk*$@Dv6YRfm5q5T8%t{~0FaspjsO4v delta 29 kcmeDFE!h2AkWIdugW*d;BU>vQV=Eg|D;x7xHkQ^}0GqxEDgXcg diff --git a/doc/pub/week44/ipynb/week44.ipynb b/doc/pub/week44/ipynb/week44.ipynb index 51a466001..23dd53ac1 100644 --- a/doc/pub/week44/ipynb/week44.ipynb +++ b/doc/pub/week44/ipynb/week44.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "5c948236", + "id": "4c7a5155", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "2e712ddb", + "id": "4ac9d0cb", "metadata": { "editable": true }, @@ -29,7 +29,7 @@ }, { "cell_type": "markdown", - "id": "ce77630c", + "id": "e0a4b5a7", "metadata": { "editable": true }, @@ -51,7 +51,7 @@ }, { "cell_type": "markdown", - "id": "fbc49098", + "id": "3d46e4eb", "metadata": { "editable": true }, @@ -69,7 +69,7 @@ }, { "cell_type": "markdown", - "id": "99be5592", + "id": "b7dc5b6f", "metadata": { "editable": true }, @@ -83,7 +83,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "321af0c0", + "id": "b2d6c39b", "metadata": { "collapsed": false, "editable": true @@ -199,7 +199,7 @@ }, { "cell_type": "markdown", - "id": "b8f4d755", + "id": "741b7207", "metadata": { "editable": true }, @@ -230,7 +230,7 @@ }, { "cell_type": "markdown", - "id": "0477ca95", + "id": "7c2e0aec", "metadata": { "editable": true }, @@ -250,7 +250,7 @@ }, { "cell_type": "markdown", - "id": "96526d34", + "id": "d6ebe102", "metadata": { "editable": true }, @@ -264,7 +264,7 @@ }, { "cell_type": "markdown", - "id": "f1d105d9", + "id": "d9789025", "metadata": { "editable": true }, @@ -277,7 +277,7 @@ }, { "cell_type": "markdown", - "id": "6def974b", + "id": "b21ba8d6", "metadata": { "editable": true }, @@ -295,7 +295,7 @@ }, { "cell_type": "markdown", - "id": "4cee402a", + "id": "84826586", "metadata": { "editable": true }, @@ -318,7 +318,7 @@ }, { "cell_type": "markdown", - "id": "b0ae8c62", + "id": "b7b60eb0", "metadata": { "editable": true }, @@ -341,7 +341,7 @@ }, { "cell_type": "markdown", - "id": "5cc2e727", + "id": "c2729e10", "metadata": { "editable": true }, @@ -352,7 +352,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "2fa9aac3", + "id": "7879427c", "metadata": { "collapsed": false, "editable": true @@ -451,7 +451,7 @@ }, { "cell_type": "markdown", - "id": "2bb0ea43", + "id": "64a60119", "metadata": { "editable": true }, @@ -473,7 +473,7 @@ }, { "cell_type": "markdown", - "id": "f7fd9801", + "id": "aef71098", "metadata": { "editable": true }, @@ -485,7 +485,7 @@ }, { "cell_type": "markdown", - "id": "77d8e179", + "id": "c1819a6f", "metadata": { "editable": true }, @@ -496,7 +496,7 @@ }, { "cell_type": "markdown", - "id": "90b48cd5", + "id": "b2aa9527", "metadata": { "editable": true }, @@ -518,7 +518,7 @@ }, { "cell_type": "markdown", - "id": "1c1ee9be", + "id": "3bd07e22", "metadata": { "editable": true }, @@ -531,7 +531,7 @@ }, { "cell_type": "markdown", - "id": "b3540862", + "id": "d087d425", "metadata": { "editable": true }, @@ -543,7 +543,7 @@ }, { "cell_type": "markdown", - "id": "412be88b", + "id": "6dddbbe4", "metadata": { "editable": true }, @@ -553,7 +553,7 @@ }, { "cell_type": "markdown", - "id": "26943d25", + "id": "a53486a7", "metadata": { "editable": true }, @@ -565,7 +565,7 @@ }, { "cell_type": "markdown", - "id": "238ef636", + "id": "ed5534f3", "metadata": { "editable": true }, @@ -575,7 +575,7 @@ }, { "cell_type": "markdown", - "id": "7d1f6683", + "id": "bfbb12ea", "metadata": { "editable": true }, @@ -587,7 +587,7 @@ }, { "cell_type": "markdown", - "id": "ed814361", + "id": "254338e6", "metadata": { "editable": true }, @@ -620,7 +620,7 @@ }, { "cell_type": "markdown", - "id": "b0389394", + "id": "57be982b", "metadata": { "editable": true }, @@ -644,7 +644,7 @@ }, { "cell_type": "markdown", - "id": "d7428112", + "id": "9fbb4348", "metadata": { "editable": true }, @@ -656,7 +656,7 @@ }, { "cell_type": "markdown", - "id": "365f30ff", + "id": "bd62b866", "metadata": { "editable": true }, @@ -668,7 +668,7 @@ }, { "cell_type": "markdown", - "id": "ba0684e8", + "id": "7d8fbd88", "metadata": { "editable": true }, @@ -696,7 +696,7 @@ }, { "cell_type": "markdown", - "id": "61e97043", + "id": "4ff5152f", "metadata": { "editable": true }, @@ -722,7 +722,7 @@ }, { "cell_type": "markdown", - "id": "7970c5bc", + "id": "1a23ea40", "metadata": { "editable": true }, @@ -745,7 +745,7 @@ }, { "cell_type": "markdown", - "id": "9d478b04", + "id": "a80b8a59", "metadata": { "editable": true }, @@ -772,7 +772,7 @@ }, { "cell_type": "markdown", - "id": "d11cb0d7", + "id": "bb0ced76", "metadata": { "editable": true }, @@ -791,7 +791,7 @@ }, { "cell_type": "markdown", - "id": "46022c8c", + "id": "087aecb8", "metadata": { "editable": true }, @@ -803,7 +803,7 @@ }, { "cell_type": "markdown", - "id": "0166e45a", + "id": "b1dfaa5d", "metadata": { "editable": true }, @@ -816,7 +816,7 @@ }, { "cell_type": "markdown", - "id": "f65fada9", + "id": "5d9e1c22", "metadata": { "editable": true }, @@ -828,7 +828,7 @@ }, { "cell_type": "markdown", - "id": "078674e5", + "id": "834faf0f", "metadata": { "editable": true }, @@ -838,7 +838,7 @@ }, { "cell_type": "markdown", - "id": "a1ac2fe9", + "id": "9bd81347", "metadata": { "editable": true }, @@ -850,7 +850,7 @@ }, { "cell_type": "markdown", - "id": "1a4f2f62", + "id": "017dd22e", "metadata": { "editable": true }, @@ -860,7 +860,7 @@ }, { "cell_type": "markdown", - "id": "00f8b061", + "id": "cd04c09c", "metadata": { "editable": true }, @@ -872,7 +872,7 @@ }, { "cell_type": "markdown", - "id": "360ff461", + "id": "5cf9df71", "metadata": { "editable": true }, @@ -883,7 +883,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "35297e26", + "id": "53b53796", "metadata": { "collapsed": false, "editable": true @@ -927,7 +927,7 @@ }, { "cell_type": "markdown", - "id": "cb145416", + "id": "5ddb1789", "metadata": { "editable": true }, @@ -938,7 +938,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "6dc54743", + "id": "65092d3a", "metadata": { "collapsed": false, "editable": true @@ -973,7 +973,7 @@ }, { "cell_type": "markdown", - "id": "af20ea2d", + "id": "f014d974", "metadata": { "editable": true }, @@ -986,7 +986,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "0c09dfdf", + "id": "43829fb1", "metadata": { "collapsed": false, "editable": true @@ -1004,7 +1004,7 @@ }, { "cell_type": "markdown", - "id": "7b3c3bcb", + "id": "3602edc7", "metadata": { "editable": true }, @@ -1018,7 +1018,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "fb0cc872", + "id": "db8f56d7", "metadata": { "collapsed": false, "editable": true @@ -1037,7 +1037,7 @@ }, { "cell_type": "markdown", - "id": "8d8d8d82", + "id": "79548471", "metadata": { "editable": true }, @@ -1057,7 +1057,7 @@ }, { "cell_type": "markdown", - "id": "306a610b", + "id": "d0b42d59", "metadata": { "editable": true }, @@ -1074,7 +1074,7 @@ }, { "cell_type": "markdown", - "id": "39ece8a3", + "id": "b5a14a97", "metadata": { "editable": true }, @@ -1086,7 +1086,7 @@ }, { "cell_type": "markdown", - "id": "4bdf6600", + "id": "9a774778", "metadata": { "editable": true }, @@ -1103,7 +1103,7 @@ }, { "cell_type": "markdown", - "id": "aef73f0c", + "id": "be8b5c64", "metadata": { "editable": true }, @@ -1116,7 +1116,7 @@ }, { "cell_type": "markdown", - "id": "31810fc0", + "id": "84b496a4", "metadata": { "editable": true }, @@ -1128,7 +1128,7 @@ }, { "cell_type": "markdown", - "id": "d08aca8f", + "id": "10223626", "metadata": { "editable": true }, @@ -1138,7 +1138,7 @@ }, { "cell_type": "markdown", - "id": "ddd28bbd", + "id": "bdc0ba64", "metadata": { "editable": true }, @@ -1150,7 +1150,7 @@ }, { "cell_type": "markdown", - "id": "a12364d0", + "id": "8fbc3414", "metadata": { "editable": true }, @@ -1160,7 +1160,7 @@ }, { "cell_type": "markdown", - "id": "4946666e", + "id": "d4d2fcd8", "metadata": { "editable": true }, @@ -1172,7 +1172,7 @@ }, { "cell_type": "markdown", - "id": "b4d030a4", + "id": "ce399959", "metadata": { "editable": true }, @@ -1185,7 +1185,7 @@ }, { "cell_type": "markdown", - "id": "c7b6da02", + "id": "6faf3fd5", "metadata": { "editable": true }, @@ -1200,7 +1200,7 @@ }, { "cell_type": "markdown", - "id": "f6aa3363", + "id": "f309b16f", "metadata": { "editable": true }, @@ -1226,7 +1226,7 @@ }, { "cell_type": "markdown", - "id": "e7a581e8", + "id": "186e0731", "metadata": { "editable": true }, @@ -1254,7 +1254,7 @@ }, { "cell_type": "markdown", - "id": "13b84c42", + "id": "6c94c555", "metadata": { "editable": true }, @@ -1271,7 +1271,7 @@ }, { "cell_type": "markdown", - "id": "7ae7c7ea", + "id": "e606b67d", "metadata": { "editable": true }, @@ -1285,7 +1285,7 @@ }, { "cell_type": "markdown", - "id": "fc8a3e67", + "id": "5c656c54", "metadata": { "editable": true }, @@ -1301,7 +1301,7 @@ }, { "cell_type": "markdown", - "id": "53850a13", + "id": "d6a5f46c", "metadata": { "editable": true }, @@ -1312,7 +1312,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "4be4a43d", + "id": "68650507", "metadata": { "collapsed": false, "editable": true @@ -1390,7 +1390,7 @@ }, { "cell_type": "markdown", - "id": "90e95d49", + "id": "994250a4", "metadata": { "editable": true }, @@ -1434,7 +1434,7 @@ }, { "cell_type": "markdown", - "id": "4e8a69a8", + "id": "dc7f6fc5", "metadata": { "editable": true }, @@ -1445,7 +1445,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "3f6340fc", + "id": "121d45cf", "metadata": { "collapsed": false, "editable": true @@ -1523,7 +1523,7 @@ }, { "cell_type": "markdown", - "id": "9a18ffbd", + "id": "9c174840", "metadata": { "editable": true }, @@ -1541,7 +1541,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "dc01ad75", + "id": "b077c4d1", "metadata": { "collapsed": false, "editable": true @@ -1612,18 +1612,18 @@ }, { "cell_type": "markdown", - "id": "a3d846cd", + "id": "fb1a615b", "metadata": { "editable": true }, "source": [ - "## Another example, the moons again" + "## Another example, the moons" ] }, { "cell_type": "code", "execution_count": 10, - "id": "f41353c4", + "id": "7cdd567c", "metadata": { "collapsed": false, "editable": true @@ -1698,7 +1698,7 @@ }, { "cell_type": "markdown", - "id": "0d75cb36", + "id": "c74c9eaf", "metadata": { "editable": true }, @@ -1709,7 +1709,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "270db370", + "id": "4f3c7805", "metadata": { "collapsed": false, "editable": true @@ -1740,7 +1740,7 @@ }, { "cell_type": "markdown", - "id": "944dd7a5", + "id": "5eeaf397", "metadata": { "editable": true }, @@ -1751,7 +1751,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "6f9de8a4", + "id": "cd9e1562", "metadata": { "collapsed": false, "editable": true @@ -1769,7 +1769,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "e8c9f095", + "id": "1f11a97f", "metadata": { "collapsed": false, "editable": true @@ -1784,7 +1784,7 @@ }, { "cell_type": "markdown", - "id": "67f0f549", + "id": "c39125c9", "metadata": { "editable": true }, @@ -1795,7 +1795,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "4587efe8", + "id": "f999098e", "metadata": { "collapsed": false, "editable": true @@ -1845,7 +1845,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "5e036165", + "id": "5c31d316", "metadata": { "collapsed": false, "editable": true @@ -1884,7 +1884,7 @@ }, { "cell_type": "markdown", - "id": "08cb1573", + "id": "a72112df", "metadata": { "editable": true }, @@ -1908,7 +1908,7 @@ }, { "cell_type": "markdown", - "id": "44b5f52e", + "id": "3a11c269", "metadata": { "editable": true }, @@ -1936,7 +1936,7 @@ }, { "cell_type": "markdown", - "id": "daf142b0", + "id": "1fdc0348", "metadata": { "editable": true }, @@ -1967,7 +1967,7 @@ }, { "cell_type": "markdown", - "id": "038cda56", + "id": "9e124da2", "metadata": { "editable": true }, @@ -1983,61 +1983,121 @@ }, { "cell_type": "markdown", - "id": "d6881d19", + "id": "1f9afd64", "metadata": { "editable": true }, "source": [ - "## Bagging\n", + "## Why Voting?\n", "\n", - "The **plain** decision trees suffer from high\n", - "variance. This means that if we split the training data into two parts\n", - "at random, and fit a decision tree to both halves, the results that we\n", - "get could be quite different. In contrast, a procedure with low\n", - "variance will yield similar results if applied repeatedly to distinct\n", - "data sets; linear regression tends to have low variance, if the ratio\n", - "of $n$ to $p$ is moderately large. \n", + "The idea behind boosting, and voting as well can be phrased as follows:\n", + "**Can a group of people somehow arrive at highly\n", + "reasoned decisions, despite the weak judgement of the individual\n", + "members?**\n", "\n", - "**Bootstrap aggregation**, or just **bagging**, is a\n", - "general-purpose procedure for reducing the variance of a statistical\n", - "learning method." + "The aim is to create a good classifier by combining several weak classifiers.\n", + "**A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random.**\n", + "\n", + "The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data.\n", + "In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in\n", + "each iteration. \n", + "\n", + "Decision trees play an important role as our weak classifier. They serve as the basic method." ] }, { "cell_type": "markdown", - "id": "6ca7617f", + "id": "72766be2", "metadata": { "editable": true }, "source": [ - "## More bagging\n", + "## Tossing coins\n", "\n", - "Bagging typically results in improved accuracy\n", - "over prediction using a single tree. Unfortunately, however, it can be\n", - "difficult to interpret the resulting model. Recall that one of the\n", - "advantages of decision trees is the attractive and easily interpreted\n", - "diagram that results.\n", + "The simplest case is a so-called voting ensemble. To illustrate this,\n", + "think of yourself tossing coins with a biased outcome of 51 per cent\n", + "for heads and 49% for tails. With only few tosses,\n", + "you may not clearly see this distribution for heads and tails. However, after some\n", + "thousands of tosses, there will be a clear majority of heads. With 2000 tosses\n", + "you should see approximately 1020 heads and 980 tails.\n", "\n", - "However, when we bag a large number of trees, it is no longer\n", - "possible to represent the resulting statistical learning procedure\n", - "using a single tree, and it is no longer clear which variables are\n", - "most important to the procedure. Thus, bagging improves prediction\n", - "accuracy at the expense of interpretability. Although the collection\n", - "of bagged trees is much more difficult to interpret than a single\n", - "tree, one can obtain an overall summary of the importance of each\n", - "predictor using the MSE (for bagging regression trees) or the Gini\n", - "index (for bagging classification trees). In the case of bagging\n", - "regression trees, we can record the total amount that the MSE is\n", - "decreased due to splits over a given predictor, averaged over all $B$ possible\n", - "trees. A large value indicates an important predictor. Similarly, in\n", - "the context of bagging classification trees, we can add up the total\n", - "amount that the Gini index is decreased by splits over a given\n", - "predictor, averaged over all $B$ trees." + "We can then state that the outcome is a clear majority of heads. If\n", + "you do this ten thousand times, it is easy to see that there is a 97%\n", + "likelihood of a majority of heads.\n", + "\n", + "Another example would be to collect all polls before an\n", + "election. Different polls may show different likelihoods for a\n", + "candidate winning with say a majority of the popular vote. The majority vote\n", + "would then consist in many polls indicating that this candidate will\n", + "actually win.\n", + "\n", + "The example here shows how we can implement the coin tossing case,\n", + "clealry demostrating that after some tosses we see the [law of large](https://en.wikipedia.org/wiki/Law_of_large_numbers)\n", + "numbers kicking in." ] }, { "cell_type": "markdown", - "id": "ccab6c19", + "id": "31fd7020", + "metadata": { + "editable": true + }, + "source": [ + "## Standard imports first" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "8f3556b4", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Common imports\n", + "from IPython.display import Image \n", + "from pydot import graph_from_dot_data\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.tree import DecisionTreeClassifier\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.tree import export_graphviz\n", + "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n", + "from sklearn.compose import ColumnTransformer\n", + "from IPython.display import Image \n", + "from pydot import graph_from_dot_data\n", + "import os\n", + "\n", + "# Where to save the figures and data files\n", + "PROJECT_ROOT_DIR = \"Results\"\n", + "FIGURE_ID = \"Results/FigureFiles\"\n", + "DATA_ID = \"DataFiles/\"\n", + "\n", + "if not os.path.exists(PROJECT_ROOT_DIR):\n", + " os.mkdir(PROJECT_ROOT_DIR)\n", + "\n", + "if not os.path.exists(FIGURE_ID):\n", + " os.makedirs(FIGURE_ID)\n", + "\n", + "if not os.path.exists(DATA_ID):\n", + " os.makedirs(DATA_ID)\n", + "\n", + "def image_path(fig_id):\n", + " return os.path.join(FIGURE_ID, fig_id)\n", + "\n", + "def data_path(dat_id):\n", + " return os.path.join(DATA_ID, dat_id)\n", + "\n", + "def save_fig(fig_id):\n", + " plt.savefig(image_path(fig_id) + \".png\", format='png')" + ] + }, + { + "cell_type": "markdown", + "id": "7e4f5d08", "metadata": { "editable": true }, @@ -2047,14 +2107,24 @@ }, { "cell_type": "code", - "execution_count": 16, - "id": "ee9af3b9", + "execution_count": 17, + "id": "4b2a27f1", "metadata": { "collapsed": false, "editable": true }, "outputs": [], "source": [ + "\n", + "# Common imports\n", + "import numpy as np\n", + "import matplotlib\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.colors import ListedColormap\n", + "plt.rcParams['axes.labelsize'] = 14\n", + "plt.rcParams['xtick.labelsize'] = 12\n", + "plt.rcParams['ytick.labelsize'] = 12\n", + "\n", "heads_proba = 0.51\n", "coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32)\n", "cumulative_heads_ratio = np.cumsum(coin_tosses, axis=0) / np.arange(1, 10001).reshape(-1, 1)\n", @@ -2072,18 +2142,20 @@ }, { "cell_type": "markdown", - "id": "cd895813", + "id": "facdb6a9", "metadata": { "editable": true }, "source": [ - "## Using the Voting Classifier" + "## Using the Voting Classifier\n", + "\n", + "We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of **Scikit-Learn**." ] }, { "cell_type": "code", - "execution_count": 17, - "id": "d5e48af3", + "execution_count": 18, + "id": "c7986569", "metadata": { "collapsed": false, "editable": true @@ -2121,7 +2193,6 @@ "log_clf = LogisticRegression(solver=\"liblinear\", random_state=42)\n", "rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)\n", "svm_clf = SVC(gamma=\"auto\", probability=True, random_state=42)\n", - "\n", "voting_clf = VotingClassifier(\n", " estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],\n", " voting='soft')\n", @@ -2137,18 +2208,18 @@ }, { "cell_type": "markdown", - "id": "c64b5374", + "id": "090cc2cf", "metadata": { "editable": true }, "source": [ - "## Please, not the moons again! Voting and Bagging" + "## Voting and Bagging" ] }, { "cell_type": "code", - "execution_count": 18, - "id": "76d0f2ea", + "execution_count": 19, + "id": "44f30cb2", "metadata": { "collapsed": false, "editable": true @@ -2177,8 +2248,8 @@ }, { "cell_type": "code", - "execution_count": 19, - "id": "7fcccf7d", + "execution_count": 20, + "id": "d28826ab", "metadata": { "collapsed": false, "editable": true @@ -2195,8 +2266,8 @@ }, { "cell_type": "code", - "execution_count": 20, - "id": "e380253c", + "execution_count": 21, + "id": "b02c5322", "metadata": { "collapsed": false, "editable": true @@ -2215,8 +2286,8 @@ }, { "cell_type": "code", - "execution_count": 21, - "id": "f90ec503", + "execution_count": 22, + "id": "d542a2be", "metadata": { "collapsed": false, "editable": true @@ -2233,106 +2304,61 @@ }, { "cell_type": "markdown", - "id": "23aac3ac", + "id": "a7cdad96", "metadata": { "editable": true }, "source": [ - "## Bagging Examples" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "de7988eb", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "from sklearn.ensemble import BaggingClassifier\n", - "from sklearn.tree import DecisionTreeClassifier\n", + "## Bagging\n", "\n", - "bag_clf = BaggingClassifier(\n", - " DecisionTreeClassifier(random_state=42), n_estimators=500,\n", - " max_samples=100, bootstrap=True, n_jobs=-1, random_state=42)\n", - "bag_clf.fit(X_train, y_train)\n", - "y_pred = bag_clf.predict(X_test)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "6c8ee680", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "from sklearn.metrics import accuracy_score\n", - "print(accuracy_score(y_test, y_pred))" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "6c08a9b3", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "tree_clf = DecisionTreeClassifier(random_state=42)\n", - "tree_clf.fit(X_train, y_train)\n", - "y_pred_tree = tree_clf.predict(X_test)\n", - "print(accuracy_score(y_test, y_pred_tree))" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "a2365657", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "from matplotlib.colors import ListedColormap\n", + "The **plain** decision trees suffer from high\n", + "variance. This means that if we split the training data into two parts\n", + "at random, and fit a decision tree to both halves, the results that we\n", + "get could be quite different. In contrast, a procedure with low\n", + "variance will yield similar results if applied repeatedly to distinct\n", + "data sets; linear regression tends to have low variance, if the ratio\n", + "of $n$ to $p$ is moderately large. \n", "\n", - "def plot_decision_boundary(clf, X, y, axes=[-1.5, 2.5, -1, 1.5], alpha=0.5, contour=True):\n", - " x1s = np.linspace(axes[0], axes[1], 100)\n", - " x2s = np.linspace(axes[2], axes[3], 100)\n", - " x1, x2 = np.meshgrid(x1s, x2s)\n", - " X_new = np.c_[x1.ravel(), x2.ravel()]\n", - " y_pred = clf.predict(X_new).reshape(x1.shape)\n", - " custom_cmap = ListedColormap(['#fafab0','#9898ff','#a0faa0'])\n", - " plt.contourf(x1, x2, y_pred, alpha=0.3, cmap=custom_cmap)\n", - " if contour:\n", - " custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50'])\n", - " plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8)\n", - " plt.plot(X[:, 0][y==0], X[:, 1][y==0], \"yo\", alpha=alpha)\n", - " plt.plot(X[:, 0][y==1], X[:, 1][y==1], \"bs\", alpha=alpha)\n", - " plt.axis(axes)\n", - " plt.xlabel(r\"$x_1$\", fontsize=18)\n", - " plt.ylabel(r\"$x_2$\", fontsize=18, rotation=0)\n", - "plt.figure(figsize=(11,4))\n", - "plt.subplot(121)\n", - "plot_decision_boundary(tree_clf, X, y)\n", - "plt.title(\"Decision Tree\", fontsize=14)\n", - "plt.subplot(122)\n", - "plot_decision_boundary(bag_clf, X, y)\n", - "plt.title(\"Decision Trees with Bagging\", fontsize=14)\n", - "save_fig(\"baggingtree\")\n", - "plt.show()" + "**Bootstrap aggregation**, or just **bagging**, is a\n", + "general-purpose procedure for reducing the variance of a statistical\n", + "learning method." ] }, { "cell_type": "markdown", - "id": "50147ee0", + "id": "96ae19e9", + "metadata": { + "editable": true + }, + "source": [ + "## More bagging\n", + "\n", + "Bagging typically results in improved accuracy\n", + "over prediction using a single tree. Unfortunately, however, it can be\n", + "difficult to interpret the resulting model. Recall that one of the\n", + "advantages of decision trees is the attractive and easily interpreted\n", + "diagram that results.\n", + "\n", + "However, when we bag a large number of trees, it is no longer\n", + "possible to represent the resulting statistical learning procedure\n", + "using a single tree, and it is no longer clear which variables are\n", + "most important to the procedure. Thus, bagging improves prediction\n", + "accuracy at the expense of interpretability. Although the collection\n", + "of bagged trees is much more difficult to interpret than a single\n", + "tree, one can obtain an overall summary of the importance of each\n", + "predictor using the MSE (for bagging regression trees) or the Gini\n", + "index (for bagging classification trees). In the case of bagging\n", + "regression trees, we can record the total amount that the MSE is\n", + "decreased due to splits over a given predictor, averaged over all $B$ possible\n", + "trees. A large value indicates an important predictor. Similarly, in\n", + "the context of bagging classification trees, we can add up the total\n", + "amount that the Gini index is decreased by splits over a given\n", + "predictor, averaged over all $B$ trees." + ] + }, + { + "cell_type": "markdown", + "id": "0b821772", "metadata": { "editable": true }, @@ -2345,8 +2371,8 @@ }, { "cell_type": "code", - "execution_count": 26, - "id": "5c2c80a2", + "execution_count": 23, + "id": "c69ac3f2", "metadata": { "collapsed": false, "editable": true @@ -2415,328 +2441,7 @@ }, { "cell_type": "markdown", - "id": "1178fafb", - "metadata": { - "editable": true - }, - "source": [ - "## Why Voting?\n", - "\n", - "The idea behind boosting, and voting as well can be phrased as follows:\n", - "**Can a group of people somehow arrive at highly\n", - "reasoned decisions, despite the weak judgement of the individual\n", - "members?**\n", - "\n", - "The aim is to create a good classifier by combining several weak classifiers.\n", - "**A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random.**\n", - "\n", - "The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data.\n", - "In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in\n", - "each iteration. \n", - "\n", - "Decision trees play an important role as our weak classifier. They serve as the basic method." - ] - }, - { - "cell_type": "markdown", - "id": "a3a30aa4", - "metadata": { - "editable": true - }, - "source": [ - "## Tossing coins\n", - "\n", - "The simplest case is a so-called voting ensemble. To illustrate this,\n", - "think of yourself tossing coins with a biased outcome of 51 per cent\n", - "for heads and 49% for tails. With only few tosses,\n", - "you may not clearly see this distribution for heads and tails. However, after some\n", - "thousands of tosses, there will be a clear majority of heads. With 2000 tosses\n", - "you should see approximately 1020 heads and 980 tails.\n", - "\n", - "We can then state that the outcome is a clear majority of heads. If\n", - "you do this ten thousand times, it is easy to see that there is a 97%\n", - "likelihood of a majority of heads.\n", - "\n", - "Another example would be to collect all polls before an\n", - "election. Different polls may show different likelihoods for a\n", - "candidate winning with say a majority of the popular vote. The majority vote\n", - "would then consist in many polls indicating that this candidate will\n", - "actually win.\n", - "\n", - "The example here shows how we can implement the coin tossing case,\n", - "clealry demostrating that after some tosses we see the [law of large](https://en.wikipedia.org/wiki/Law_of_large_numbers)\n", - "numbers kicking in." - ] - }, - { - "cell_type": "markdown", - "id": "2fe724f5", - "metadata": { - "editable": true - }, - "source": [ - "## Standard imports first" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "a5ee936a", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "# Common imports\n", - "from IPython.display import Image \n", - "from pydot import graph_from_dot_data\n", - "import pandas as pd\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn.model_selection import train_test_split\n", - "from sklearn.tree import export_graphviz\n", - "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n", - "from sklearn.compose import ColumnTransformer\n", - "from IPython.display import Image \n", - "from pydot import graph_from_dot_data\n", - "import os\n", - "\n", - "# Where to save the figures and data files\n", - "PROJECT_ROOT_DIR = \"Results\"\n", - "FIGURE_ID = \"Results/FigureFiles\"\n", - "DATA_ID = \"DataFiles/\"\n", - "\n", - "if not os.path.exists(PROJECT_ROOT_DIR):\n", - " os.mkdir(PROJECT_ROOT_DIR)\n", - "\n", - "if not os.path.exists(FIGURE_ID):\n", - " os.makedirs(FIGURE_ID)\n", - "\n", - "if not os.path.exists(DATA_ID):\n", - " os.makedirs(DATA_ID)\n", - "\n", - "def image_path(fig_id):\n", - " return os.path.join(FIGURE_ID, fig_id)\n", - "\n", - "def data_path(dat_id):\n", - " return os.path.join(DATA_ID, dat_id)\n", - "\n", - "def save_fig(fig_id):\n", - " plt.savefig(image_path(fig_id) + \".png\", format='png')" - ] - }, - { - "cell_type": "markdown", - "id": "780b0b45", - "metadata": { - "editable": true - }, - "source": [ - "## Simple Voting Example, head or tail" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "2aa03ca6", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "\n", - "# Common imports\n", - "import numpy as np\n", - "import matplotlib\n", - "import matplotlib.pyplot as plt\n", - "from matplotlib.colors import ListedColormap\n", - "plt.rcParams['axes.labelsize'] = 14\n", - "plt.rcParams['xtick.labelsize'] = 12\n", - "plt.rcParams['ytick.labelsize'] = 12\n", - "\n", - "heads_proba = 0.51\n", - "coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32)\n", - "cumulative_heads_ratio = np.cumsum(coin_tosses, axis=0) / np.arange(1, 10001).reshape(-1, 1)\n", - "plt.figure(figsize=(8,3.5))\n", - "plt.plot(cumulative_heads_ratio)\n", - "plt.plot([0, 10000], [0.51, 0.51], \"k--\", linewidth=2, label=\"51%\")\n", - "plt.plot([0, 10000], [0.5, 0.5], \"k-\", label=\"50%\")\n", - "plt.xlabel(\"Number of coin tosses\")\n", - "plt.ylabel(\"Heads ratio\")\n", - "plt.legend(loc=\"lower right\")\n", - "plt.axis([0, 10000, 0.42, 0.58])\n", - "save_fig(\"votingsimple\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "edaded51", - "metadata": { - "editable": true - }, - "source": [ - "## Using the Voting Classifier\n", - "\n", - "We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of **Scikit-Learn**." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "ea39ac21", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "from sklearn.model_selection import train_test_split\n", - "from sklearn.datasets import make_moons\n", - "\n", - "X, y = make_moons(n_samples=500, noise=0.30, random_state=42)\n", - "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)\n", - "\n", - "from sklearn.ensemble import RandomForestClassifier\n", - "from sklearn.ensemble import VotingClassifier\n", - "from sklearn.linear_model import LogisticRegression\n", - "from sklearn.svm import SVC\n", - "\n", - "log_clf = LogisticRegression(solver=\"liblinear\", random_state=42)\n", - "rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)\n", - "svm_clf = SVC(gamma=\"auto\", random_state=42)\n", - "\n", - "voting_clf = VotingClassifier(\n", - " estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],\n", - " voting='hard')\n", - "\n", - "voting_clf.fit(X_train, y_train)\n", - "\n", - "from sklearn.metrics import accuracy_score\n", - "\n", - "for clf in (log_clf, rnd_clf, svm_clf, voting_clf):\n", - " clf.fit(X_train, y_train)\n", - " y_pred = clf.predict(X_test)\n", - " print(clf.__class__.__name__, accuracy_score(y_test, y_pred))\n", - "\n", - "log_clf = LogisticRegression(solver=\"liblinear\", random_state=42)\n", - "rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)\n", - "svm_clf = SVC(gamma=\"auto\", probability=True, random_state=42)\n", - "voting_clf = VotingClassifier(\n", - " estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],\n", - " voting='soft')\n", - "voting_clf.fit(X_train, y_train)\n", - "\n", - "from sklearn.metrics import accuracy_score\n", - "\n", - "for clf in (log_clf, rnd_clf, svm_clf, voting_clf):\n", - " clf.fit(X_train, y_train)\n", - " y_pred = clf.predict(X_test)\n", - " print(clf.__class__.__name__, accuracy_score(y_test, y_pred))" - ] - }, - { - "cell_type": "markdown", - "id": "2c612ac2", - "metadata": { - "editable": true - }, - "source": [ - "## Voting and Bagging" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "d700c338", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "from sklearn.model_selection import train_test_split\n", - "from sklearn.datasets import make_moons\n", - "\n", - "X, y = make_moons(n_samples=500, noise=0.30, random_state=42)\n", - "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)\n", - "from sklearn.ensemble import RandomForestClassifier\n", - "from sklearn.ensemble import VotingClassifier\n", - "from sklearn.linear_model import LogisticRegression\n", - "from sklearn.svm import SVC\n", - "\n", - "log_clf = LogisticRegression(random_state=42)\n", - "rnd_clf = RandomForestClassifier(random_state=42)\n", - "svm_clf = SVC(random_state=42)\n", - "\n", - "voting_clf = VotingClassifier(\n", - " estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],\n", - " voting='hard')\n", - "voting_clf.fit(X_train, y_train)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "9a5ddf88", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "from sklearn.metrics import accuracy_score\n", - "\n", - "for clf in (log_clf, rnd_clf, svm_clf, voting_clf):\n", - " clf.fit(X_train, y_train)\n", - " y_pred = clf.predict(X_test)\n", - " print(clf.__class__.__name__, accuracy_score(y_test, y_pred))" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "1760ed86", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "log_clf = LogisticRegression(random_state=42)\n", - "rnd_clf = RandomForestClassifier(random_state=42)\n", - "svm_clf = SVC(probability=True, random_state=42)\n", - "\n", - "voting_clf = VotingClassifier(\n", - " estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],\n", - " voting='soft')\n", - "voting_clf.fit(X_train, y_train)" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "4ab23f0f", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], - "source": [ - "from sklearn.metrics import accuracy_score\n", - "\n", - "for clf in (log_clf, rnd_clf, svm_clf, voting_clf):\n", - " clf.fit(X_train, y_train)\n", - " y_pred = clf.predict(X_test)\n", - " print(clf.__class__.__name__, accuracy_score(y_test, y_pred))" - ] - }, - { - "cell_type": "markdown", - "id": "0355abcb", + "id": "9a85f577", "metadata": { "editable": true }, @@ -2759,7 +2464,7 @@ }, { "cell_type": "markdown", - "id": "e543eba5", + "id": "b020b475", "metadata": { "editable": true }, @@ -2771,7 +2476,7 @@ }, { "cell_type": "markdown", - "id": "d3f906c7", + "id": "5121590b", "metadata": { "editable": true }, @@ -2796,7 +2501,7 @@ }, { "cell_type": "markdown", - "id": "3582fecd", + "id": "ef8879c2", "metadata": { "editable": true }, @@ -2822,7 +2527,7 @@ }, { "cell_type": "markdown", - "id": "9dba7602", + "id": "f53f3987", "metadata": { "editable": true }, @@ -2832,8 +2537,8 @@ }, { "cell_type": "code", - "execution_count": 34, - "id": "b9bcda80", + "execution_count": 24, + "id": "caef766a", "metadata": { "collapsed": false, "editable": true @@ -2855,19 +2560,14 @@ "X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)\n", "print(X_train.shape)\n", "print(X_test.shape)\n", + "#define methods\n", "# Logistic Regression\n", "logreg = LogisticRegression(solver='lbfgs')\n", - "logreg.fit(X_train, y_train)\n", - "print(\"Test set accuracy with Logistic Regression: {:.2f}\".format(logreg.score(X_test,y_test)))\n", "# Support vector machine\n", "svm = SVC(gamma='auto', C=100)\n", - "svm.fit(X_train, y_train)\n", - "print(\"Test set accuracy with SVM: {:.2f}\".format(svm.score(X_test,y_test)))\n", "# Decision Trees\n", "deep_tree_clf = DecisionTreeClassifier(max_depth=None)\n", - "deep_tree_clf.fit(X_train, y_train)\n", - "print(\"Test set accuracy with Decision Trees: {:.2f}\".format(deep_tree_clf.score(X_test,y_test)))\n", - "#now scale the data\n", + "#Scale the data\n", "from sklearn.preprocessing import StandardScaler\n", "scaler = StandardScaler()\n", "scaler.fit(X_train)\n", @@ -2910,7 +2610,7 @@ }, { "cell_type": "markdown", - "id": "699bd8fd", + "id": "51dc82ac", "metadata": { "editable": true }, @@ -2926,7 +2626,7 @@ }, { "cell_type": "markdown", - "id": "b66925ee", + "id": "19c89a3b", "metadata": { "editable": true }, @@ -2936,8 +2636,8 @@ }, { "cell_type": "code", - "execution_count": 35, - "id": "6deb494a", + "execution_count": 25, + "id": "61df8785", "metadata": { "collapsed": false, "editable": true @@ -2951,8 +2651,8 @@ }, { "cell_type": "code", - "execution_count": 36, - "id": "118dcd30", + "execution_count": 26, + "id": "4431c086", "metadata": { "collapsed": false, "editable": true diff --git a/doc/src/week44/week44.do.txt b/doc/src/week44/week44.do.txt index 7ec45cf41..b42ca4f2b 100644 --- a/doc/src/week44/week44.do.txt +++ b/doc/src/week44/week44.do.txt @@ -1062,7 +1062,7 @@ print('Split: [X%d < %.3f]' % ((split['index']+1), split['value'])) !split -===== Another example, the moons again ===== +===== Another example, the moons ===== !bc pycod from __future__ import division, print_function, unicode_literals @@ -1306,300 +1306,6 @@ We discuss these methods here. FIGURE: [DataFiles/ensembleoverview.png, width=600 frac=0.8] - - -!split -===== Bagging ===== - -The _plain_ decision trees suffer from high -variance. This means that if we split the training data into two parts -at random, and fit a decision tree to both halves, the results that we -get could be quite different. In contrast, a procedure with low -variance will yield similar results if applied repeatedly to distinct -data sets; linear regression tends to have low variance, if the ratio -of $n$ to $p$ is moderately large. - -_Bootstrap aggregation_, or just _bagging_, is a -general-purpose procedure for reducing the variance of a statistical -learning method. - - -!split -===== More bagging ===== - -Bagging typically results in improved accuracy -over prediction using a single tree. Unfortunately, however, it can be -difficult to interpret the resulting model. Recall that one of the -advantages of decision trees is the attractive and easily interpreted -diagram that results. - -However, when we bag a large number of trees, it is no longer -possible to represent the resulting statistical learning procedure -using a single tree, and it is no longer clear which variables are -most important to the procedure. Thus, bagging improves prediction -accuracy at the expense of interpretability. Although the collection -of bagged trees is much more difficult to interpret than a single -tree, one can obtain an overall summary of the importance of each -predictor using the MSE (for bagging regression trees) or the Gini -index (for bagging classification trees). In the case of bagging -regression trees, we can record the total amount that the MSE is -decreased due to splits over a given predictor, averaged over all $B$ possible -trees. A large value indicates an important predictor. Similarly, in -the context of bagging classification trees, we can add up the total -amount that the Gini index is decreased by splits over a given -predictor, averaged over all $B$ trees. - -!split -===== Simple Voting Example, head or tail ===== -!bc pycod -heads_proba = 0.51 -coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32) -cumulative_heads_ratio = np.cumsum(coin_tosses, axis=0) / np.arange(1, 10001).reshape(-1, 1) -plt.figure(figsize=(8,3.5)) -plt.plot(cumulative_heads_ratio) -plt.plot([0, 10000], [0.51, 0.51], "k--", linewidth=2, label="51%") -plt.plot([0, 10000], [0.5, 0.5], "k-", label="50%") -plt.xlabel("Number of coin tosses") -plt.ylabel("Heads ratio") -plt.legend(loc="lower right") -plt.axis([0, 10000, 0.42, 0.58]) -save_fig("votingsimple") -plt.show() - -!ec - -!split -===== Using the Voting Classifier ===== -!bc pycod -from sklearn.model_selection import train_test_split -from sklearn.datasets import make_moons - -X, y = make_moons(n_samples=500, noise=0.30, random_state=42) -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42) - -from sklearn.ensemble import RandomForestClassifier -from sklearn.ensemble import VotingClassifier -from sklearn.linear_model import LogisticRegression -from sklearn.svm import SVC - -log_clf = LogisticRegression(solver="liblinear", random_state=42) -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42) -svm_clf = SVC(gamma="auto", random_state=42) - -voting_clf = VotingClassifier( - estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)], - voting='hard') - -voting_clf.fit(X_train, y_train) - -from sklearn.metrics import accuracy_score - -for clf in (log_clf, rnd_clf, svm_clf, voting_clf): - clf.fit(X_train, y_train) - y_pred = clf.predict(X_test) - print(clf.__class__.__name__, accuracy_score(y_test, y_pred)) - -log_clf = LogisticRegression(solver="liblinear", random_state=42) -rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42) -svm_clf = SVC(gamma="auto", probability=True, random_state=42) - -voting_clf = VotingClassifier( - estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)], - voting='soft') -voting_clf.fit(X_train, y_train) - -from sklearn.metrics import accuracy_score - -for clf in (log_clf, rnd_clf, svm_clf, voting_clf): - clf.fit(X_train, y_train) - y_pred = clf.predict(X_test) - print(clf.__class__.__name__, accuracy_score(y_test, y_pred)) - -!ec - -!split -===== Please, not the moons again! Voting and Bagging ===== - -!bc pycod -from sklearn.model_selection import train_test_split -from sklearn.datasets import make_moons - -X, y = make_moons(n_samples=500, noise=0.30, random_state=42) -X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42) -from sklearn.ensemble import RandomForestClassifier -from sklearn.ensemble import VotingClassifier -from sklearn.linear_model import LogisticRegression -from sklearn.svm import SVC - -log_clf = LogisticRegression(random_state=42) -rnd_clf = RandomForestClassifier(random_state=42) -svm_clf = SVC(random_state=42) - -voting_clf = VotingClassifier( - estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)], - voting='hard') -voting_clf.fit(X_train, y_train) -!ec - -!bc pycod -from sklearn.metrics import accuracy_score - -for clf in (log_clf, rnd_clf, svm_clf, voting_clf): - clf.fit(X_train, y_train) - y_pred = clf.predict(X_test) - print(clf.__class__.__name__, accuracy_score(y_test, y_pred)) -!ec - -!bc pycod -log_clf = LogisticRegression(random_state=42) -rnd_clf = RandomForestClassifier(random_state=42) -svm_clf = SVC(probability=True, random_state=42) - -voting_clf = VotingClassifier( - estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)], - voting='soft') -voting_clf.fit(X_train, y_train) -!ec - -!bc pycod -from sklearn.metrics import accuracy_score - -for clf in (log_clf, rnd_clf, svm_clf, voting_clf): - clf.fit(X_train, y_train) - y_pred = clf.predict(X_test) - print(clf.__class__.__name__, accuracy_score(y_test, y_pred)) -!ec - -!split -===== Bagging Examples ===== - -!bc pycod -from sklearn.ensemble import BaggingClassifier -from sklearn.tree import DecisionTreeClassifier - -bag_clf = BaggingClassifier( - DecisionTreeClassifier(random_state=42), n_estimators=500, - max_samples=100, bootstrap=True, n_jobs=-1, random_state=42) -bag_clf.fit(X_train, y_train) -y_pred = bag_clf.predict(X_test) -!ec - - -!bc pycod -from sklearn.metrics import accuracy_score -print(accuracy_score(y_test, y_pred)) -!ec - -!bc pycod -tree_clf = DecisionTreeClassifier(random_state=42) -tree_clf.fit(X_train, y_train) -y_pred_tree = tree_clf.predict(X_test) -print(accuracy_score(y_test, y_pred_tree)) -!ec - -!bc pycod -from matplotlib.colors import ListedColormap - -def plot_decision_boundary(clf, X, y, axes=[-1.5, 2.5, -1, 1.5], alpha=0.5, contour=True): - x1s = np.linspace(axes[0], axes[1], 100) - x2s = np.linspace(axes[2], axes[3], 100) - x1, x2 = np.meshgrid(x1s, x2s) - X_new = np.c_[x1.ravel(), x2.ravel()] - y_pred = clf.predict(X_new).reshape(x1.shape) - custom_cmap = ListedColormap(['#fafab0','#9898ff','#a0faa0']) - plt.contourf(x1, x2, y_pred, alpha=0.3, cmap=custom_cmap) - if contour: - custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50']) - plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8) - plt.plot(X[:, 0][y==0], X[:, 1][y==0], "yo", alpha=alpha) - plt.plot(X[:, 0][y==1], X[:, 1][y==1], "bs", alpha=alpha) - plt.axis(axes) - plt.xlabel(r"$x_1$", fontsize=18) - plt.ylabel(r"$x_2$", fontsize=18, rotation=0) -plt.figure(figsize=(11,4)) -plt.subplot(121) -plot_decision_boundary(tree_clf, X, y) -plt.title("Decision Tree", fontsize=14) -plt.subplot(122) -plot_decision_boundary(bag_clf, X, y) -plt.title("Decision Trees with Bagging", fontsize=14) -save_fig("baggingtree") -plt.show() -!ec - - - -!split -===== Making your own Bootstrap: Changing the Level of the Decision Tree ===== - -Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with -a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points $n$). -!bc pycod - -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) - -# we produce a simple tree first as benchmark -simpletree = DecisionTreeRegressor(max_depth=3) -simpletree.fit(X_train_scaled, y_train) -simpleprediction = simpletree.predict(X_test_scaled) -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])) - -mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2) -print(mse_simpletree) -plt.xlim(1,maxdepth) -plt.plot(polydegree, error, label='MSE') -plt.plot(polydegree, bias, label='bias') -plt.plot(polydegree, variance, label='Variance') -plt.legend() -save_fig("baggingboot") -plt.show() - -!ec - - - - - !split ===== Why Voting? ===== @@ -1828,6 +1534,122 @@ for clf in (log_clf, rnd_clf, svm_clf, voting_clf): +!split +===== Bagging ===== + +The _plain_ decision trees suffer from high +variance. This means that if we split the training data into two parts +at random, and fit a decision tree to both halves, the results that we +get could be quite different. In contrast, a procedure with low +variance will yield similar results if applied repeatedly to distinct +data sets; linear regression tends to have low variance, if the ratio +of $n$ to $p$ is moderately large. + +_Bootstrap aggregation_, or just _bagging_, is a +general-purpose procedure for reducing the variance of a statistical +learning method. + + +!split +===== More bagging ===== + +Bagging typically results in improved accuracy +over prediction using a single tree. Unfortunately, however, it can be +difficult to interpret the resulting model. Recall that one of the +advantages of decision trees is the attractive and easily interpreted +diagram that results. + +However, when we bag a large number of trees, it is no longer +possible to represent the resulting statistical learning procedure +using a single tree, and it is no longer clear which variables are +most important to the procedure. Thus, bagging improves prediction +accuracy at the expense of interpretability. Although the collection +of bagged trees is much more difficult to interpret than a single +tree, one can obtain an overall summary of the importance of each +predictor using the MSE (for bagging regression trees) or the Gini +index (for bagging classification trees). In the case of bagging +regression trees, we can record the total amount that the MSE is +decreased due to splits over a given predictor, averaged over all $B$ possible +trees. A large value indicates an important predictor. Similarly, in +the context of bagging classification trees, we can add up the total +amount that the Gini index is decreased by splits over a given +predictor, averaged over all $B$ trees. + + + +!split +===== Making your own Bootstrap: Changing the Level of the Decision Tree ===== + +Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points $n$). +!bc pycod + +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) + +# we produce a simple tree first as benchmark +simpletree = DecisionTreeRegressor(max_depth=3) +simpletree.fit(X_train_scaled, y_train) +simpleprediction = simpletree.predict(X_test_scaled) +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])) + +mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2) +print(mse_simpletree) +plt.xlim(1,maxdepth) +plt.plot(polydegree, error, label='MSE') +plt.plot(polydegree, bias, label='bias') +plt.plot(polydegree, variance, label='Variance') +plt.legend() +save_fig("baggingboot") +plt.show() + +!ec + + + + + + + !split ===== Random forests ===== @@ -1902,19 +1724,14 @@ 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) +#define methods # 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 +#Scale the data from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train)