From b53eee433adb36467ad54c89a5725f716ca2ebdf Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Tue, 9 Nov 2021 06:17:05 +0100 Subject: [PATCH] updating week45 --- doc/pub/week45/html/._week45-bs000.html | 438 +++ doc/pub/week45/html/._week45-bs001.html | 438 +++ doc/pub/week45/html/._week45-bs002.html | 439 +++ doc/pub/week45/html/._week45-bs003.html | 427 +++ doc/pub/week45/html/._week45-bs004.html | 418 ++ doc/pub/week45/html/._week45-bs005.html | 419 ++ doc/pub/week45/html/._week45-bs006.html | 426 +++ doc/pub/week45/html/._week45-bs007.html | 431 +++ doc/pub/week45/html/._week45-bs008.html | 432 +++ doc/pub/week45/html/._week45-bs009.html | 531 +++ doc/pub/week45/html/._week45-bs010.html | 443 +++ doc/pub/week45/html/._week45-bs011.html | 436 +++ doc/pub/week45/html/._week45-bs012.html | 468 +++ doc/pub/week45/html/._week45-bs013.html | 438 +++ doc/pub/week45/html/._week45-bs014.html | 450 +++ doc/pub/week45/html/._week45-bs015.html | 441 +++ doc/pub/week45/html/._week45-bs016.html | 436 +++ doc/pub/week45/html/._week45-bs017.html | 441 +++ doc/pub/week45/html/._week45-bs018.html | 463 +++ doc/pub/week45/html/._week45-bs019.html | 477 +++ doc/pub/week45/html/._week45-bs020.html | 468 +++ doc/pub/week45/html/._week45-bs021.html | 454 +++ doc/pub/week45/html/._week45-bs022.html | 457 +++ doc/pub/week45/html/._week45-bs023.html | 433 +++ doc/pub/week45/html/._week45-bs024.html | 445 +++ doc/pub/week45/html/._week45-bs025.html | 445 +++ doc/pub/week45/html/._week45-bs026.html | 461 +++ doc/pub/week45/html/._week45-bs027.html | 512 +++ doc/pub/week45/html/._week45-bs028.html | 513 +++ doc/pub/week45/html/._week45-bs029.html | 452 +++ doc/pub/week45/html/._week45-bs030.html | 485 +++ doc/pub/week45/html/._week45-bs031.html | 508 +++ doc/pub/week45/html/._week45-bs032.html | 464 +++ doc/pub/week45/html/._week45-bs033.html | 473 +++ doc/pub/week45/html/._week45-bs034.html | 529 +++ doc/pub/week45/html/._week45-bs035.html | 431 +++ doc/pub/week45/html/._week45-bs036.html | 436 +++ doc/pub/week45/html/._week45-bs037.html | 443 +++ doc/pub/week45/html/._week45-bs038.html | 428 +++ doc/pub/week45/html/._week45-bs039.html | 436 +++ doc/pub/week45/html/._week45-bs040.html | 446 +++ doc/pub/week45/html/._week45-bs041.html | 457 +++ doc/pub/week45/html/._week45-bs042.html | 487 +++ doc/pub/week45/html/._week45-bs043.html | 540 +++ doc/pub/week45/html/._week45-bs044.html | 543 +++ doc/pub/week45/html/._week45-bs045.html | 505 +++ doc/pub/week45/html/._week45-bs046.html | 439 +++ doc/pub/week45/html/._week45-bs047.html | 447 +++ doc/pub/week45/html/._week45-bs048.html | 482 +++ doc/pub/week45/html/._week45-bs049.html | 466 +++ doc/pub/week45/html/._week45-bs050.html | 488 +++ doc/pub/week45/html/._week45-bs051.html | 540 +++ doc/pub/week45/html/._week45-bs052.html | 461 +++ doc/pub/week45/html/._week45-bs053.html | 437 +++ doc/pub/week45/html/._week45-bs054.html | 519 +++ doc/pub/week45/html/._week45-bs055.html | 473 +++ doc/pub/week45/html/._week45-bs056.html | 434 +++ doc/pub/week45/html/._week45-bs057.html | 467 +++ doc/pub/week45/html/._week45-bs058.html | 439 +++ doc/pub/week45/html/._week45-bs059.html | 462 +++ doc/pub/week45/html/._week45-bs060.html | 451 +++ doc/pub/week45/html/._week45-bs061.html | 444 +++ doc/pub/week45/html/._week45-bs062.html | 460 +++ doc/pub/week45/html/._week45-bs063.html | 438 +++ doc/pub/week45/html/._week45-bs064.html | 452 +++ doc/pub/week45/html/._week45-bs065.html | 466 +++ doc/pub/week45/html/._week45-bs066.html | 429 +++ doc/pub/week45/html/._week45-bs067.html | 446 +++ doc/pub/week45/html/._week45-bs068.html | 429 +++ doc/pub/week45/html/._week45-bs069.html | 437 +++ doc/pub/week45/html/._week45-bs070.html | 483 +++ doc/pub/week45/html/._week45-bs071.html | 476 +++ doc/pub/week45/html/._week45-bs072.html | 428 +++ doc/pub/week45/html/._week45-bs073.html | 481 +++ doc/pub/week45/html/._week45-bs074.html | 485 +++ doc/pub/week45/html/DataFiles/bank.csv | 1372 +++++++ doc/pub/week45/html/DataFiles/cancer.dot | 57 + doc/pub/week45/html/DataFiles/cancer.png | Bin 0 -> 221561 bytes .../html/DataFiles/ensembleoverview.png | Bin 0 -> 81932 bytes doc/pub/week45/html/DataFiles/ride.csv | 15 + doc/pub/week45/html/DataFiles/ride.csv~ | 15 + doc/pub/week45/html/DataFiles/ride.dot | 13 + doc/pub/week45/html/DataFiles/rideclass.csv | 15 + doc/pub/week45/html/DataFiles/zoo.csv | 101 + doc/pub/week45/html/week45-bs.html | 390 +- doc/pub/week45/html/week45-reveal.html | 2997 +++++++++++++-- doc/pub/week45/html/week45-solarized.html | 2970 ++++++++++++-- doc/pub/week45/html/week45.html | 3050 +++++++++++++-- .../week45/ipynb/DataFiles/Datafiles/bank.csv | 1372 +++++++ .../ipynb/DataFiles/Datafiles/cancer.dot | 57 + .../ipynb/DataFiles/Datafiles/cancer.png | Bin 0 -> 221561 bytes .../DataFiles/Datafiles/ensembleoverview.png | Bin 0 -> 81932 bytes .../week45/ipynb/DataFiles/Datafiles/ride.csv | 15 + .../ipynb/DataFiles/Datafiles/ride.csv~ | 15 + .../week45/ipynb/DataFiles/Datafiles/ride.dot | 13 + .../ipynb/DataFiles/Datafiles/rideclass.csv | 15 + .../week45/ipynb/DataFiles/Datafiles/zoo.csv | 101 + doc/pub/week45/ipynb/ipynb-week45-src.tar.gz | Bin 191 -> 294340 bytes doc/pub/week45/ipynb/week45.ipynb | 3404 +++++++++++++---- doc/src/week45/Datafiles/bank.csv | 1372 +++++++ doc/src/week45/Datafiles/cancer.dot | 57 + doc/src/week45/Datafiles/cancer.png | Bin 0 -> 221561 bytes doc/src/week45/Datafiles/ensembleoverview.png | Bin 0 -> 81932 bytes doc/src/week45/Datafiles/ride.csv | 15 + doc/src/week45/Datafiles/ride.dot | 13 + doc/src/week45/Datafiles/rideclass.csv | 15 + doc/src/week45/Datafiles/zoo.csv | 101 + doc/src/week45/week45.do.txt | 1397 ++++++- 108 files changed, 51474 insertions(+), 1985 deletions(-) create mode 100644 doc/pub/week45/html/._week45-bs000.html create mode 100644 doc/pub/week45/html/._week45-bs001.html create mode 100644 doc/pub/week45/html/._week45-bs002.html create mode 100644 doc/pub/week45/html/._week45-bs003.html create mode 100644 doc/pub/week45/html/._week45-bs004.html create mode 100644 doc/pub/week45/html/._week45-bs005.html create mode 100644 doc/pub/week45/html/._week45-bs006.html create mode 100644 doc/pub/week45/html/._week45-bs007.html create mode 100644 doc/pub/week45/html/._week45-bs008.html create mode 100644 doc/pub/week45/html/._week45-bs009.html create mode 100644 doc/pub/week45/html/._week45-bs010.html create mode 100644 doc/pub/week45/html/._week45-bs011.html create mode 100644 doc/pub/week45/html/._week45-bs012.html create mode 100644 doc/pub/week45/html/._week45-bs013.html create mode 100644 doc/pub/week45/html/._week45-bs014.html create mode 100644 doc/pub/week45/html/._week45-bs015.html create mode 100644 doc/pub/week45/html/._week45-bs016.html create mode 100644 doc/pub/week45/html/._week45-bs017.html create mode 100644 doc/pub/week45/html/._week45-bs018.html create mode 100644 doc/pub/week45/html/._week45-bs019.html create mode 100644 doc/pub/week45/html/._week45-bs020.html create mode 100644 doc/pub/week45/html/._week45-bs021.html create mode 100644 doc/pub/week45/html/._week45-bs022.html create mode 100644 doc/pub/week45/html/._week45-bs023.html create mode 100644 doc/pub/week45/html/._week45-bs024.html create mode 100644 doc/pub/week45/html/._week45-bs025.html create mode 100644 doc/pub/week45/html/._week45-bs026.html create mode 100644 doc/pub/week45/html/._week45-bs027.html create mode 100644 doc/pub/week45/html/._week45-bs028.html create mode 100644 doc/pub/week45/html/._week45-bs029.html create mode 100644 doc/pub/week45/html/._week45-bs030.html create mode 100644 doc/pub/week45/html/._week45-bs031.html create mode 100644 doc/pub/week45/html/._week45-bs032.html create mode 100644 doc/pub/week45/html/._week45-bs033.html create mode 100644 doc/pub/week45/html/._week45-bs034.html create mode 100644 doc/pub/week45/html/._week45-bs035.html create mode 100644 doc/pub/week45/html/._week45-bs036.html create mode 100644 doc/pub/week45/html/._week45-bs037.html create mode 100644 doc/pub/week45/html/._week45-bs038.html create mode 100644 doc/pub/week45/html/._week45-bs039.html create mode 100644 doc/pub/week45/html/._week45-bs040.html create mode 100644 doc/pub/week45/html/._week45-bs041.html create mode 100644 doc/pub/week45/html/._week45-bs042.html create mode 100644 doc/pub/week45/html/._week45-bs043.html create mode 100644 doc/pub/week45/html/._week45-bs044.html create mode 100644 doc/pub/week45/html/._week45-bs045.html create mode 100644 doc/pub/week45/html/._week45-bs046.html create mode 100644 doc/pub/week45/html/._week45-bs047.html create mode 100644 doc/pub/week45/html/._week45-bs048.html create mode 100644 doc/pub/week45/html/._week45-bs049.html create mode 100644 doc/pub/week45/html/._week45-bs050.html create mode 100644 doc/pub/week45/html/._week45-bs051.html create mode 100644 doc/pub/week45/html/._week45-bs052.html create mode 100644 doc/pub/week45/html/._week45-bs053.html create mode 100644 doc/pub/week45/html/._week45-bs054.html create mode 100644 doc/pub/week45/html/._week45-bs055.html create mode 100644 doc/pub/week45/html/._week45-bs056.html create mode 100644 doc/pub/week45/html/._week45-bs057.html create mode 100644 doc/pub/week45/html/._week45-bs058.html create mode 100644 doc/pub/week45/html/._week45-bs059.html create mode 100644 doc/pub/week45/html/._week45-bs060.html create mode 100644 doc/pub/week45/html/._week45-bs061.html create mode 100644 doc/pub/week45/html/._week45-bs062.html create mode 100644 doc/pub/week45/html/._week45-bs063.html create mode 100644 doc/pub/week45/html/._week45-bs064.html create mode 100644 doc/pub/week45/html/._week45-bs065.html create mode 100644 doc/pub/week45/html/._week45-bs066.html create mode 100644 doc/pub/week45/html/._week45-bs067.html create mode 100644 doc/pub/week45/html/._week45-bs068.html create mode 100644 doc/pub/week45/html/._week45-bs069.html create mode 100644 doc/pub/week45/html/._week45-bs070.html create mode 100644 doc/pub/week45/html/._week45-bs071.html create mode 100644 doc/pub/week45/html/._week45-bs072.html create mode 100644 doc/pub/week45/html/._week45-bs073.html create mode 100644 doc/pub/week45/html/._week45-bs074.html create mode 100644 doc/pub/week45/html/DataFiles/bank.csv create mode 100644 doc/pub/week45/html/DataFiles/cancer.dot create mode 100644 doc/pub/week45/html/DataFiles/cancer.png create mode 100644 doc/pub/week45/html/DataFiles/ensembleoverview.png create mode 100644 doc/pub/week45/html/DataFiles/ride.csv create mode 100644 doc/pub/week45/html/DataFiles/ride.csv~ create mode 100644 doc/pub/week45/html/DataFiles/ride.dot create mode 100644 doc/pub/week45/html/DataFiles/rideclass.csv create mode 100644 doc/pub/week45/html/DataFiles/zoo.csv create mode 100644 doc/pub/week45/ipynb/DataFiles/Datafiles/bank.csv create mode 100644 doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.dot create mode 100644 doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.png create mode 100644 doc/pub/week45/ipynb/DataFiles/Datafiles/ensembleoverview.png create mode 100644 doc/pub/week45/ipynb/DataFiles/Datafiles/ride.csv create mode 100644 doc/pub/week45/ipynb/DataFiles/Datafiles/ride.csv~ create mode 100644 doc/pub/week45/ipynb/DataFiles/Datafiles/ride.dot create mode 100644 doc/pub/week45/ipynb/DataFiles/Datafiles/rideclass.csv create mode 100644 doc/pub/week45/ipynb/DataFiles/Datafiles/zoo.csv create mode 100644 doc/src/week45/Datafiles/bank.csv create mode 100644 doc/src/week45/Datafiles/cancer.dot create mode 100644 doc/src/week45/Datafiles/cancer.png create mode 100644 doc/src/week45/Datafiles/ensembleoverview.png create mode 100644 doc/src/week45/Datafiles/ride.csv create mode 100644 doc/src/week45/Datafiles/ride.dot create mode 100644 doc/src/week45/Datafiles/rideclass.csv create mode 100644 doc/src/week45/Datafiles/zoo.csv diff --git a/doc/pub/week45/html/._week45-bs000.html b/doc/pub/week45/html/._week45-bs000.html new file mode 100644 index 000000000..9b208d6d2 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs000.html @@ -0,0 +1,438 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +
+
+

Week 45: Decisions Trees, Random Forests, Bagging and Boosting

+
+ + +
+Morten Hjorth-Jensen [1, 2] +
+ +
+[1] Department of Physics, University of Oslo +
+
+[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
+
+
+

Nov 9, 2021

+
+
+ + + +

Read »

+ + +
+ +

+ +

+ +
+ + + + +
+ © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license +
+ + + diff --git a/doc/pub/week45/html/._week45-bs001.html b/doc/pub/week45/html/._week45-bs001.html new file mode 100644 index 000000000..e5aba384d --- /dev/null +++ b/doc/pub/week45/html/._week45-bs001.html @@ -0,0 +1,438 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Overview of week 45

+ + + + + +
+
+ +
    +
  1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from STK-IN4300, lecture 7. Chapter 9.2 of Hastie et al contains also a good discussion.
  2. +
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs002.html b/doc/pub/week45/html/._week45-bs002.html new file mode 100644 index 000000000..595542bd8 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs002.html @@ -0,0 +1,439 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Decision trees, overarching aims

+ +

We start here with the most basic algorithm, the so-called decision +tree. With this basic algorithm we can in turn build more complex +networks, spanning from homogeneous and heterogenous forests (bagging, +random forests and more) to one of the most popular supervised +algorithms nowadays, the extreme gradient boosting, or just +XGBoost. But let us start with the simplest possible ingredient. +

+ +

Decision trees are supervised learning algorithms used for both, +classification and regression tasks. +

+ +

The main idea of decision trees +is to find those descriptive features which contain the most +information regarding the target feature and then split the dataset +along the values of these features such that the target feature values +for the resulting underlying datasets are as pure as possible. +

+ +

The descriptive features which reproduce best the target/output features are normally said +to be the most informative ones. The process of finding the most +informative feature is done until we accomplish a stopping criteria +where we then finally end up in so called leaf nodes. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs003.html b/doc/pub/week45/html/._week45-bs003.html new file mode 100644 index 000000000..584d18486 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs003.html @@ -0,0 +1,427 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Basics of a tree

+ +

A decision tree is typically divided into a root node, the interior nodes, +and the final leaf nodes or just leaves. These entities are then connected by so-called branches. +

+ +

The leaf nodes +contain the predictions we will make for new query instances presented +to our trained model. This is possible since the model has +learned the underlying structure of the training data and hence can, +given some assumptions, make predictions about the target feature value +(class) of unseen query instances. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs004.html b/doc/pub/week45/html/._week45-bs004.html new file mode 100644 index 000000000..5681fbc5a --- /dev/null +++ b/doc/pub/week45/html/._week45-bs004.html @@ -0,0 +1,418 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

A Sketch of a Tree, Regression problem

+ + + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs005.html b/doc/pub/week45/html/._week45-bs005.html new file mode 100644 index 000000000..7214fe91d --- /dev/null +++ b/doc/pub/week45/html/._week45-bs005.html @@ -0,0 +1,419 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

A Sketch of a Tree, Classification problem

+ + + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs006.html b/doc/pub/week45/html/._week45-bs006.html new file mode 100644 index 000000000..6f7eb59ec --- /dev/null +++ b/doc/pub/week45/html/._week45-bs006.html @@ -0,0 +1,426 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

A typical Decision Tree with its pertinent Jargon, Classification Problem

+ +

+
+

+
+

+ +

This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches.

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs007.html b/doc/pub/week45/html/._week45-bs007.html new file mode 100644 index 000000000..c839830c0 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs007.html @@ -0,0 +1,431 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

General Features

+ +

The overarching approach to decision trees is a top-down approach.

+ + +

This process is then repeated for the subtree rooted at the new +node. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs008.html b/doc/pub/week45/html/._week45-bs008.html new file mode 100644 index 000000000..0ce7375a4 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs008.html @@ -0,0 +1,432 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

How do we set it up?

+ +

In simplified terms, the process of training a decision tree and +predicting the target features of query instances is as follows: +

+ +
    +
  1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature
  2. +
  3. Train the decision tree model by continuously splitting the target feature along the values of the descriptive features using a measure of information gain during the training process
  4. +
  5. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the predictions we want to make for new query instances
  6. +
  7. Show query instances to the tree and run down the tree until we arrive at leaf nodes
  8. +
+

Then we are essentially done!

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs009.html b/doc/pub/week45/html/._week45-bs009.html new file mode 100644 index 000000000..15b25bcbd --- /dev/null +++ b/doc/pub/week45/html/._week45-bs009.html @@ -0,0 +1,531 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Decision trees and Regression

+ + +
+
+
+
+
+
import numpy as np
+import matplotlib.pyplot as plt
+from sklearn.preprocessing import PolynomialFeatures
+from sklearn.linear_model import LinearRegression
+
+steps=250
+
+distance=0
+x=0
+distance_list=[]
+steps_list=[]
+while x<steps:
+    distance+=np.random.randint(-1,2)
+    distance_list.append(distance)
+    x+=1
+    steps_list.append(x)
+plt.plot(steps_list,distance_list, color='green', label="Random Walk Data")
+
+steps_list=np.asarray(steps_list)
+distance_list=np.asarray(distance_list)
+
+X=steps_list[:,np.newaxis]
+
+#Polynomial fits
+
+#Degree 2
+poly_features=PolynomialFeatures(degree=2, include_bias=False)
+X_poly=poly_features.fit_transform(X)
+
+lin_reg=LinearRegression()
+poly_fit=lin_reg.fit(X_poly,distance_list)
+b=lin_reg.coef_
+c=lin_reg.intercept_
+print ("2nd degree coefficients:")
+print ("zero power: ",c)
+print ("first power: ", b[0])
+print ("second power: ",b[1])
+
+z = np.arange(0, steps, .01)
+z_mod=b[1]*z**2+b[0]*z+c
+
+fit_mod=b[1]*X**2+b[0]*X+c
+plt.plot(z, z_mod, color='r', label="2nd Degree Fit")
+plt.title("Polynomial Regression")
+
+plt.xlabel("Steps")
+plt.ylabel("Distance")
+
+#Degree 10
+poly_features10=PolynomialFeatures(degree=10, include_bias=False)
+X_poly10=poly_features10.fit_transform(X)
+
+poly_fit10=lin_reg.fit(X_poly10,distance_list)
+
+y_plot=poly_fit10.predict(X_poly10)
+plt.plot(X, y_plot, color='black', label="10th Degree Fit")
+
+plt.legend()
+plt.show()
+
+
+#Decision Tree Regression
+from sklearn.tree import DecisionTreeRegressor
+regr_1=DecisionTreeRegressor(max_depth=2)
+regr_2=DecisionTreeRegressor(max_depth=5)
+regr_3=DecisionTreeRegressor(max_depth=7)
+regr_1.fit(X, distance_list)
+regr_2.fit(X, distance_list)
+regr_3.fit(X, distance_list)
+
+X_test = np.arange(0.0, steps, 0.01)[:, np.newaxis]
+y_1 = regr_1.predict(X_test)
+y_2 = regr_2.predict(X_test)
+y_3=regr_3.predict(X_test)
+
+# Plot the results
+plt.figure()
+plt.scatter(X, distance_list, s=2.5, c="black", label="data")
+plt.plot(X_test, y_1, color="red",
+         label="max_depth=2", linewidth=2)
+plt.plot(X_test, y_2, color="green", label="max_depth=5", linewidth=2)
+plt.plot(X_test, y_3, color="m", label="max_depth=7", linewidth=2)
+
+plt.xlabel("Data")
+plt.ylabel("Darget")
+plt.title("Decision Tree Regression")
+plt.legend()
+plt.show()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs010.html b/doc/pub/week45/html/._week45-bs010.html new file mode 100644 index 000000000..95bf38cd4 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs010.html @@ -0,0 +1,443 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Building a tree, regression

+ +

There are mainly two steps

+
    +
  1. We split the predictor space (the set of possible values \( x_1,x_2,\dots, x_p \)) into \( J \) distinct and non-non-overlapping regions, \( R_1,R_2,\dots,R_J \).
  2. +
  3. For every observation that falls into the region \( R_j \) , we make the same prediction, which is simply the mean of the response values for the training observations in \( R_j \).
  4. +
+

How do we construct the regions \( R_1,\dots,R_J \)? In theory, the +regions could have any shape. However, we choose to divide the +predictor space into high-dimensional rectangles, or boxes, for +simplicity and for ease of interpretation of the resulting predictive +model. The goal is to find boxes \( R_1,\dots,R_J \) that minimize the +MSE, given by +

+ +$$ +\sum_{j=1}^J\sum_{i\in R_j}(y_i-\overline{y}_{R_j})^2, +$$ + +

where \( \overline{y}_{R_j} \) is the mean response for the training observations +within box \( j \). +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs011.html b/doc/pub/week45/html/._week45-bs011.html new file mode 100644 index 000000000..1ced5775f --- /dev/null +++ b/doc/pub/week45/html/._week45-bs011.html @@ -0,0 +1,436 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

A top-down approach, recursive binary splitting

+ +

Unfortunately, it is computationally infeasible to consider every +possible partition of the feature space into \( J \) boxes. The common +strategy is to take a top-down approach +

+ +

The approach is top-down because it begins at the top of the tree (all +observations belong to a single region) and then successively splits +the predictor space; each split is indicated via two new branches +further down on the tree. It is greedy because at each step of the +tree-building process, the best split is made at that particular step, +rather than looking ahead and picking a split that will lead to a +better tree in some future step. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs012.html b/doc/pub/week45/html/._week45-bs012.html new file mode 100644 index 000000000..ddef5e95a --- /dev/null +++ b/doc/pub/week45/html/._week45-bs012.html @@ -0,0 +1,468 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Making a tree

+ +

In order to implement the recursive binary splitting we start by selecting +the predictor \( x_j \) and a cutpoint \( s \) that splits the predictor space into two regions \( R_1 \) and \( R_2 \) +

+$$ +\left\{X\vert x_j < s\right\}, +$$ + +

and

+$$ +\left\{X\vert x_j \geq s\right\}, +$$ + +

so that we obtain the lowest MSE, that is

+$$ +\sum_{i:x_i\in R_j}(y_i-\overline{y}_{R_1})^2+\sum_{i:x_i\in R_2}(y_i-\overline{y}_{R_2})^2, +$$ + +

which we want to minimize by considering all predictors +\( x_1,x_2,\dots,x_p \). We consider also all possible values of \( s \) for +each predictor. These values could be determined by randomly assigned +numbers or by starting at the midpoint and then proceed till we find +an optimal value. +

+ +

For any \( j \) and \( s \), we define the pair of half-planes where +\( \overline{y}_{R_1} \) is the mean response for the training +observations in \( R_1(j,s) \), and \( \overline{y}_{R_2} \) is the mean +response for the training observations in \( R_2(j,s) \). +

+ +

Finding the values of \( j \) and \( s \) that minimize the above equation can be +done quite quickly, especially when the number of features \( p \) is not +too large. +

+ +

Next, we repeat the process, looking +for the best predictor and best cutpoint in order to split the data +further so as to minimize the MSE within each of the resulting +regions. However, this time, instead of splitting the entire predictor +space, we split one of the two previously identified regions. We now +have three regions. Again, we look to split one of these three regions +further, so as to minimize the MSE. The process continues until a +stopping criterion is reached; for instance, we may continue until no +region contains more than five observations. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs013.html b/doc/pub/week45/html/._week45-bs013.html new file mode 100644 index 000000000..98b40a18f --- /dev/null +++ b/doc/pub/week45/html/._week45-bs013.html @@ -0,0 +1,438 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Pruning the tree

+ +

The above procedure is rather straightforward, but leads often to +overfitting and unnecessarily large and complicated trees. The basic +idea is to grow a large tree \( T_0 \) and then prune it back in order to +obtain a subtree. A smaller tree with fewer splits (fewer regions) can +lead to smaller variance and better interpretation at the cost of a +little more bias. +

+ +

The so-called Cost complexity pruning algorithm gives us a +way to do just this. Rather than considering every possible subtree, +we consider a sequence of trees indexed by a nonnegative tuning +parameter \( \alpha \). +

+ +

Read more at the following Scikit-Learn link on pruning.

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs014.html b/doc/pub/week45/html/._week45-bs014.html new file mode 100644 index 000000000..242744e67 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs014.html @@ -0,0 +1,450 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Cost complexity pruning

+ +

For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that

+$$ +\sum_{m=1}^{\overline{T}}\sum_{i:x_i\in R_m}(y_i-\overline{y}_{R_m})^2+\alpha\overline{T}, +$$ + +

is as small as possible. Here \( \overline{T} \) is +the number of terminal nodes of the tree \( T \) , \( R_m \) is the +rectangle (i.e. the subset of predictor space) corresponding to the \( m \)-th terminal node. +

+ +

The tuning parameter \( \alpha \) controls a trade-off between the subtree’s +complexity and its fit to the training data. When \( \alpha = 0 \), then the +subtree \( T \) will simply equal \( T_0 \), +because then the above equation just measures the +training error. +However, as \( \alpha \) increases, there is a price to pay for +having a tree with many terminal nodes. The above equation will +tend to be minimized for a smaller subtree. +

+ +

It turns out that as we increase \( \alpha \) from zero +branches get pruned from the tree in a nested and predictable fashion, +so obtaining the whole sequence of subtrees as a function of \( \alpha \) is +easy. We can select a value of \( \alpha \) using a validation set or using +cross-validation. We then return to the full data set and obtain the +subtree corresponding to \( \alpha \). +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs015.html b/doc/pub/week45/html/._week45-bs015.html new file mode 100644 index 000000000..e455050b4 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs015.html @@ -0,0 +1,441 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Schematic Regression Procedure

+ +
+
+ + +
    +
  1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.
  2. +
  3. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of \( \alpha \).
  4. +
  5. Use for example \( K \)-fold cross-validation to choose \( \alpha \). Divide the training observations into \( K \) folds. For each \( k=1,2,\dots,K \) we:
  6. +
      +
    • repeat steps 1 and 2 on all but the \( k \)-th fold of the training data.
    • +
    • Then we valuate the mean squared prediction error on the data in the left-out \( k \)-th fold, as a function of \( \alpha \).
    • +
    • Finally we average the results for each value of \( \alpha \), and pick \( \alpha \) to minimize the average error.
    • +
    +
  7. Return the subtree from Step 2 that corresponds to the chosen value of \( \alpha \).
  8. +
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs016.html b/doc/pub/week45/html/._week45-bs016.html new file mode 100644 index 000000000..e5042d19e --- /dev/null +++ b/doc/pub/week45/html/._week45-bs016.html @@ -0,0 +1,436 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

A Classification Tree

+ +

A classification tree is very similar to a regression tree, except +that it is used to predict a qualitative response rather than a +quantitative one. Recall that for a regression tree, the predicted +response for an observation is given by the mean response of the +training observations that belong to the same terminal node. In +contrast, for a classification tree, we predict that each observation +belongs to the most commonly occurring class of training observations +in the region to which it belongs. In interpreting the results of a +classification tree, we are often interested not only in the class +prediction corresponding to a particular terminal node region, but +also in the class proportions among the training observations that +fall into that region. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs017.html b/doc/pub/week45/html/._week45-bs017.html new file mode 100644 index 000000000..9514c9eef --- /dev/null +++ b/doc/pub/week45/html/._week45-bs017.html @@ -0,0 +1,441 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Growing a classification tree

+ +

The task of growing a +classification tree is quite similar to the task of growing a +regression tree. Just as in the regression setting, we use recursive +binary splitting to grow a classification tree. However, in the +classification setting, the MSE cannot be used as a criterion for making +the binary splits. A natural alternative to MSE is the classification +error rate. Since we plan to assign an observation in a given region +to the most commonly occurring error rate class of training +observations in that region, the classification error rate is simply +the fraction of the training observations in that region that do not +belong to the most common class. +

+ +

When building a classification tree, either the Gini index or the +entropy are typically used to evaluate the quality of a particular +split, since these two approaches are more sensitive to node purity +than is the classification error rate. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs018.html b/doc/pub/week45/html/._week45-bs018.html new file mode 100644 index 000000000..0b98928c8 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs018.html @@ -0,0 +1,463 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Classification tree, how to split nodes

+ +

If our targets are the outcome of a classification process that takes +for example \( k=1,2,\dots,K \) values, the only thing we need to think of +is to set up the splitting criteria for each node. +

+ +

We define a PDF \( p_{mk} \) that represents the number of observations of +a class \( k \) in a region \( R_m \) with \( N_m \) observations. We represent +this likelihood function in terms of the proportion \( I(y_i=k) \) of +observations of this class in the region \( R_m \) as +

+ +$$ +p_{mk} = \frac{1}{N_m}\sum_{x_i\in R_m}I(y_i=k). +$$ + +

We let \( p_{mk} \) represent the majority class of observations in region +\( m \). The three most common ways of splitting a node are given by +

+ + +$$ +p_{mk} = \frac{1}{N_m}\sum_{x_i\in R_m}I(y_i\ne k) = 1-p_{mk}. +$$ + + +$$ +g = \sum_{k=1}^K p_{mk}(1-p_{mk}). +$$ + + +$$ +s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}. +$$ + + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs019.html b/doc/pub/week45/html/._week45-bs019.html new file mode 100644 index 000000000..7dec16fcd --- /dev/null +++ b/doc/pub/week45/html/._week45-bs019.html @@ -0,0 +1,477 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Visualizing the Tree, Classification

+ + +
+
+
+
+
+
import os
+from sklearn.datasets import load_breast_cancer
+from sklearn.tree import DecisionTreeClassifier
+from sklearn.model_selection import train_test_split
+from sklearn.metrics import confusion_matrix
+from sklearn.tree import export_graphviz
+
+from IPython.display import Image 
+from pydot import graph_from_dot_data
+import pandas as pd
+import numpy as np
+
+
+cancer = load_breast_cancer()
+X = pd.DataFrame(cancer.data, columns=cancer.feature_names)
+print(X)
+y = pd.Categorical.from_codes(cancer.target, cancer.target_names)
+y = pd.get_dummies(y)
+print(y)
+X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)
+tree_clf = DecisionTreeClassifier(max_depth=5)
+tree_clf.fit(X_train, y_train)
+
+export_graphviz(
+    tree_clf,
+    out_file="DataFiles/cancer.dot",
+    feature_names=cancer.feature_names,
+    class_names=cancer.target_names,
+    rounded=True,
+    filled=True
+)
+cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
+os.system(cmd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs020.html b/doc/pub/week45/html/._week45-bs020.html new file mode 100644 index 000000000..1183f109f --- /dev/null +++ b/doc/pub/week45/html/._week45-bs020.html @@ -0,0 +1,468 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Visualizing the Tree, The Moons

+ + +
+
+
+
+
+
# Common imports
+import numpy as np
+from sklearn.model_selection import  train_test_split 
+from sklearn.tree import DecisionTreeClassifier
+from sklearn.datasets import make_moons
+from sklearn.tree import export_graphviz
+from pydot import graph_from_dot_data
+import pandas as pd
+import os
+
+np.random.seed(42)
+X, y = make_moons(n_samples=100, noise=0.25, random_state=53)
+X_train, X_test, y_train, y_test = train_test_split(X,y,random_state=0)
+tree_clf = DecisionTreeClassifier(max_depth=5)
+tree_clf.fit(X_train, y_train)
+
+export_graphviz(
+    tree_clf,
+    out_file="DataFiles/moons.dot",
+    rounded=True,
+    filled=True
+)
+cmd = 'dot -Tpng DataFiles/moons.dot -o DataFiles/moons.png'
+os.system(cmd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs021.html b/doc/pub/week45/html/._week45-bs021.html new file mode 100644 index 000000000..cd5d4cb96 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs021.html @@ -0,0 +1,454 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Other ways of visualizing the trees

+ +

Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data.

+ + + +
+
+
+
+
+
from sklearn.datasets import load_iris
+from sklearn import tree
+X, y = load_iris(return_X_y=True)
+tree_clf = tree.DecisionTreeClassifier()
+tree_clf = tree_clf.fit(X, y)
+# and then plot the tree
+tree.plot_tree(tree_clf) 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs022.html b/doc/pub/week45/html/._week45-bs022.html new file mode 100644 index 000000000..f214fb51f --- /dev/null +++ b/doc/pub/week45/html/._week45-bs022.html @@ -0,0 +1,457 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Printing out as text

+ +

Alternatively, the tree can also be exported in textual format with the function exporttext. +This method doesn’t require the installation of external libraries and is more compact: +

+ + + +
+
+
+
+
+
from sklearn.datasets import load_iris
+from sklearn.tree import DecisionTreeClassifier
+from sklearn.tree import export_text
+iris = load_iris()
+decision_tree = DecisionTreeClassifier(random_state=0, max_depth=2)
+decision_tree = decision_tree.fit(iris.data, iris.target)
+r = export_text(decision_tree, feature_names=iris['feature_names'])
+print(r)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs023.html b/doc/pub/week45/html/._week45-bs023.html new file mode 100644 index 000000000..3d7c0b193 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs023.html @@ -0,0 +1,433 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Algorithms for Setting up Decision Trees

+ +

Two algorithms stand out in the set up of decision trees:

+
    +
  1. The CART (Classification And Regression Tree) algorithm for both classification and regression
  2. +
  3. The ID3 algorithm based on the computation of the information gain for classification
  4. +
+

We discuss both algorithms with applications here. The popular library +Scikit-Learn uses the CART algorithm. For classification problems +you can use either the gini index or the entropy to split a tree +in two branches. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs024.html b/doc/pub/week45/html/._week45-bs024.html new file mode 100644 index 000000000..adc4d2bc0 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs024.html @@ -0,0 +1,445 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

The CART algorithm for Classification

+ +

For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). +This could be for example a threshold set by a number below a certain circumference of a malign tumor. +

+ +

How do we find these two quantities? +We search for the pair \( (k,t_k) \) that produces the purest subset using for example the gini factor \( G \). +The cost function it tries to minimize is then +

+$$ +C(k,t_k) = \frac{m_{\mathrm{left}}}{m}G_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}G_{\mathrm{right}}, +$$ + +

where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) + is the number of instances in the left/right subset +

+ +

Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets +and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the +\( max\_depth \) hyperparameter), or if it cannot find a split that will reduce impurity. A few other +hyperparameters control additional stopping conditions such as the \( min\_samples\_split \), +\( min\_samples\_leaf \), \( min\_weight\_fraction\_leaf \), and \( max\_leaf\_nodes \). +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs025.html b/doc/pub/week45/html/._week45-bs025.html new file mode 100644 index 000000000..7978c4bd0 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs025.html @@ -0,0 +1,445 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

The CART algorithm for Regression

+ +

The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the +training set in a way that minimizes say the gini or entropy impurity, it now tries to split the training set in a way that minimizes our well-known mean-squared error (MSE). The cost function is now +

+$$ +C(k,t_k) = \frac{m_{\mathrm{left}}}{m}\mathrm{MSE}_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}\mathrm{MSE}_{\mathrm{right}}. +$$ + +

Here the MSE for a specific node is defined as

+$$ +\mathrm{MSE}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}(\overline{y}_{\mathrm{node}}-y_i)^2, +$$ + +

with

+$$ +\overline{y}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}y_i, +$$ + +

the mean value of all observations in a specific node.

+ +

Without any regularization, the regression task for decision trees, +just like for classification tasks, is prone to overfitting. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs026.html b/doc/pub/week45/html/._week45-bs026.html new file mode 100644 index 000000000..df025d454 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs026.html @@ -0,0 +1,461 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Computing the Gini index

+ +

The example we will look at is a classical one in many Machine +Learning applications. Based on various meteorological features, we +have several so-called attributes which decide whether we at the end +will do some outdoor activity like skiing, going for a bike ride etc +etc. The table here contains the feautures outlook, temperature, +humidity and wind. The target or output is whether we ride +(True=1) or whether we do something else that day (False=0). The +attributes for each feature are then sunny, overcast and rain for the +outlook, hot, cold and mild for temperature, high and normal for +humidity and weak and strong for wind. +

+ +

The table here summarizes the various attributes and

+
+
+ + + + + + + + + + + + + + + + + + + + +
Day Outlook Temperature Humidity Wind Ride
1 Sunny Hot High Weak 0
2 Sunny Hot High Strong 1
3 Overcast Hot High Weak 1
4 Rain Mild High Weak 1
5 Rain Cool Normal Weak 1
6 Rain Cool Normal Strong 0
7 Overcast Cool Normal Strong 1
8 Sunny Mild High Weak 0
9 Sunny Cool Normal Weak 1
10 Rain Mild Normal Weak 1
11 Sunny Mild Normal Strong 1
12 Overcast Mild High Strong 1
13 Overcast Hot Normal Weak 1
14 Rain Mild High Strong 0
+
+
+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs027.html b/doc/pub/week45/html/._week45-bs027.html new file mode 100644 index 000000000..1f347bfc4 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs027.html @@ -0,0 +1,512 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Simple Python Code to read in Data and perform Classification

+ + + +
+
+
+
+
+
# Common imports
+import numpy as np
+import pandas as pd
+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')
+
+infile = open(data_path("rideclass.csv"),'r')
+
+# Read the experimental data with Pandas
+from IPython.display import display
+ridedata = pd.read_csv(infile,names = ('Outlook','Temperature','Humidity','Wind','Ride'))
+ridedata = pd.DataFrame(ridedata)
+
+# Features and targets
+X = ridedata.loc[:, ridedata.columns != 'Ride'].values
+y = ridedata.loc[:, ridedata.columns == 'Ride'].values
+
+# Create the encoder.
+encoder = OneHotEncoder(handle_unknown="ignore")
+# Assume for simplicity all features are categorical.
+encoder.fit(X)    
+# Apply the encoder.
+X = encoder.transform(X)
+print(X)
+# Then do a Classification tree
+tree_clf = DecisionTreeClassifier(max_depth=2)
+tree_clf.fit(X, y)
+print("Train set accuracy with Decision Tree: {:.2f}".format(tree_clf.score(X,y)))
+#transfer to a decision tree graph
+export_graphviz(
+    tree_clf,
+    out_file="DataFiles/ride.dot",
+    rounded=True,
+    filled=True
+)
+cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
+os.system(cmd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs028.html b/doc/pub/week45/html/._week45-bs028.html new file mode 100644 index 000000000..e95274d58 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs028.html @@ -0,0 +1,513 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Computing the Gini Factor

+ +

The above functions (gini, entropy and misclassification error) are +important components of the so-called CART algorithm. We will discuss +this algorithm below after we have discussed the information gain +algorithm ID3. +

+ +

In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc.

+ + + +
+
+
+
+
+
# Split a dataset based on an attribute and an attribute value
+def test_split(index, value, dataset):
+	left, right = list(), list()
+	for row in dataset:
+		if row[index] < value:
+			left.append(row)
+		else:
+			right.append(row)
+	return left, right
+ 
+# Calculate the Gini index for a split dataset
+def gini_index(groups, classes):
+	# count all samples at split point
+	n_instances = float(sum([len(group) for group in groups]))
+	# sum weighted Gini index for each group
+	gini = 0.0
+	for group in groups:
+		size = float(len(group))
+		# avoid divide by zero
+		if size == 0:
+			continue
+		score = 0.0
+		# score the group based on the score for each class
+		for class_val in classes:
+			p = [row[-1] for row in group].count(class_val) / size
+			score += p * p
+		# weight the group score by its relative size
+		gini += (1.0 - score) * (size / n_instances)
+	return gini
+
+# Select the best split point for a dataset
+def get_split(dataset):
+	class_values = list(set(row[-1] for row in dataset))
+	b_index, b_value, b_score, b_groups = 999, 999, 999, None
+	for index in range(len(dataset[0])-1):
+		for row in dataset:
+			groups = test_split(index, row[index], dataset)
+			gini = gini_index(groups, class_values)
+			print('X%d < %.3f Gini=%.3f' % ((index+1), row[index], gini))
+			if gini < b_score:
+				b_index, b_value, b_score, b_groups = index, row[index], gini, groups
+	return {'index':b_index, 'value':b_value, 'groups':b_groups}
+ 
+dataset = [[0,0,0,0,0],
+            [0,0,0,1,1],
+            [1,0,0,0,1],
+            [2,1,0,0,1],
+            [2,2,1,0,1],
+            [2,2,1,1,0],
+            [1,2,1,1,1],
+            [0,1,0,0,0],
+            [0,2,1,0,1],
+            [2,1,1,0,1],
+            [0,1,1,1,1],
+            [1,1,0,1,1],
+            [1,0,1,0,1],
+            [2,1,0,1,0]]
+
+split = get_split(dataset)
+print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs029.html b/doc/pub/week45/html/._week45-bs029.html new file mode 100644 index 000000000..d43fc002a --- /dev/null +++ b/doc/pub/week45/html/._week45-bs029.html @@ -0,0 +1,452 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Entropy and the ID3 algorithm

+ +

The ID3 algorithm learns decision trees by constructing +them in a top down way, beginning with the question which attribute should be tested at the root of the tree? +

+ +
    +
  1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.
  2. +
  3. The best attribute is selected and used as the test at the root node of the tree.
  4. +
  5. A descendant of the root node is then created for each possible value of this attribute.
  6. +
  7. Training examples are sorted to the appropriate descendant node.
  8. +
  9. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.
  10. +
  11. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices.
  12. +
+

The ID3 algorithm selects which attribute to test at each node in the +tree. +

+ +

We would like to select the attribute that is most useful for classifying +examples. +

+ +

What is a good quantitative measure of the worth of an attribute?

+ +

Information gain measures how well a given attribute separates the +training examples according to their target classification. +

+ +

The ID3 algorithm uses this information gain measure to select among the candidate +attributes at each step while growing the tree. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs030.html b/doc/pub/week45/html/._week45-bs030.html new file mode 100644 index 000000000..b9e717ce5 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs030.html @@ -0,0 +1,485 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Cancer Data again now with Decision Trees and other Methods

+ + +
+
+
+
+
+
import matplotlib.pyplot as plt
+import numpy as np
+from sklearn.model_selection import  train_test_split 
+from sklearn.datasets import load_breast_cancer
+from sklearn.svm import SVC
+from sklearn.linear_model import LogisticRegression
+from sklearn.tree import DecisionTreeClassifier
+
+# Load the data
+cancer = load_breast_cancer()
+
+X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)
+print(X_train.shape)
+print(X_test.shape)
+# Logistic Regression
+logreg = LogisticRegression(solver='lbfgs')
+logreg.fit(X_train, y_train)
+print("Test set accuracy with Logistic Regression: {:.2f}".format(logreg.score(X_test,y_test)))
+# Support vector machine
+svm = SVC(gamma='auto', C=100)
+svm.fit(X_train, y_train)
+print("Test set accuracy with SVM: {:.2f}".format(svm.score(X_test,y_test)))
+# Decision Trees
+deep_tree_clf = DecisionTreeClassifier(max_depth=None)
+deep_tree_clf.fit(X_train, y_train)
+print("Test set accuracy with Decision Trees: {:.2f}".format(deep_tree_clf.score(X_test,y_test)))
+#now scale the data
+from sklearn.preprocessing import StandardScaler
+scaler = StandardScaler()
+scaler.fit(X_train)
+X_train_scaled = scaler.transform(X_train)
+X_test_scaled = scaler.transform(X_test)
+# Logistic Regression
+logreg.fit(X_train_scaled, y_train)
+print("Test set accuracy Logistic Regression with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test)))
+# Support Vector Machine
+svm.fit(X_train_scaled, y_train)
+print("Test set accuracy SVM with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test)))
+# Decision Trees
+deep_tree_clf.fit(X_train_scaled, y_train)
+print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs031.html b/doc/pub/week45/html/._week45-bs031.html new file mode 100644 index 000000000..d2b9e2106 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs031.html @@ -0,0 +1,508 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Another example, the moons again

+ + +
+
+
+
+
+
from __future__ import division, print_function, unicode_literals
+
+# Common imports
+import numpy as np
+import os
+
+# to make this notebook's output stable across runs
+np.random.seed(42)
+
+# To plot pretty figures
+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
+
+
+from sklearn.svm import SVC
+from sklearn import datasets
+from sklearn.tree import DecisionTreeClassifier
+from sklearn.datasets import make_moons
+from sklearn.tree import export_graphviz
+
+Xm, ym = make_moons(n_samples=100, noise=0.25, random_state=53)
+
+deep_tree_clf1 = DecisionTreeClassifier(random_state=42)
+deep_tree_clf2 = DecisionTreeClassifier(min_samples_leaf=4, random_state=42)
+deep_tree_clf1.fit(Xm, ym)
+deep_tree_clf2.fit(Xm, ym)
+
+
+def plot_decision_boundary(clf, X, y, axes=[0, 7.5, 0, 3], iris=True, legend=False, plot_training=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 not iris:
+        custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50'])
+        plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8)
+    if plot_training:
+        plt.plot(X[:, 0][y==0], X[:, 1][y==0], "yo", label="Iris-Setosa")
+        plt.plot(X[:, 0][y==1], X[:, 1][y==1], "bs", label="Iris-Versicolor")
+        plt.plot(X[:, 0][y==2], X[:, 1][y==2], "g^", label="Iris-Virginica")
+        plt.axis(axes)
+    if iris:
+        plt.xlabel("Petal length", fontsize=14)
+        plt.ylabel("Petal width", fontsize=14)
+    else:
+        plt.xlabel(r"$x_1$", fontsize=18)
+        plt.ylabel(r"$x_2$", fontsize=18, rotation=0)
+    if legend:
+        plt.legend(loc="lower right", fontsize=14)
+plt.figure(figsize=(11, 4))
+plt.subplot(121)
+plot_decision_boundary(deep_tree_clf1, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
+plt.title("No restrictions", fontsize=16)
+plt.subplot(122)
+plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
+plt.title("min_samples_leaf = {}".format(deep_tree_clf2.min_samples_leaf), fontsize=14)
+plt.show()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs032.html b/doc/pub/week45/html/._week45-bs032.html new file mode 100644 index 000000000..999571e8f --- /dev/null +++ b/doc/pub/week45/html/._week45-bs032.html @@ -0,0 +1,464 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Playing around with regions

+ + +
+
+
+
+
+
np.random.seed(6)
+Xs = np.random.rand(100, 2) - 0.5
+ys = (Xs[:, 0] > 0).astype(np.float32) * 2
+
+angle = np.pi/4
+rotation_matrix = np.array([[np.cos(angle), -np.sin(angle)], [np.sin(angle), np.cos(angle)]])
+Xsr = Xs.dot(rotation_matrix)
+
+tree_clf_s = DecisionTreeClassifier(random_state=42)
+tree_clf_s.fit(Xs, ys)
+tree_clf_sr = DecisionTreeClassifier(random_state=42)
+tree_clf_sr.fit(Xsr, ys)
+
+plt.figure(figsize=(11, 4))
+plt.subplot(121)
+plot_decision_boundary(tree_clf_s, Xs, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
+plt.subplot(122)
+plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
+
+plt.show()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs033.html b/doc/pub/week45/html/._week45-bs033.html new file mode 100644 index 000000000..2bb94767c --- /dev/null +++ b/doc/pub/week45/html/._week45-bs033.html @@ -0,0 +1,473 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Regression trees

+ + +
+
+
+
+
+
# Quadratic training set + noise
+np.random.seed(42)
+m = 200
+X = np.random.rand(m, 1)
+y = 4 * (X - 0.5) ** 2
+y = y + np.random.randn(m, 1) / 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
from sklearn.tree import DecisionTreeRegressor
+
+tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)
+tree_reg.fit(X, y)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs034.html b/doc/pub/week45/html/._week45-bs034.html new file mode 100644 index 000000000..ece8fcbfe --- /dev/null +++ b/doc/pub/week45/html/._week45-bs034.html @@ -0,0 +1,529 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

Final regressor code

+ + +
+
+
+
+
+
from sklearn.tree import DecisionTreeRegressor
+
+tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)
+tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)
+tree_reg1.fit(X, y)
+tree_reg2.fit(X, y)
+
+def plot_regression_predictions(tree_reg, X, y, axes=[0, 1, -0.2, 1], ylabel="$y$"):
+    x1 = np.linspace(axes[0], axes[1], 500).reshape(-1, 1)
+    y_pred = tree_reg.predict(x1)
+    plt.axis(axes)
+    plt.xlabel("$x_1$", fontsize=18)
+    if ylabel:
+        plt.ylabel(ylabel, fontsize=18, rotation=0)
+    plt.plot(X, y, "b.")
+    plt.plot(x1, y_pred, "r.-", linewidth=2, label=r"$\hat{y}$")
+
+plt.figure(figsize=(11, 4))
+plt.subplot(121)
+plot_regression_predictions(tree_reg1, X, y)
+for split, style in ((0.1973, "k-"), (0.0917, "k--"), (0.7718, "k--")):
+    plt.plot([split, split], [-0.2, 1], style, linewidth=2)
+plt.text(0.21, 0.65, "Depth=0", fontsize=15)
+plt.text(0.01, 0.2, "Depth=1", fontsize=13)
+plt.text(0.65, 0.8, "Depth=1", fontsize=13)
+plt.legend(loc="upper center", fontsize=18)
+plt.title("max_depth=2", fontsize=14)
+
+plt.subplot(122)
+plot_regression_predictions(tree_reg2, X, y, ylabel=None)
+for split, style in ((0.1973, "k-"), (0.0917, "k--"), (0.7718, "k--")):
+    plt.plot([split, split], [-0.2, 1], style, linewidth=2)
+for split in (0.0458, 0.1298, 0.2873, 0.9040):
+    plt.plot([split, split], [-0.2, 1], "k:", linewidth=1)
+plt.text(0.3, 0.5, "Depth=2", fontsize=13)
+plt.title("max_depth=3", fontsize=14)
+
+plt.show()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
tree_reg1 = DecisionTreeRegressor(random_state=42)
+tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)
+tree_reg1.fit(X, y)
+tree_reg2.fit(X, y)
+
+x1 = np.linspace(0, 1, 500).reshape(-1, 1)
+y_pred1 = tree_reg1.predict(x1)
+y_pred2 = tree_reg2.predict(x1)
+
+plt.figure(figsize=(11, 4))
+
+plt.subplot(121)
+plt.plot(X, y, "b.")
+plt.plot(x1, y_pred1, "r.-", linewidth=2, label=r"$\hat{y}$")
+plt.axis([0, 1, -0.2, 1.1])
+plt.xlabel("$x_1$", fontsize=18)
+plt.ylabel("$y$", fontsize=18, rotation=0)
+plt.legend(loc="upper center", fontsize=18)
+plt.title("No restrictions", fontsize=14)
+
+plt.subplot(122)
+plt.plot(X, y, "b.")
+plt.plot(x1, y_pred2, "r.-", linewidth=2, label=r"$\hat{y}$")
+plt.axis([0, 1, -0.2, 1.1])
+plt.xlabel("$x_1$", fontsize=18)
+plt.title("min_samples_leaf={}".format(tree_reg2.min_samples_leaf), fontsize=14)
+
+plt.show()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs035.html b/doc/pub/week45/html/._week45-bs035.html new file mode 100644 index 000000000..df438ea0f --- /dev/null +++ b/doc/pub/week45/html/._week45-bs035.html @@ -0,0 +1,431 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

Pros and cons of trees, pros

+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs036.html b/doc/pub/week45/html/._week45-bs036.html new file mode 100644 index 000000000..f8d1cd9ef --- /dev/null +++ b/doc/pub/week45/html/._week45-bs036.html @@ -0,0 +1,436 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Disadvantages

+ + +

However, by aggregating many decision trees, using methods like +bagging, random forests, and boosting, the predictive performance of +trees can be substantially improved. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs037.html b/doc/pub/week45/html/._week45-bs037.html new file mode 100644 index 000000000..90cd45945 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs037.html @@ -0,0 +1,443 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

+ +

As stated above and seen in many of the examples discussed here about +a single decision tree, we often end up overfitting our training +data. This normally means that we have a high variance. Can we reduce +the variance of a statistical learning method? +

+ +

This leads us to a set of different methods that can combine different +machine learning algorithms or just use one of them to construct +forests and jungles of trees, homogeneous ones or heterogenous +ones. These methods are recognized by different names which we will +try to explain here. These are +

+ +
    +
  1. Voting classifiers
  2. +
  3. Bagging and Pasting
  4. +
  5. Random forests
  6. +
  7. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)
  8. +
+

We discuss these methods here.

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs038.html b/doc/pub/week45/html/._week45-bs038.html new file mode 100644 index 000000000..71333f1f8 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs038.html @@ -0,0 +1,428 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

An Overview of Ensemble Methods

+ +

+
+

+
+

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs039.html b/doc/pub/week45/html/._week45-bs039.html new file mode 100644 index 000000000..bc3c79b0e --- /dev/null +++ b/doc/pub/week45/html/._week45-bs039.html @@ -0,0 +1,436 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

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

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs040.html b/doc/pub/week45/html/._week45-bs040.html new file mode 100644 index 000000000..efa344e0f --- /dev/null +++ b/doc/pub/week45/html/._week45-bs040.html @@ -0,0 +1,446 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

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

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs041.html b/doc/pub/week45/html/._week45-bs041.html new file mode 100644 index 000000000..d3ab059e4 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs041.html @@ -0,0 +1,457 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs042.html b/doc/pub/week45/html/._week45-bs042.html new file mode 100644 index 000000000..2bec4ad6d --- /dev/null +++ b/doc/pub/week45/html/._week45-bs042.html @@ -0,0 +1,487 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs043.html b/doc/pub/week45/html/._week45-bs043.html new file mode 100644 index 000000000..1b2892602 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs043.html @@ -0,0 +1,540 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs044.html b/doc/pub/week45/html/._week45-bs044.html new file mode 100644 index 000000000..28cdba414 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs044.html @@ -0,0 +1,543 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs045.html b/doc/pub/week45/html/._week45-bs045.html new file mode 100644 index 000000000..1f3d09484 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs045.html @@ -0,0 +1,505 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs046.html b/doc/pub/week45/html/._week45-bs046.html new file mode 100644 index 000000000..f13436891 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs046.html @@ -0,0 +1,439 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

Why Voting?

+ +

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

+ +

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/week45/html/._week45-bs047.html b/doc/pub/week45/html/._week45-bs047.html new file mode 100644 index 000000000..7e32b6a7e --- /dev/null +++ b/doc/pub/week45/html/._week45-bs047.html @@ -0,0 +1,447 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

Tossing coins

+ +

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

+ +

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

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs048.html b/doc/pub/week45/html/._week45-bs048.html new file mode 100644 index 000000000..e01e0e507 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs048.html @@ -0,0 +1,482 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

Standard imports first

+ + + +
+
+
+
+
+
# 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')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs049.html b/doc/pub/week45/html/._week45-bs049.html new file mode 100644 index 000000000..9464541e2 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs049.html @@ -0,0 +1,466 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs050.html b/doc/pub/week45/html/._week45-bs050.html new file mode 100644 index 000000000..82e2ae1be --- /dev/null +++ b/doc/pub/week45/html/._week45-bs050.html @@ -0,0 +1,488 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

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.

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs051.html b/doc/pub/week45/html/._week45-bs051.html new file mode 100644 index 000000000..b9e4c076b --- /dev/null +++ b/doc/pub/week45/html/._week45-bs051.html @@ -0,0 +1,540 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs052.html b/doc/pub/week45/html/._week45-bs052.html new file mode 100644 index 000000000..62dfad659 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs052.html @@ -0,0 +1,461 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

Random forests

+ +

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

+ +

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

+ +

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

+ +$$ +m\approx \sqrt{p}. +$$ + +

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

+ +

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

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs053.html b/doc/pub/week45/html/._week45-bs053.html new file mode 100644 index 000000000..ba119cc67 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs053.html @@ -0,0 +1,437 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

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/week45/html/._week45-bs054.html b/doc/pub/week45/html/._week45-bs054.html new file mode 100644 index 000000000..496cf2537 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs054.html @@ -0,0 +1,519 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

Random Forests Compared with other Methods on the Cancer Data

+ + +
+
+
+
+
+
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)
+# Logistic Regression
+logreg = LogisticRegression(solver='lbfgs')
+logreg.fit(X_train, y_train)
+print("Test set accuracy with Logistic Regression: {:.2f}".format(logreg.score(X_test,y_test)))
+# Support vector machine
+svm = SVC(gamma='auto', C=100)
+svm.fit(X_train, y_train)
+print("Test set accuracy with SVM: {:.2f}".format(svm.score(X_test,y_test)))
+# Decision Trees
+deep_tree_clf = DecisionTreeClassifier(max_depth=None)
+deep_tree_clf.fit(X_train, y_train)
+print("Test set accuracy with Decision Trees: {:.2f}".format(deep_tree_clf.score(X_test,y_test)))
+#now scale the data
+from sklearn.preprocessing import StandardScaler
+scaler = StandardScaler()
+scaler.fit(X_train)
+X_train_scaled = scaler.transform(X_train)
+X_test_scaled = scaler.transform(X_test)
+# Logistic Regression
+logreg.fit(X_train_scaled, y_train)
+print("Test set accuracy Logistic Regression with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test)))
+# Support Vector Machine
+svm.fit(X_train_scaled, y_train)
+print("Test set accuracy SVM with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test)))
+# Decision Trees
+deep_tree_clf.fit(X_train_scaled, y_train)
+print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
+
+
+from sklearn.ensemble import RandomForestClassifier
+from sklearn.preprocessing import LabelEncoder
+from sklearn.model_selection import cross_validate
+# Data set not specificied
+#Instantiate the model with 500 trees and entropy as splitting criteria
+Random_Forest_model = RandomForestClassifier(n_estimators=500,criterion="entropy")
+Random_Forest_model.fit(X_train_scaled, y_train)
+#Cross validation
+accuracy = cross_validate(Random_Forest_model,X_test_scaled,y_test,cv=10)['test_score']
+print(accuracy)
+print("Test set accuracy with Random Forests and scaled data: {:.2f}".format(Random_Forest_model.score(X_test_scaled,y_test)))
+
+
+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()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +

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

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs055.html b/doc/pub/week45/html/._week45-bs055.html new file mode 100644 index 000000000..2ec95e02b --- /dev/null +++ b/doc/pub/week45/html/._week45-bs055.html @@ -0,0 +1,473 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Compare Bagging on Trees with Random Forests

+ + +
+
+
+
+
+
bag_clf = BaggingClassifier(
+    DecisionTreeClassifier(splitter="random", max_leaf_nodes=16, random_state=42),
+    n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
bag_clf.fit(X_train, y_train)
+y_pred = bag_clf.predict(X_test)
+from sklearn.ensemble import RandomForestClassifier
+rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, n_jobs=-1, random_state=42)
+rnd_clf.fit(X_train, y_train)
+y_pred_rf = rnd_clf.predict(X_test)
+np.sum(y_pred == y_pred_rf) / len(y_pred) 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs056.html b/doc/pub/week45/html/._week45-bs056.html new file mode 100644 index 000000000..eba024d51 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs056.html @@ -0,0 +1,434 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + +
+
+

 

 

 

+ + +

Boosting, a Bird's Eye View

+ +

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

+ +

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

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs057.html b/doc/pub/week45/html/._week45-bs057.html new file mode 100644 index 000000000..d0ae95147 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs057.html @@ -0,0 +1,467 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

What is boosting? Additive Modelling/Iterative Fitting

+ +

Boosting is a way of fitting an additive expansion in a set of +elementary basis functions like for example some simple polynomials. +Assume for example that we have a function +

+$$ +f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), +$$ + +

where \( \beta_m \) are the expansion parameters to be determined in a +minimization process and \( b(x;\gamma_m) \) are some simple functions of +the multivariable parameter \( x \) which is characterized by the +parameters \( \gamma_m \). +

+ +

As an example, consider the Sigmoid function we used in logistic +regression. In that case, we can translate the function +\( b(x;\gamma_m) \) into the Sigmoid function +

+ +$$ +\sigma(t) = \frac{1}{1+\exp{(-t)}}, +$$ + +

where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and +\( \gamma_1 \) were determined by the Logistic Regression fitting +algorithm. +

+ +

As another example, consider the cost function we defined for linear regression

+$$ +C(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. +$$ + +

In this case the function \( f(x) \) was replaced by the design matrix +\( \boldsymbol{X} \) and the unknown linear regression parameters \( \boldsymbol{\beta} \), +that is \( \boldsymbol{f}=\boldsymbol{X}\boldsymbol{\beta} \). In linear regression we can +simply invert a matrix and obtain the parameters \( \beta \) by +

+ +$$ +\boldsymbol{\beta}=\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. +$$ + +

In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \).

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs058.html b/doc/pub/week45/html/._week45-bs058.html new file mode 100644 index 000000000..10b102b13 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs058.html @@ -0,0 +1,439 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Iterative Fitting, Regression and Squared-error Cost Function

+ +

The way we proceed is as follows (here we specialize to the squared-error cost function)

+ +
    +
  1. Establish a cost function, here \( {\cal C}(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f_M(x_i))^2 \) with \( f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m) \).
  2. +
  3. Initialize with a guess \( f_0(x) \). It could be one or even zero or some random numbers.
  4. +
  5. For \( m=1:M \) +
      +
    1. minimize \( \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2 \) wrt \( \gamma \) and \( \beta \)
    2. +
    3. This gives the optimal values \( \beta_m \) and \( \gamma_m \)
    4. +
    5. Determine then the new values \( f_m(x)=f_{m-1}(x) +\beta_m b(x;\gamma_m) \)
    6. +
    +
+

We could use any of the algorithms we have discussed till now. If we +use trees, \( \gamma \) parameterizes the split variables and split points +at the internal nodes, and the predictions at the terminal nodes. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs059.html b/doc/pub/week45/html/._week45-bs059.html new file mode 100644 index 000000000..fb7b629d4 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs059.html @@ -0,0 +1,462 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Squared-Error Example and Iterative Fitting

+ +

To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.

+ +

For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \).

+ +

This means that for every iteration \( m \), we need to optimize

+ +$$ +(\beta_m,\gamma_m) = \mathrm{argmin}_{\beta,\lambda}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2=\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta(1+\gamma x_i))^2. +$$ + +

We start our iteration by simply setting \( f_0(x)=0 \). +Taking the derivatives with respect to \( \beta \) and \( \gamma \) we obtain +

+$$ +\frac{\partial {\cal C}}{\partial \beta} = -2\sum_{i}(1+\gamma x_i)(y_i-\beta(1+\gamma x_i))=0, +$$ + +

and

+$$ +\frac{\partial {\cal C}}{\partial \gamma} =-2\sum_{i}\beta x_i(y_i-\beta(1+\gamma x_i))=0. +$$ + +

We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector)

+$$ +\gamma \boldsymbol{w}^T(\boldsymbol{y}-\beta\gamma \boldsymbol{w})=0, +$$ + +

which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have

+$$ +\beta\gamma \boldsymbol{x}^T(\boldsymbol{y}-\beta(1+\gamma \boldsymbol{x}))=0, +$$ + +

which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting +for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

+ +

The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as +\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs060.html b/doc/pub/week45/html/._week45-bs060.html new file mode 100644 index 000000000..50b3550ab --- /dev/null +++ b/doc/pub/week45/html/._week45-bs060.html @@ -0,0 +1,451 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Iterative Fitting, Classification and AdaBoost

+ +

Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of +observations. We define a classification function \( G(x) \) which produces a prediction taking one or the other of the two values +\( \{-1,1\} \). +

+ +

The error rate of the training sample is then

+ +$$ +\mathrm{\overline{err}}=\frac{1}{n} \sum_{i=0}^{n-1} I(y_i\ne G(x_i)). +$$ + +

The iterative procedure starts with defining a weak classifier whose +error rate is barely better than random guessing. The iterative +procedure in boosting is to sequentially apply a weak +classification algorithm to repeatedly modified versions of the data +producing a sequence of weak classifiers \( G_m(x) \). +

+ +

Here we will express our function \( f(x) \) in terms of \( G(x) \). That is

+$$ +f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), +$$ + +

will be a function of

+$$ +G_M(x) = \mathrm{sign} \sum_{i=1}^M \alpha_m G_m(x). +$$ + + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs061.html b/doc/pub/week45/html/._week45-bs061.html new file mode 100644 index 000000000..3705fe1a4 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs061.html @@ -0,0 +1,444 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Adaptive Boosting, AdaBoost

+ +

In our iterative procedure we define thus

+$$ +f_m(x) = f_{m-1}(x)+\beta_mG_m(x). +$$ + +

The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the +exponential cost/loss function defined as +

+$$ +C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}\exp{(-y_i(f_{m-1}(x_i)+\beta G(x_i))}. +$$ + +

We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. +This is normally done in two steps. Let us however first rewrite the cost function as +

+ +$$ +C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}w_i^{m}\exp{(-y_i\beta G(x_i))}, +$$ + +

where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \).

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs062.html b/doc/pub/week45/html/._week45-bs062.html new file mode 100644 index 000000000..3418fa8c8 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs062.html @@ -0,0 +1,460 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Building up AdaBoost

+ +

First, for any \( \beta > 0 \), we optimize \( G \) by setting

+$$ +G_m(x) = \mathrm{sign} \sum_{i=0}^{n-1} w_i^m I(y_i \ne G_(x_i)), +$$ + +

which is the classifier that minimizes the weighted error rate in predicting \( y \).

+ +

We can do this by rewriting

+$$ +\exp{-(\beta)}\sum_{y_i=G(x_i)}w_i^m+\exp{(\beta)}\sum_{y_i\ne G(x_i)}w_i^m, +$$ + +

which can be rewritten as

+$$ +(\exp{(\beta)}-\exp{-(\beta)})\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i))+\exp{(-\beta)}\sum_{i=0}^{n-1}w_i^m=0, +$$ + +

which leads to

+$$ +\beta_m = \frac{1}{2}\log{\frac{1-\mathrm{\overline{err}}}{\mathrm{\overline{err}}}}, +$$ + +

where we have redefined the error as

+$$ +\mathrm{\overline{err}}_m=\frac{1}{n}\frac{\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i)}{\sum_{i=0}^{n-1}w_i^m}, +$$ + +

which leads to an update of

+$$ +f_m(x) = f_{m-1}(x) +\beta_m G_m(x). +$$ + +

This leads to the new weights

+$$ +w_i^{m+1} = w_i^m \exp{(-y_i\beta_m G_m(x_i))} +$$ + + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs063.html b/doc/pub/week45/html/._week45-bs063.html new file mode 100644 index 000000000..cadeaee11 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs063.html @@ -0,0 +1,438 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Adaptive boosting: AdaBoost, Basic Algorithm

+ +

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

+ +

We have already defined the misclassification error \( \mathrm{err} \) as

+$$ +\mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(x_i)), +$$ + +

where the function \( I() \) is one if we misclassify and zero if we classify correctly.

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs064.html b/doc/pub/week45/html/._week45-bs064.html new file mode 100644 index 000000000..b2e2bd3e4 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs064.html @@ -0,0 +1,452 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Basic Steps of AdaBoost

+ +

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

+
    +
  1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is easy to see that we must have \( \sum_{i=0}^{n-1}w_i = 1 \).
  2. +
  3. We rewrite the misclassification error as
  4. +
+$$ +\mathrm{\overline{err}}_m=\frac{\sum_{i=0}^{n-1}w_i^m I(y_i\ne G(x_i))}{\sum_{i=0}^{n-1}w_i}, +$$ + +
    +
  1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. +
      +
    1. Fit then a given classifier to the training set using the weights \( w_i \).
    2. +
    3. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
    4. +
    5. Define a quantity \( \alpha_{m} = \log{(1-\mathrm{\overline{err}}_m)/\mathrm{\overline{err}}_m} \)
    6. +
    7. Set the new weights to \( w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(x_i)} \).
    8. +
    +
  2. Compute the new classifier \( G(x)= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(x_i) \).
  3. +
+

For the iterations with \( m \le 2 \) the weights are modified +individually at each steps. The observations which were misclassified +at iteration \( m-1 \) have a weight which is larger than those which were +classified properly. As this proceeds, the observations which were +difficult to classifiy correctly are given a larger influence. Each +new classification step \( m \) is then forced to concentrate on those +observations that are missed in the previous iterations. +

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs065.html b/doc/pub/week45/html/._week45-bs065.html new file mode 100644 index 000000000..573b2ead2 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs065.html @@ -0,0 +1,466 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

AdaBoost Examples

+ +

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

+ + + +
+
+
+
+
+
from sklearn.ensemble import AdaBoostClassifier
+
+ada_clf = AdaBoostClassifier(
+    DecisionTreeClassifier(max_depth=1), n_estimators=200,
+    algorithm="SAMME.R", learning_rate=0.5, random_state=42)
+ada_clf.fit(X_train, y_train)
+
+from sklearn.ensemble import AdaBoostClassifier
+
+ada_clf = AdaBoostClassifier(
+    DecisionTreeClassifier(max_depth=1), n_estimators=200,
+    algorithm="SAMME.R", learning_rate=0.5, random_state=42)
+ada_clf.fit(X_train_scaled, y_train)
+y_pred = ada_clf.predict(X_test_scaled)
+skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)
+plt.show()
+y_probas = ada_clf.predict_proba(X_test_scaled)
+skplt.metrics.plot_roc(y_test, y_probas)
+plt.show()
+skplt.metrics.plot_cumulative_gain(y_test, y_probas)
+plt.show()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs066.html b/doc/pub/week45/html/._week45-bs066.html new file mode 100644 index 000000000..2128826a2 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs066.html @@ -0,0 +1,429 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

+ +

Gradient boosting is again a similar technique to Adaptive boosting, +it combines so-called weak classifiers or regressors into a strong +method via a series of iterations. +

+ +

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

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs067.html b/doc/pub/week45/html/._week45-bs067.html new file mode 100644 index 000000000..291a11266 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs067.html @@ -0,0 +1,446 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

The Squared-Error again! Steepest Descent

+ +

We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize +This means that for every iteration, we need to optimize +

+ +$$ +(\hat{\boldsymbol{f}}) = \mathrm{argmin}_{\boldsymbol{f}}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. +$$ + +

We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as

+$$ +f_M(x) = \sum_{m=0}^M h_m(x). +$$ + +

In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as

+$$ +g_m(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{m-1}(x_i)}. +$$ + +

With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that +the gradient is \( g_m(x_i) = -2(y_i-f(x_i)) \). +

+ +

Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have

+$$ +(\rho_1) = \mathrm{argmin}_{\rho}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i+2\rho y_i)^2. +$$ + + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs068.html b/doc/pub/week45/html/._week45-bs068.html new file mode 100644 index 000000000..c865ab7bc --- /dev/null +++ b/doc/pub/week45/html/._week45-bs068.html @@ -0,0 +1,429 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Steepest Descent Example

+ +

Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that

+$$ +f_1(x) = f_{0}(x) -\rho_1 g_1(x)=-y_i. +$$ + +

We can then proceed and compute

+$$ +g_2(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i, +$$ + +

and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting.

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs069.html b/doc/pub/week45/html/._week45-bs069.html new file mode 100644 index 000000000..15fb71827 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs069.html @@ -0,0 +1,437 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Gradient Boosting, algorithm

+ +

Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, +so we do not learn a function that can generalize. However, we can modify the algorithm by +fitting a weak learner to approximate the negative gradient signal. +

+ +

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

+$$ +C(\boldsymbol{y},\boldsymbol{f})=\sum_{i=0}^{n-1}(y_i-f(x_i))^2. +$$ + +

The way we proceed in an iterative fashion is to

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs070.html b/doc/pub/week45/html/._week45-bs070.html new file mode 100644 index 000000000..abc749067 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs070.html @@ -0,0 +1,483 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Gradient Boosting, Examples of Regression

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs071.html b/doc/pub/week45/html/._week45-bs071.html new file mode 100644 index 000000000..458bd8a3d --- /dev/null +++ b/doc/pub/week45/html/._week45-bs071.html @@ -0,0 +1,476 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Gradient Boosting, Classification Example

+ + +
+
+
+
+
+
import matplotlib.pyplot as plt
+import numpy as np
+from sklearn.model_selection import  train_test_split 
+from sklearn.datasets import load_breast_cancer
+import scikitplot as skplt
+from sklearn.ensemble import GradientBoostingClassifier
+from sklearn.model_selection import cross_validate
+
+# Load the data
+cancer = load_breast_cancer()
+
+X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)
+print(X_train.shape)
+print(X_test.shape)
+#now scale the data
+from sklearn.preprocessing import StandardScaler
+scaler = StandardScaler()
+scaler.fit(X_train)
+X_train_scaled = scaler.transform(X_train)
+X_test_scaled = scaler.transform(X_test)
+
+gd_clf = GradientBoostingClassifier(max_depth=3, n_estimators=100, learning_rate=1.0)  
+gd_clf.fit(X_train_scaled, y_train)
+#Cross validation
+accuracy = cross_validate(gd_clf,X_test_scaled,y_test,cv=10)['test_score']
+print(accuracy)
+print("Test set accuracy with Random Forests and scaled data: {:.2f}".format(gd_clf.score(X_test_scaled,y_test)))
+
+import scikitplot as skplt
+y_pred = gd_clf.predict(X_test_scaled)
+skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)
+save_fig("gdclassiffierconfusion")
+plt.show()
+y_probas = gd_clf.predict_proba(X_test_scaled)
+skplt.metrics.plot_roc(y_test, y_probas)
+save_fig("gdclassiffierroc")
+plt.show()
+skplt.metrics.plot_cumulative_gain(y_test, y_probas)
+save_fig("gdclassiffiercgain")
+plt.show()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs072.html b/doc/pub/week45/html/._week45-bs072.html new file mode 100644 index 000000000..9391c31d7 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs072.html @@ -0,0 +1,428 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

XGBoost: Extreme Gradient Boosting

+ +

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

+ +

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

+ +

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

+ +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs073.html b/doc/pub/week45/html/._week45-bs073.html new file mode 100644 index 000000000..62cca6362 --- /dev/null +++ b/doc/pub/week45/html/._week45-bs073.html @@ -0,0 +1,481 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Regression Case

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

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/._week45-bs074.html b/doc/pub/week45/html/._week45-bs074.html new file mode 100644 index 000000000..faa7cffbb --- /dev/null +++ b/doc/pub/week45/html/._week45-bs074.html @@ -0,0 +1,485 @@ + + + + + + + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +

Xgboost on the Cancer Data

+ +

As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now.

+ + +
+
+
+
+
+
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.preprocessing import LabelEncoder
+from sklearn.model_selection import cross_validate
+import scikitplot as skplt
+import xgboost as xgb
+# Load the data
+cancer = load_breast_cancer()
+
+X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)
+print(X_train.shape)
+print(X_test.shape)
+#now scale the data
+from sklearn.preprocessing import StandardScaler
+scaler = StandardScaler()
+scaler.fit(X_train)
+X_train_scaled = scaler.transform(X_train)
+X_test_scaled = scaler.transform(X_test)
+
+xg_clf = xgb.XGBClassifier()
+xg_clf.fit(X_train_scaled,y_train)
+
+y_test = xg_clf.predict(X_test_scaled)
+
+print("Test set accuracy with Random Forests and scaled data: {:.2f}".format(xg_clf.score(X_test_scaled,y_test)))
+
+import scikitplot as skplt
+y_pred = xg_clf.predict(X_test_scaled)
+skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)
+save_fig("xdclassiffierconfusion")
+plt.show()
+y_probas = xg_clf.predict_proba(X_test_scaled)
+skplt.metrics.plot_roc(y_test, y_probas)
+save_fig("xdclassiffierroc")
+plt.show()
+skplt.metrics.plot_cumulative_gain(y_test, y_probas)
+save_fig("gdclassiffiercgain")
+plt.show()
+
+
+xgb.plot_tree(xg_clf,num_trees=0)
+plt.rcParams['figure.figsize'] = [50, 10]
+save_fig("xgtree")
+plt.show()
+
+xgb.plot_importance(xg_clf)
+plt.rcParams['figure.figsize'] = [5, 5]
+save_fig("xgparams")
+plt.show()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

+ +

+ +
+ + + + +
+ +
+ + + diff --git a/doc/pub/week45/html/DataFiles/bank.csv b/doc/pub/week45/html/DataFiles/bank.csv new file mode 100644 index 000000000..930337395 --- /dev/null +++ b/doc/pub/week45/html/DataFiles/bank.csv @@ -0,0 +1,1372 @@ +3.6216,8.6661,-2.8073,-0.44699,0 +4.5459,8.1674,-2.4586,-1.4621,0 +3.866,-2.6383,1.9242,0.10645,0 +3.4566,9.5228,-4.0112,-3.5944,0 +0.32924,-4.4552,4.5718,-0.9888,0 +4.3684,9.6718,-3.9606,-3.1625,0 +3.5912,3.0129,0.72888,0.56421,0 +2.0922,-6.81,8.4636,-0.60216,0 +3.2032,5.7588,-0.75345,-0.61251,0 +1.5356,9.1772,-2.2718,-0.73535,0 +1.2247,8.7779,-2.2135,-0.80647,0 +3.9899,-2.7066,2.3946,0.86291,0 +1.8993,7.6625,0.15394,-3.1108,0 +-1.5768,10.843,2.5462,-2.9362,0 +3.404,8.7261,-2.9915,-0.57242,0 +4.6765,-3.3895,3.4896,1.4771,0 +2.6719,3.0646,0.37158,0.58619,0 +0.80355,2.8473,4.3439,0.6017,0 +1.4479,-4.8794,8.3428,-2.1086,0 +5.2423,11.0272,-4.353,-4.1013,0 +5.7867,7.8902,-2.6196,-0.48708,0 +0.3292,-4.4552,4.5718,-0.9888,0 +3.9362,10.1622,-3.8235,-4.0172,0 +0.93584,8.8855,-1.6831,-1.6599,0 +4.4338,9.887,-4.6795,-3.7483,0 +0.7057,-5.4981,8.3368,-2.8715,0 +1.1432,-3.7413,5.5777,-0.63578,0 +-0.38214,8.3909,2.1624,-3.7405,0 +6.5633,9.8187,-4.4113,-3.2258,0 +4.8906,-3.3584,3.4202,1.0905,0 +-0.24811,-0.17797,4.9068,0.15429,0 +1.4884,3.6274,3.308,0.48921,0 +4.2969,7.617,-2.3874,-0.96164,0 +-0.96511,9.4111,1.7305,-4.8629,0 +-1.6162,0.80908,8.1628,0.60817,0 +2.4391,6.4417,-0.80743,-0.69139,0 +2.6881,6.0195,-0.46641,-0.69268,0 +3.6289,0.81322,1.6277,0.77627,0 +4.5679,3.1929,-2.1055,0.29653,0 +3.4805,9.7008,-3.7541,-3.4379,0 +4.1711,8.722,-3.0224,-0.59699,0 +-0.2062,9.2207,-3.7044,-6.8103,0 +-0.0068919,9.2931,-0.41243,-1.9638,0 +0.96441,5.8395,2.3235,0.066365,0 +2.8561,6.9176,-0.79372,0.48403,0 +-0.7869,9.5663,-3.7867,-7.5034,0 +2.0843,6.6258,0.48382,-2.2134,0 +-0.7869,9.5663,-3.7867,-7.5034,0 +3.9102,6.065,-2.4534,-0.68234,0 +1.6349,3.286,2.8753,0.087054,0 +4.3239,-4.8835,3.4356,-0.5776,0 +5.262,3.9834,-1.5572,1.0103,0 +3.1452,5.825,-0.51439,-1.4944,0 +2.549,6.1499,-1.1605,-1.2371,0 +4.9264,5.496,-2.4774,-0.50648,0 +4.8265,0.80287,1.6371,1.1875,0 +2.5635,6.7769,-0.61979,0.38576,0 +5.807,5.0097,-2.2384,0.43878,0 +3.1377,-4.1096,4.5701,0.98963,0 +-0.78289,11.3603,-0.37644,-7.0495,0 +2.888,0.44696,4.5907,-0.24398,0 +0.49665,5.527,1.7785,-0.47156,0 +4.2586,11.2962,-4.0943,-4.3457,0 +1.7939,-1.1174,1.5454,-0.26079,0 +5.4021,3.1039,-1.1536,1.5651,0 +2.5367,2.599,2.0938,0.20085,0 +4.6054,-4.0765,2.7587,0.31981,0 +2.4235,9.5332,-3.0789,-2.7746,0 +1.0009,7.7846,-0.28219,-2.6608,0 +0.12326,8.9848,-0.9351,-2.4332,0 +3.9529,-2.3548,2.3792,0.48274,0 +4.1373,0.49248,1.093,1.8276,0 +4.7181,10.0153,-3.9486,-3.8582,0 +4.1654,-3.4495,3.643,1.0879,0 +4.4069,10.9072,-4.5775,-4.4271,0 +2.3066,3.5364,0.57551,0.41938,0 +3.7935,7.9853,-2.5477,-1.872,0 +0.049175,6.1437,1.7828,-0.72113,0 +0.24835,7.6439,0.9885,-0.87371,0 +1.1317,3.9647,3.3979,0.84351,0 +2.8033,9.0862,-3.3668,-1.0224,0 +4.4682,2.2907,0.95766,0.83058,0 +5.0185,8.5978,-2.9375,-1.281,0 +1.8664,7.7763,-0.23849,-2.9634,0 +3.245,6.63,-0.63435,0.86937,0 +4.0296,2.6756,0.80685,0.71679,0 +-1.1313,1.9037,7.5339,1.022,0 +0.87603,6.8141,0.84198,-0.17156,0 +4.1197,-2.7956,2.0707,0.67412,0 +3.8027,0.81529,2.1041,1.0245,0 +1.4806,7.6377,-2.7876,-1.0341,0 +4.0632,3.584,0.72545,0.39481,0 +4.3064,8.2068,-2.7824,-1.4336,0 +2.4486,-6.3175,7.9632,0.20602,0 +3.2718,1.7837,2.1161,0.61334,0 +-0.64472,-4.6062,8.347,-2.7099,0 +2.9543,1.076,0.64577,0.89394,0 +2.1616,-6.8804,8.1517,-0.081048,0 +3.82,10.9279,-4.0112,-5.0284,0 +-2.7419,11.4038,2.5394,-5.5793,0 +3.3669,-5.1856,3.6935,-1.1427,0 +4.5597,-2.4211,2.6413,1.6168,0 +5.1129,-0.49871,0.62863,1.1189,0 +3.3397,-4.6145,3.9823,-0.23751,0 +4.2027,0.22761,0.96108,0.97282,0 +3.5438,1.2395,1.997,2.1547,0 +2.3136,10.6651,-3.5288,-4.7672,0 +-1.8584,7.886,-1.6643,-1.8384,0 +3.106,9.5414,-4.2536,-4.003,0 +2.9163,10.8306,-3.3437,-4.122,0 +3.9922,-4.4676,3.7304,-0.1095,0 +1.518,5.6946,0.094818,-0.026738,0 +3.2351,9.647,-3.2074,-2.5948,0 +4.2188,6.8162,-1.2804,0.76076,0 +1.7819,6.9176,-1.2744,-1.5759,0 +2.5331,2.9135,-0.822,-0.12243,0 +3.8969,7.4163,-1.8245,0.14007,0 +2.108,6.7955,-0.1708,0.4905,0 +2.8969,0.70768,2.29,1.8663,0 +0.9297,-3.7971,4.6429,-0.2957,0 +3.4642,10.6878,-3.4071,-4.109,0 +4.0713,10.4023,-4.1722,-4.7582,0 +-1.4572,9.1214,1.7425,-5.1241,0 +-1.5075,1.9224,7.1466,0.89136,0 +-0.91718,9.9884,1.1804,-5.2263,0 +2.994,7.2011,-1.2153,0.3211,0 +-2.343,12.9516,3.3285,-5.9426,0 +3.7818,-2.8846,2.2558,-0.15734,0 +4.6689,1.3098,0.055404,1.909,0 +3.4663,1.1112,1.7425,1.3388,0 +3.2697,-4.3414,3.6884,-0.29829,0 +5.1302,8.6703,-2.8913,-1.5086,0 +2.0139,6.1416,0.37929,0.56938,0 +0.4339,5.5395,2.033,-0.40432,0 +-1.0401,9.3987,0.85998,-5.3336,0 +4.1605,11.2196,-3.6136,-4.0819,0 +5.438,9.4669,-4.9417,-3.9202,0 +5.032,8.2026,-2.6256,-1.0341,0 +5.2418,10.5388,-4.1174,-4.2797,0 +-0.2062,9.2207,-3.7044,-6.8103,0 +2.0911,0.94358,4.5512,1.234,0 +1.7317,-0.34765,4.1905,-0.99138,0 +4.1736,3.3336,-1.4244,0.60429,0 +3.9232,-3.2467,3.4579,0.83705,0 +3.8481,10.1539,-3.8561,-4.2228,0 +0.5195,-3.2633,3.0895,-0.9849,0 +3.8584,0.78425,1.1033,1.7008,0 +1.7496,-0.1759,5.1827,1.2922,0 +3.6277,0.9829,0.68861,0.63403,0 +2.7391,7.4018,0.071684,-2.5302,0 +4.5447,8.2274,-2.4166,-1.5875,0 +-1.7599,11.9211,2.6756,-3.3241,0 +5.0691,0.21313,0.20278,1.2095,0 +3.4591,11.112,-4.2039,-5.0931,0 +1.9358,8.1654,-0.023425,-2.2586,0 +2.486,-0.99533,5.3404,-0.15475,0 +2.4226,-4.5752,5.947,0.21507,0 +3.9479,-3.7723,2.883,0.019813,0 +2.2634,-4.4862,3.6558,-0.61251,0 +1.3566,4.2358,2.1341,0.3211,0 +5.0452,3.8964,-1.4304,0.86291,0 +3.5499,8.6165,-3.2794,-1.2009,0 +0.17346,7.8695,0.26876,-3.7883,0 +2.4008,9.3593,-3.3565,-3.3526,0 +4.8851,1.5995,-0.00029081,1.6401,0 +4.1927,-3.2674,2.5839,0.21766,0 +1.1166,8.6496,-0.96252,-1.8112,0 +1.0235,6.901,-2.0062,-2.7125,0 +-1.803,11.8818,2.0458,-5.2728,0 +0.11739,6.2761,-1.5495,-2.4746,0 +0.5706,-0.0248,1.2421,-0.5621,0 +4.0552,-2.4583,2.2806,1.0323,0 +-1.6952,1.0657,8.8294,0.94955,0 +-1.1193,10.7271,2.0938,-5.6504,0 +1.8799,2.4707,2.4931,0.37671,0 +3.583,-3.7971,3.4391,-0.12501,0 +0.19081,9.1297,-3.725,-5.8224,0 +3.6582,5.6864,-1.7157,-0.23751,0 +-0.13144,-1.7775,8.3316,0.35214,0 +2.3925,9.798,-3.0361,-2.8224,0 +1.6426,3.0149,0.22849,-0.147,0 +-0.11783,-1.5789,8.03,-0.028031,0 +-0.69572,8.6165,1.8419,-4.3289,0 +2.9421,7.4101,-0.97709,-0.88406,0 +-1.7559,11.9459,3.0946,-4.8978,0 +-1.2537,10.8803,1.931,-4.3237,0 +3.2585,-4.4614,3.8024,-0.15087,0 +1.8314,6.3672,-0.036278,0.049554,0 +4.5645,-3.6275,2.8684,0.27714,0 +2.7365,-5.0325,6.6608,-0.57889,0 +0.9297,-3.7971,4.6429,-0.2957,0 +3.9663,10.1684,-4.1131,-4.6056,0 +1.4578,-0.08485,4.1785,0.59136,0 +4.8272,3.0687,0.68604,0.80731,0 +-2.341,12.3784,0.70403,-7.5836,0 +-1.8584,7.886,-1.6643,-1.8384,0 +4.1454,7.257,-1.9153,-0.86078,0 +1.9157,6.0816,0.23705,-2.0116,0 +4.0215,-2.1914,2.4648,1.1409,0 +5.8862,5.8747,-2.8167,-0.30087,0 +-2.0897,10.8265,2.3603,-3.4198,0 +4.0026,-3.5943,3.5573,0.26809,0 +-0.78689,9.5663,-3.7867,-7.5034,0 +4.1757,10.2615,-3.8552,-4.3056,0 +0.83292,7.5404,0.65005,-0.92544,0 +4.8077,2.2327,-0.26334,1.5534,0 +5.3063,5.2684,-2.8904,-0.52716,0 +2.5605,9.2683,-3.5913,-1.356,0 +2.1059,7.6046,-0.47755,-1.8461,0 +2.1721,-0.73874,5.4672,-0.72371,0 +4.2899,9.1814,-4.6067,-4.3263,0 +3.5156,10.1891,-4.2759,-4.978,0 +2.614,8.0081,-3.7258,-1.3069,0 +0.68087,2.3259,4.9085,0.54998,0 +4.1962,0.74493,0.83256,0.753,0 +6.0919,2.9673,-1.3267,1.4551,0 +1.3234,3.2964,0.2362,-0.11984,0 +1.3264,1.0326,5.6566,-0.41337,0 +-0.16735,7.6274,1.2061,-3.6241,0 +-1.3,10.2678,-2.953,-5.8638,0 +-2.2261,12.5398,2.9438,-3.5258,0 +2.4196,6.4665,-0.75688,0.228,0 +1.0987,0.6394,5.989,-0.58277,0 +4.6464,10.5326,-4.5852,-4.206,0 +-0.36038,4.1158,3.1143,-0.37199,0 +1.3562,3.2136,4.3465,0.78662,0 +0.5706,-0.0248,1.2421,-0.5621,0 +-2.6479,10.1374,-1.331,-5.4707,0 +3.1219,-3.137,1.9259,-0.37458,0 +5.4944,1.5478,0.041694,1.9284,0 +-1.3389,1.552,7.0806,1.031,0 +-2.3361,11.9604,3.0835,-5.4435,0 +2.2596,-0.033118,4.7355,-0.2776,0 +0.46901,-0.63321,7.3848,0.36507,0 +2.7296,2.8701,0.51124,0.5099,0 +2.0466,2.03,2.1761,-0.083634,0 +-1.3274,9.498,2.4408,-5.2689,0 +3.8905,-2.1521,2.6302,1.1047,0 +3.9994,0.90427,1.1693,1.6892,0 +2.3952,9.5083,-3.1783,-3.0086,0 +3.2704,6.9321,-1.0456,0.23447,0 +-1.3931,1.5664,7.5382,0.78403,0 +1.6406,3.5488,1.3964,-0.36424,0 +2.7744,6.8576,-1.0671,0.075416,0 +2.4287,9.3821,-3.2477,-1.4543,0 +4.2134,-2.806,2.0116,0.67412,0 +1.6472,0.48213,4.7449,1.225,0 +2.0597,-0.99326,5.2119,-0.29312,0 +0.3798,0.7098,0.7572,-0.4444,0 +1.0135,8.4551,-1.672,-2.0815,0 +4.5691,-4.4552,3.1769,0.0042961,0 +0.57461,10.1105,-1.6917,-4.3922,0 +0.5734,9.1938,-0.9094,-1.872,0 +5.2868,3.257,-1.3721,1.1668,0 +4.0102,10.6568,-4.1388,-5.0646,0 +4.1425,-3.6792,3.8281,1.6297,0 +3.0934,-2.9177,2.2232,0.22283,0 +2.2034,5.9947,0.53009,0.84998,0 +3.744,0.79459,0.95851,1.0077,0 +3.0329,2.2948,2.1135,0.35084,0 +3.7731,7.2073,-1.6814,-0.94742,0 +3.1557,2.8908,0.59693,0.79825,0 +1.8114,7.6067,-0.9788,-2.4668,0 +4.988,7.2052,-3.2846,-1.1608,0 +2.483,6.6155,-0.79287,-0.90863,0 +1.594,4.7055,1.3758,0.081882,0 +-0.016103,9.7484,0.15394,-1.6134,0 +3.8496,9.7939,-4.1508,-4.4582,0 +0.9297,-3.7971,4.6429,-0.2957,0 +4.9342,2.4107,-0.17594,1.6245,0 +3.8417,10.0215,-4.2699,-4.9159,0 +5.3915,9.9946,-3.8081,-3.3642,0 +4.4072,-0.070365,2.0416,1.1319,0 +2.6946,6.7976,-0.40301,0.44912,0 +5.2756,0.13863,0.12138,1.1435,0 +3.4312,6.2637,-1.9513,-0.36165,0 +4.052,-0.16555,0.45383,0.51248,0 +1.3638,-4.7759,8.4182,-1.8836,0 +0.89566,7.7763,-2.7473,-1.9353,0 +1.9265,7.7557,-0.16823,-3.0771,0 +0.20977,-0.46146,7.7267,0.90946,0 +4.068,-2.9363,2.1992,0.50084,0 +2.877,-4.0599,3.6259,-0.32544,0 +0.3223,-0.89808,8.0883,0.69222,0 +-1.3,10.2678,-2.953,-5.8638,0 +1.7747,-6.4334,8.15,-0.89828,0 +1.3419,-4.4221,8.09,-1.7349,0 +0.89606,10.5471,-1.4175,-4.0327,0 +0.44125,2.9487,4.3225,0.7155,0 +3.2422,6.2265,0.12224,-1.4466,0 +2.5678,3.5136,0.61406,-0.40691,0 +-2.2153,11.9625,0.078538,-7.7853,0 +4.1349,6.1189,-2.4294,-0.19613,0 +1.934,-9.2828e-06,4.816,-0.33967,0 +2.5068,1.1588,3.9249,0.12585,0 +2.1464,6.0795,-0.5778,-2.2302,0 +0.051979,7.0521,-2.0541,-3.1508,0 +1.2706,8.035,-0.19651,-2.1888,0 +1.143,0.83391,5.4552,-0.56984,0 +2.2928,9.0386,-3.2417,-1.2991,0 +0.3292,-4.4552,4.5718,-0.9888,0 +2.9719,6.8369,-0.2702,0.71291,0 +1.6849,8.7489,-1.2641,-1.3858,0 +-1.9177,11.6894,2.5454,-3.2763,0 +2.3729,10.4726,-3.0087,-3.2013,0 +1.0284,9.767,-1.3687,-1.7853,0 +0.27451,9.2186,-3.2863,-4.8448,0 +1.6032,-4.7863,8.5193,-2.1203,0 +4.616,10.1788,-4.2185,-4.4245,0 +4.2478,7.6956,-2.7696,-1.0767,0 +4.0215,-2.7004,2.4957,0.36636,0 +5.0297,-4.9704,3.5025,-0.23751,0 +1.5902,2.2948,3.2403,0.18404,0 +2.1274,5.1939,-1.7971,-1.1763,0 +1.1811,8.3847,-2.0567,-0.90345,0 +0.3292,-4.4552,4.5718,-0.9888,0 +5.7353,5.2808,-2.2598,0.075416,0 +2.6718,5.6574,0.72974,-1.4892,0 +1.5799,-4.7076,7.9186,-1.5487,0 +2.9499,2.2493,1.3458,-0.037083,0 +0.5195,-3.2633,3.0895,-0.9849,0 +3.7352,9.5911,-3.9032,-3.3487,0 +-1.7344,2.0175,7.7618,0.93532,0 +3.884,10.0277,-3.9298,-4.0819,0 +3.5257,1.2829,1.9276,1.7991,0 +4.4549,2.4976,1.0313,0.96894,0 +-0.16108,-6.4624,8.3573,-1.5216,0 +4.2164,9.4607,-4.9288,-5.2366,0 +3.5152,6.8224,-0.67377,-0.46898,0 +1.6988,2.9094,2.9044,0.11033,0 +1.0607,2.4542,2.5188,-0.17027,0 +2.0421,1.2436,4.2171,0.90429,0 +3.5594,1.3078,1.291,1.6556,0 +3.0009,5.8126,-2.2306,-0.66553,0 +3.9294,1.4112,1.8076,0.89782,0 +3.4667,-4.0724,4.2882,1.5418,0 +3.966,3.9213,0.70574,0.33662,0 +1.0191,2.33,4.9334,0.82929,0 +0.96414,5.616,2.2138,-0.12501,0 +1.8205,6.7562,0.0099913,0.39481,0 +4.9923,7.8653,-2.3515,-0.71984,0 +-1.1804,11.5093,0.15565,-6.8194,0 +4.0329,0.23175,0.89082,1.1823,0 +0.66018,10.3878,-1.4029,-3.9151,0 +3.5982,7.1307,-1.3035,0.21248,0 +-1.8584,7.886,-1.6643,-1.8384,0 +4.0972,0.46972,1.6671,0.91593,0 +3.3299,0.91254,1.5806,0.39352,0 +3.1088,3.1122,0.80857,0.4336,0 +-4.2859,8.5234,3.1392,-0.91639,0 +-1.2528,10.2036,2.1787,-5.6038,0 +0.5195,-3.2633,3.0895,-0.9849,0 +0.3292,-4.4552,4.5718,-0.9888,0 +0.88872,5.3449,2.045,-0.19355,0 +3.5458,9.3718,-4.0351,-3.9564,0 +-0.21661,8.0329,1.8848,-3.8853,0 +2.7206,9.0821,-3.3111,-0.96811,0 +3.2051,8.6889,-2.9033,-0.7819,0 +2.6917,10.8161,-3.3,-4.2888,0 +-2.3242,11.5176,1.8231,-5.375,0 +2.7161,-4.2006,4.1914,0.16981,0 +3.3848,3.2674,0.90967,0.25128,0 +1.7452,4.8028,2.0878,0.62627,0 +2.805,0.57732,1.3424,1.2133,0 +5.7823,5.5788,-2.4089,-0.056479,0 +3.8999,1.734,1.6011,0.96765,0 +3.5189,6.332,-1.7791,-0.020273,0 +3.2294,7.7391,-0.37816,-2.5405,0 +3.4985,3.1639,0.22677,-0.1651,0 +2.1948,1.3781,1.1582,0.85774,0 +2.2526,9.9636,-3.1749,-2.9944,0 +4.1529,-3.9358,2.8633,-0.017686,0 +0.74307,11.17,-1.3824,-4.0728,0 +1.9105,8.871,-2.3386,-0.75604,0 +-1.5055,0.070346,6.8681,-0.50648,0 +0.58836,10.7727,-1.3884,-4.3276,0 +3.2303,7.8384,-3.5348,-1.2151,0 +-1.9922,11.6542,2.6542,-5.2107,0 +2.8523,9.0096,-3.761,-3.3371,0 +4.2772,2.4955,0.48554,0.36119,0 +1.5099,0.039307,6.2332,-0.30346,0 +5.4188,10.1457,-4.084,-3.6991,0 +0.86202,2.6963,4.2908,0.54739,0 +3.8117,10.1457,-4.0463,-4.5629,0 +0.54777,10.3754,-1.5435,-4.1633,0 +2.3718,7.4908,0.015989,-1.7414,0 +-2.4953,11.1472,1.9353,-3.4638,0 +4.6361,-2.6611,2.8358,1.1991,0 +-2.2527,11.5321,2.5899,-3.2737,0 +3.7982,10.423,-4.1602,-4.9728,0 +-0.36279,8.2895,-1.9213,-3.3332,0 +2.1265,6.8783,0.44784,-2.2224,0 +0.86736,5.5643,1.6765,-0.16769,0 +3.7831,10.0526,-3.8869,-3.7366,0 +-2.2623,12.1177,0.28846,-7.7581,0 +1.2616,4.4303,-1.3335,-1.7517,0 +2.6799,3.1349,0.34073,0.58489,0 +-0.39816,5.9781,1.3912,-1.1621,0 +4.3937,0.35798,2.0416,1.2004,0 +2.9695,5.6222,0.27561,-1.1556,0 +1.3049,-0.15521,6.4911,-0.75346,0 +2.2123,-5.8395,7.7687,-0.85302,0 +1.9647,6.9383,0.57722,0.66377,0 +3.0864,-2.5845,2.2309,0.30947,0 +0.3798,0.7098,0.7572,-0.4444,0 +0.58982,7.4266,1.2353,-2.9595,0 +0.14783,7.946,1.0742,-3.3409,0 +-0.062025,6.1975,1.099,-1.131,0 +4.223,1.1319,0.72202,0.96118,0 +0.64295,7.1018,0.3493,-0.41337,0 +1.941,0.46351,4.6472,1.0879,0 +4.0047,0.45937,1.3621,1.6181,0 +3.7767,9.7794,-3.9075,-3.5323,0 +3.4769,-0.15314,2.53,2.4495,0 +1.9818,9.2621,-3.521,-1.872,0 +3.8023,-3.8696,4.044,0.95343,0 +4.3483,11.1079,-4.0857,-4.2539,0 +1.1518,1.3864,5.2727,-0.43536,0 +-1.2576,1.5892,7.0078,0.42455,0 +1.9572,-5.1153,8.6127,-1.4297,0 +-2.484,12.1611,2.8204,-3.7418,0 +-1.1497,1.2954,7.701,0.62627,0 +4.8368,10.0132,-4.3239,-4.3276,0 +-0.12196,8.8068,0.94566,-4.2267,0 +1.9429,6.3961,0.092248,0.58102,0 +1.742,-4.809,8.2142,-2.0659,0 +-1.5222,10.8409,2.7827,-4.0974,0 +-1.3,10.2678,-2.953,-5.8638,0 +3.4246,-0.14693,0.80342,0.29136,0 +2.5503,-4.9518,6.3729,-0.41596,0 +1.5691,6.3465,-0.1828,-2.4099,0 +1.3087,4.9228,2.0013,0.22024,0 +5.1776,8.2316,-3.2511,-1.5694,0 +2.229,9.6325,-3.1123,-2.7164,0 +5.6272,10.0857,-4.2931,-3.8142,0 +1.2138,8.7986,-2.1672,-0.74182,0 +0.3798,0.7098,0.7572,-0.4444,0 +0.5415,6.0319,1.6825,-0.46122,0 +4.0524,5.6802,-1.9693,0.026279,0 +4.7285,2.1065,-0.28305,1.5625,0 +3.4359,0.66216,2.1041,1.8922,0 +0.86816,10.2429,-1.4912,-4.0082,0 +3.359,9.8022,-3.8209,-3.7133,0 +3.6702,2.9942,0.85141,0.30688,0 +1.3349,6.1189,0.46497,0.49826,0 +3.1887,-3.4143,2.7742,-0.2026,0 +2.4527,2.9653,0.20021,-0.056479,0 +3.9121,2.9735,0.92852,0.60558,0 +3.9364,10.5885,-3.725,-4.3133,0 +3.9414,-3.2902,3.1674,1.0866,0 +3.6922,-3.9585,4.3439,1.3517,0 +5.681,7.795,-2.6848,-0.92544,0 +0.77124,9.0862,-1.2281,-1.4996,0 +3.5761,9.7753,-3.9795,-3.4638,0 +1.602,6.1251,0.52924,0.47886,0 +2.6682,10.216,-3.4414,-4.0069,0 +2.0007,1.8644,2.6491,0.47369,0 +0.64215,3.1287,4.2933,0.64696,0 +4.3848,-3.0729,3.0423,1.2741,0 +0.77445,9.0552,-2.4089,-1.3884,0 +0.96574,8.393,-1.361,-1.4659,0 +3.0948,8.7324,-2.9007,-0.96682,0 +4.9362,7.6046,-2.3429,-0.85302,0 +-1.9458,11.2217,1.9079,-3.4405,0 +5.7403,-0.44284,0.38015,1.3763,0 +-2.6989,12.1984,0.67661,-8.5482,0 +1.1472,3.5985,1.9387,-0.43406,0 +2.9742,8.96,-2.9024,-1.0379,0 +4.5707,7.2094,-3.2794,-1.4944,0 +0.1848,6.5079,2.0133,-0.87242,0 +0.87256,9.2931,-0.7843,-2.1978,0 +0.39559,6.8866,1.0588,-0.67587,0 +3.8384,6.1851,-2.0439,-0.033204,0 +2.8209,7.3108,-0.81857,-1.8784,0 +2.5817,9.7546,-3.1749,-2.9957,0 +3.8213,0.23175,2.0133,2.0564,0 +0.3798,0.7098,0.7572,-0.4444,0 +3.4893,6.69,-1.2042,-0.38751,0 +-1.7781,0.8546,7.1303,0.027572,0 +2.0962,2.4769,1.9379,-0.040962,0 +0.94732,-0.57113,7.1903,-0.67587,0 +2.8261,9.4007,-3.3034,-1.0509,0 +0.0071249,8.3661,0.50781,-3.8155,0 +0.96788,7.1907,1.2798,-2.4565,0 +4.7432,2.1086,0.1368,1.6543,0 +3.6575,7.2797,-2.2692,-1.144,0 +3.8832,6.4023,-2.432,-0.98363,0 +3.4776,8.811,-3.1886,-0.92285,0 +1.1315,7.9212,1.093,-2.8444,0 +2.8237,2.8597,0.19678,0.57196,0 +1.9321,6.0423,0.26019,-2.053,0 +3.0632,-3.3315,5.1305,0.8267,0 +-1.8411,10.8306,2.769,-3.0901,0 +2.8084,11.3045,-3.3394,-4.4194,0 +2.5698,-4.4076,5.9856,0.078002,0 +-0.12624,10.3216,-3.7121,-6.1185,0 +3.3756,-4.0951,4.367,1.0698,0 +-0.048008,-1.6037,8.4756,0.75558,0 +0.5706,-0.0248,1.2421,-0.5621,0 +0.88444,6.5906,0.55837,-0.44182,0 +3.8644,3.7061,0.70403,0.35214,0 +1.2999,2.5762,2.0107,-0.18967,0 +2.0051,-6.8638,8.132,-0.2401,0 +4.9294,0.27727,0.20792,0.33662,0 +2.8297,6.3485,-0.73546,-0.58665,0 +2.565,8.633,-2.9941,-1.3082,0 +2.093,8.3061,0.022844,-3.2724,0 +4.6014,5.6264,-2.1235,0.19309,0 +5.0617,-0.35799,0.44698,0.99868,0 +-0.2951,9.0489,-0.52725,-2.0789,0 +3.577,2.4004,1.8908,0.73231,0 +3.9433,2.5017,1.5215,0.903,0 +2.6648,10.754,-3.3994,-4.1685,0 +5.9374,6.1664,-2.5905,-0.36553,0 +2.0153,1.8479,3.1375,0.42843,0 +5.8782,5.9409,-2.8544,-0.60863,0 +-2.3983,12.606,2.9464,-5.7888,0 +1.762,4.3682,2.1384,0.75429,0 +4.2406,-2.4852,1.608,0.7155,0 +3.4669,6.87,-1.0568,-0.73147,0 +3.1896,5.7526,-0.18537,-0.30087,0 +0.81356,9.1566,-2.1492,-4.1814,0 +0.52855,0.96427,4.0243,-1.0483,0 +2.1319,-2.0403,2.5574,-0.061652,0 +0.33111,4.5731,2.057,-0.18967,0 +1.2746,8.8172,-1.5323,-1.7957,0 +2.2091,7.4556,-1.3284,-3.3021,0 +2.5328,7.528,-0.41929,-2.6478,0 +3.6244,1.4609,1.3501,1.9284,0 +-1.3885,12.5026,0.69118,-7.5487,0 +5.7227,5.8312,-2.4097,-0.24527,0 +3.3583,10.3567,-3.7301,-3.6991,0 +2.5227,2.2369,2.7236,0.79438,0 +0.045304,6.7334,1.0708,-0.9332,0 +4.8278,7.7598,-2.4491,-1.2216,0 +1.9476,-4.7738,8.527,-1.8668,0 +2.7659,0.66216,4.1494,-0.28406,0 +-0.10648,-0.76771,7.7575,0.64179,0 +0.72252,-0.053811,5.6703,-1.3509,0 +4.2475,1.4816,-0.48355,0.95343,0 +3.9772,0.33521,2.2566,2.1625,0 +3.6667,4.302,0.55923,0.33791,0 +2.8232,10.8513,-3.1466,-3.9784,0 +-1.4217,11.6542,-0.057699,-7.1025,0 +4.2458,1.1981,0.66633,0.94696,0 +4.1038,-4.8069,3.3491,-0.49225,0 +1.4507,8.7903,-2.2324,-0.65259,0 +3.4647,-3.9172,3.9746,0.36119,0 +1.8533,6.1458,1.0176,-2.0401,0 +3.5288,0.71596,1.9507,1.9375,0 +3.9719,1.0367,0.75973,1.0013,0 +3.534,9.3614,-3.6316,-1.2461,0 +3.6894,9.887,-4.0788,-4.3664,0 +3.0672,-4.4117,3.8238,-0.81682,0 +2.6463,-4.8152,6.3549,0.003003,0 +2.2893,3.733,0.6312,-0.39786,0 +1.5673,7.9274,-0.056842,-2.1694,0 +4.0405,0.51524,1.0279,1.106,0 +4.3846,-4.8794,3.3662,-0.029324,0 +2.0165,-0.25246,5.1707,1.0763,0 +4.0446,11.1741,-4.3582,-4.7401,0 +-0.33729,-0.64976,7.6659,0.72326,0 +-2.4604,12.7302,0.91738,-7.6418,0 +4.1195,10.9258,-3.8929,-4.1802,0 +2.0193,0.82356,4.6369,1.4202,0 +1.5701,7.9129,0.29018,-2.1953,0 +2.6415,7.586,-0.28562,-1.6677,0 +5.0214,8.0764,-3.0515,-1.7155,0 +4.3435,3.3295,0.83598,0.64955,0 +1.8238,-6.7748,8.3873,-0.54139,0 +3.9382,0.9291,0.78543,0.6767,0 +2.2517,-5.1422,4.2916,-1.2487,0 +5.504,10.3671,-4.413,-4.0211,0 +2.8521,9.171,-3.6461,-1.2047,0 +1.1676,9.1566,-2.0867,-0.80647,0 +2.6104,8.0081,-0.23592,-1.7608,0 +0.32444,10.067,-1.1982,-4.1284,0 +3.8962,-4.7904,3.3954,-0.53751,0 +2.1752,-0.8091,5.1022,-0.67975,0 +1.1588,8.9331,-2.0807,-1.1272,0 +4.7072,8.2957,-2.5605,-1.4905,0 +-1.9667,11.8052,-0.40472,-7.8719,0 +4.0552,0.40143,1.4563,0.65343,0 +2.3678,-6.839,8.4207,-0.44829,0 +0.33565,6.8369,0.69718,-0.55691,0 +4.3398,-5.3036,3.8803,-0.70432,0 +1.5456,8.5482,0.4187,-2.1784,0 +1.4276,8.3847,-2.0995,-1.9677,0 +-0.27802,8.1881,-3.1338,-2.5276,0 +0.93611,8.6413,-1.6351,-1.3043,0 +4.6352,-3.0087,2.6773,1.212,0 +1.5268,-5.5871,8.6564,-1.722,0 +0.95626,2.4728,4.4578,0.21636,0 +-2.7914,1.7734,6.7756,-0.39915,0 +5.2032,3.5116,-1.2538,1.0129,0 +3.1836,7.2321,-1.0713,-2.5909,0 +0.65497,5.1815,1.0673,-0.42113,0 +5.6084,10.3009,-4.8003,-4.3534,0 +1.105,7.4432,0.41099,-3.0332,0 +3.9292,-2.9156,2.2129,0.30817,0 +1.1558,6.4003,1.5506,0.6961,0 +2.5581,2.6218,1.8513,0.40257,0 +2.7831,10.9796,-3.557,-4.4039,0 +3.7635,2.7811,0.66119,0.34179,0 +-2.6479,10.1374,-1.331,-5.4707,0 +1.0652,8.3682,-1.4004,-1.6509,0 +-1.4275,11.8797,0.41613,-6.9978,0 +5.7456,10.1808,-4.7857,-4.3366,0 +5.086,3.2798,-1.2701,1.1189,0 +3.4092,5.4049,-2.5228,-0.89958,0 +-0.2361,9.3221,2.1307,-4.3793,0 +3.8197,8.9951,-4.383,-4.0327,0 +-1.1391,1.8127,6.9144,0.70127,0 +4.9249,0.68906,0.77344,1.2095,0 +2.5089,6.841,-0.029423,0.44912,0 +-0.2062,9.2207,-3.7044,-6.8103,0 +3.946,6.8514,-1.5443,-0.5582,0 +-0.278,8.1881,-3.1338,-2.5276,0 +1.8592,3.2074,-0.15966,-0.26208,0 +0.56953,7.6294,1.5754,-3.2233,0 +3.4626,-4.449,3.5427,0.15429,0 +3.3951,1.1484,2.1401,2.0862,0 +5.0429,-0.52974,0.50439,1.106,0 +3.7758,7.1783,-1.5195,0.40128,0 +4.6562,7.6398,-2.4243,-1.2384,0 +4.0948,-2.9674,2.3689,0.75429,0 +1.8384,6.063,0.54723,0.51248,0 +2.0153,0.43661,4.5864,-0.3151,0 +3.5251,0.7201,1.6928,0.64438,0 +3.757,-5.4236,3.8255,-1.2526,0 +2.5989,3.5178,0.7623,0.81119,0 +1.8994,0.97462,4.2265,0.81377,0 +3.6941,-3.9482,4.2625,1.1577,0 +4.4295,-2.3507,1.7048,0.90946,0 +6.8248,5.2187,-2.5425,0.5461,0 +1.8967,-2.5163,2.8093,-0.79742,0 +2.1526,-6.1665,8.0831,-0.34355,0 +3.3004,7.0811,-1.3258,0.22283,0 +2.7213,7.05,-0.58808,0.41809,0 +3.8846,-3.0336,2.5334,0.20214,0 +4.1665,-0.4449,0.23448,0.27843,0 +0.94225,5.8561,1.8762,-0.32544,0 +5.1321,-0.031048,0.32616,1.1151,0 +0.38251,6.8121,1.8128,-0.61251,0 +3.0333,-2.5928,2.3183,0.303,0 +2.9233,6.0464,-0.11168,-0.58665,0 +1.162,10.2926,-1.2821,-4.0392,0 +3.7791,2.5762,1.3098,0.5655,0 +0.77765,5.9781,1.1941,-0.3526,0 +-0.38388,-1.0471,8.0514,0.49567,0 +0.21084,9.4359,-0.094543,-1.859,0 +2.9571,-4.5938,5.9068,0.57196,0 +4.6439,-3.3729,2.5976,0.55257,0 +3.3577,-4.3062,6.0241,0.18274,0 +3.5127,2.9073,1.0579,0.40774,0 +2.6562,10.7044,-3.3085,-4.0767,0 +-1.3612,10.694,1.7022,-2.9026,0 +-0.278,8.1881,-3.1338,-2.5276,0 +1.04,-6.9321,8.2888,-1.2991,0 +2.1881,2.7356,1.3278,-0.1832,0 +4.2756,-2.6528,2.1375,0.94437,0 +-0.11996,6.8741,0.91995,-0.6694,0 +2.9736,8.7944,-3.6359,-1.3754,0 +3.7798,-3.3109,2.6491,0.066365,0 +5.3586,3.7557,-1.7345,1.0789,0 +1.8373,6.1292,0.84027,0.55257,0 +1.2262,0.89599,5.7568,-0.11596,0 +-0.048008,-0.56078,7.7215,0.453,0 +0.5706,-0.024841,1.2421,-0.56208,0 +4.3634,0.46351,1.4281,2.0202,0 +3.482,-4.1634,3.5008,-0.078462,0 +0.51947,-3.2633,3.0895,-0.98492,0 +2.3164,-2.628,3.1529,-0.08622,0 +-1.8348,11.0334,3.1863,-4.8888,0 +1.3754,8.8793,-1.9136,-0.53751,0 +-0.16682,5.8974,0.49839,-0.70044,0 +0.29961,7.1328,-0.31475,-1.1828,0 +0.25035,9.3262,-3.6873,-6.2543,0 +2.4673,1.3926,1.7125,0.41421,0 +0.77805,6.6424,-1.1425,-1.0573,0 +3.4465,2.9508,1.0271,0.5461,0 +2.2429,-4.1427,5.2333,-0.40173,0 +3.7321,-3.884,3.3577,-0.0060486,0 +4.3365,-3.584,3.6884,0.74912,0 +-2.0759,10.8223,2.6439,-4.837,0 +4.0715,7.6398,-2.0824,-1.1698,0 +0.76163,5.8209,1.1959,-0.64613,0 +-0.53966,7.3273,0.46583,-1.4543,0 +2.6213,5.7919,0.065686,-1.5759,0 +3.0242,-3.3378,2.5865,-0.54785,0 +5.8519,5.3905,-2.4037,-0.061652,0 +0.5706,-0.0248,1.2421,-0.5621,0 +3.9771,11.1513,-3.9272,-4.3444,0 +1.5478,9.1814,-1.6326,-1.7375,0 +0.74054,0.36625,2.1992,0.48403,0 +0.49571,10.2243,-1.097,-4.0159,0 +1.645,7.8612,-0.87598,-3.5569,0 +3.6077,6.8576,-1.1622,0.28231,0 +3.2403,-3.7082,5.2804,0.41291,0 +3.9166,10.2491,-4.0926,-4.4659,0 +3.9262,6.0299,-2.0156,-0.065531,0 +5.591,10.4643,-4.3839,-4.3379,0 +3.7522,-3.6978,3.9943,1.3051,0 +1.3114,4.5462,2.2935,0.22541,0 +3.7022,6.9942,-1.8511,-0.12889,0 +4.364,-3.1039,2.3757,0.78532,0 +3.5829,1.4423,1.0219,1.4008,0 +4.65,-4.8297,3.4553,-0.25174,0 +5.1731,3.9606,-1.983,0.40774,0 +3.2692,3.4184,0.20706,-0.066824,0 +2.4012,1.6223,3.0312,0.71679,0 +1.7257,-4.4697,8.2219,-1.8073,0 +4.7965,6.9859,-1.9967,-0.35001,0 +4.0962,10.1891,-3.9323,-4.1827,0 +2.5559,3.3605,2.0321,0.26809,0 +3.4916,8.5709,-3.0326,-0.59182,0 +0.5195,-3.2633,3.0895,-0.9849,0 +2.9856,7.2673,-0.409,-2.2431,0 +4.0932,5.4132,-1.8219,0.23576,0 +1.7748,-0.76978,5.5854,1.3039,0 +5.2012,0.32694,0.17965,1.1797,0 +-0.45062,-1.3678,7.0858,-0.40303,0 +4.8451,8.1116,-2.9512,-1.4724,0 +0.74841,7.2756,1.1504,-0.5388,0 +5.1213,8.5565,-3.3917,-1.5474,0 +3.6181,-3.7454,2.8273,-0.71208,0 +0.040498,8.5234,1.4461,-3.9306,0 +-2.6479,10.1374,-1.331,-5.4707,0 +0.37984,0.70975,0.75716,-0.44441,0 +-0.95923,0.091039,6.2204,-1.4828,0 +2.8672,10.0008,-3.2049,-3.1095,0 +1.0182,9.109,-0.62064,-1.7129,0 +-2.7143,11.4535,2.1092,-3.9629,0 +3.8244,-3.1081,2.4537,0.52024,0 +2.7961,2.121,1.8385,0.38317,0 +3.5358,6.7086,-0.81857,0.47886,0 +-0.7056,8.7241,2.2215,-4.5965,0 +4.1542,7.2756,-2.4766,-1.2099,0 +0.92703,9.4318,-0.66263,-1.6728,0 +1.8216,-6.4748,8.0514,-0.41855,0 +-2.4473,12.6247,0.73573,-7.6612,0 +3.5862,-3.0957,2.8093,0.24481,0 +0.66191,9.6594,-0.28819,-1.6638,0 +4.7926,1.7071,-0.051701,1.4926,0 +4.9852,8.3516,-2.5425,-1.2823,0 +0.75736,3.0294,2.9164,-0.068117,0 +4.6499,7.6336,-1.9427,-0.37458,0 +-0.023579,7.1742,0.78457,-0.75734,0 +0.85574,0.0082678,6.6042,-0.53104,0 +0.88298,0.66009,6.0096,-0.43277,0 +4.0422,-4.391,4.7466,1.137,0 +2.2546,8.0992,-0.24877,-3.2698,0 +0.38478,6.5989,-0.3336,-0.56466,0 +3.1541,-5.1711,6.5991,0.57455,0 +2.3969,0.23589,4.8477,1.437,0 +4.7114,2.0755,-0.2702,1.2379,0 +4.0127,10.1477,-3.9366,-4.0728,0 +2.6606,3.1681,1.9619,0.18662,0 +3.931,1.8541,-0.023425,1.2314,0 +0.01727,8.693,1.3989,-3.9668,0 +3.2414,0.40971,1.4015,1.1952,0 +2.2504,3.5757,0.35273,0.2836,0 +-1.3971,3.3191,-1.3927,-1.9948,1 +0.39012,-0.14279,-0.031994,0.35084,1 +-1.6677,-7.1535,7.8929,0.96765,1 +-3.8483,-12.8047,15.6824,-1.281,1 +-3.5681,-8.213,10.083,0.96765,1 +-2.2804,-0.30626,1.3347,1.3763,1 +-1.7582,2.7397,-2.5323,-2.234,1 +-0.89409,3.1991,-1.8219,-2.9452,1 +0.3434,0.12415,-0.28733,0.14654,1 +-0.9854,-6.661,5.8245,0.5461,1 +-2.4115,-9.1359,9.3444,-0.65259,1 +-1.5252,-6.2534,5.3524,0.59912,1 +-0.61442,-0.091058,-0.31818,0.50214,1 +-0.36506,2.8928,-3.6461,-3.0603,1 +-5.9034,6.5679,0.67661,-6.6797,1 +-1.8215,2.7521,-0.72261,-2.353,1 +-0.77461,-1.8768,2.4023,1.1319,1 +-1.8187,-9.0366,9.0162,-0.12243,1 +-3.5801,-12.9309,13.1779,-2.5677,1 +-1.8219,-6.8824,5.4681,0.057313,1 +-0.3481,-0.38696,-0.47841,0.62627,1 +0.47368,3.3605,-4.5064,-4.0431,1 +-3.4083,4.8587,-0.76888,-4.8668,1 +-1.6662,-0.30005,1.4238,0.024986,1 +-2.0962,-7.1059,6.6188,-0.33708,1 +-2.6685,-10.4519,9.1139,-1.7323,1 +-0.47465,-4.3496,1.9901,0.7517,1 +1.0552,1.1857,-2.6411,0.11033,1 +1.1644,3.8095,-4.9408,-4.0909,1 +-4.4779,7.3708,-0.31218,-6.7754,1 +-2.7338,0.45523,2.4391,0.21766,1 +-2.286,-5.4484,5.8039,0.88231,1 +-1.6244,-6.3444,4.6575,0.16981,1 +0.50813,0.47799,-1.9804,0.57714,1 +1.6408,4.2503,-4.9023,-2.6621,1 +0.81583,4.84,-5.2613,-6.0823,1 +-5.4901,9.1048,-0.38758,-5.9763,1 +-3.2238,2.7935,0.32274,-0.86078,1 +-2.0631,-1.5147,1.219,0.44524,1 +-0.91318,-2.0113,-0.19565,0.066365,1 +0.6005,1.9327,-3.2888,-0.32415,1 +0.91315,3.3377,-4.0557,-1.6741,1 +-0.28015,3.0729,-3.3857,-2.9155,1 +-3.6085,3.3253,-0.51954,-3.5737,1 +-6.2003,8.6806,0.0091344,-3.703,1 +-4.2932,3.3419,0.77258,-0.99785,1 +-3.0265,-0.062088,0.68604,-0.055186,1 +-1.7015,-0.010356,-0.99337,-0.53104,1 +-0.64326,2.4748,-2.9452,-1.0276,1 +-0.86339,1.9348,-2.3729,-1.0897,1 +-2.0659,1.0512,-0.46298,-1.0974,1 +-2.1333,1.5685,-0.084261,-1.7453,1 +-1.2568,-1.4733,2.8718,0.44653,1 +-3.1128,-6.841,10.7402,-1.0172,1 +-4.8554,-5.9037,10.9818,-0.82199,1 +-2.588,3.8654,-0.3336,-1.2797,1 +0.24394,1.4733,-1.4192,-0.58535,1 +-1.5322,-5.0966,6.6779,0.17498,1 +-4.0025,-13.4979,17.6772,-3.3202,1 +-4.0173,-8.3123,12.4547,-1.4375,1 +-3.0731,-0.53181,2.3877,0.77627,1 +-1.979,3.2301,-1.3575,-2.5819,1 +-0.4294,-0.14693,0.044265,-0.15605,1 +-2.234,-7.0314,7.4936,0.61334,1 +-4.211,-12.4736,14.9704,-1.3884,1 +-3.8073,-8.0971,10.1772,0.65084,1 +-2.5912,-0.10554,1.2798,1.0414,1 +-2.2482,3.0915,-2.3969,-2.6711,1 +-1.4427,3.2922,-1.9702,-3.4392,1 +-0.39416,-0.020702,-0.066267,-0.44699,1 +-1.522,-6.6383,5.7491,-0.10691,1 +-2.8267,-9.0407,9.0694,-0.98233,1 +-1.7263,-6.0237,5.2419,0.29524,1 +-0.94255,0.039307,-0.24192,0.31593,1 +-0.89569,3.0025,-3.6067,-3.4457,1 +-6.2815,6.6651,0.52581,-7.0107,1 +-2.3211,3.166,-1.0002,-2.7151,1 +-1.3414,-2.0776,2.8093,0.60688,1 +-2.258,-9.3263,9.3727,-0.85949,1 +-3.8858,-12.8461,12.7957,-3.1353,1 +-1.8969,-6.7893,5.2761,-0.32544,1 +-0.52645,-0.24832,-0.45613,0.41938,1 +0.0096613,3.5612,-4.407,-4.4103,1 +-3.8826,4.898,-0.92311,-5.0801,1 +-2.1405,-0.16762,1.321,-0.20906,1 +-2.4824,-7.3046,6.839,-0.59053,1 +-2.9098,-10.0712,8.4156,-1.9948,1 +-0.60975,-4.002,1.8471,0.6017,1 +0.83625,1.1071,-2.4706,-0.062945,1 +0.60731,3.9544,-4.772,-4.4853,1 +-4.8861,7.0542,-0.17252,-6.959,1 +-3.1366,0.42212,2.6225,-0.064238,1 +-2.5754,-5.6574,6.103,0.65214,1 +-1.8782,-6.5865,4.8486,-0.021566,1 +0.24261,0.57318,-1.9402,0.44007,1 +1.296,4.2855,-4.8457,-2.9013,1 +0.25943,5.0097,-5.0394,-6.3862,1 +-5.873,9.1752,-0.27448,-6.0422,1 +-3.4605,2.6901,0.16165,-1.0224,1 +-2.3797,-1.4402,1.1273,0.16076,1 +-1.2424,-1.7175,-0.52553,-0.21036,1 +0.20216,1.9182,-3.2828,-0.61768,1 +0.59823,3.5012,-3.9795,-1.7841,1 +-0.77995,3.2322,-3.282,-3.1004,1 +-4.1409,3.4619,-0.47841,-3.8879,1 +-6.5084,8.7696,0.23191,-3.937,1 +-4.4996,3.4288,0.56265,-1.1672,1 +-3.3125,0.10139,0.55323,-0.2957,1 +-1.9423,0.3766,-1.2898,-0.82458,1 +-0.75793,2.5349,-3.0464,-1.2629,1 +-0.95403,1.9824,-2.3163,-1.1957,1 +-2.2173,1.4671,-0.72689,-1.1724,1 +-2.799,1.9679,-0.42357,-2.1125,1 +-1.8629,-0.84841,2.5377,0.097399,1 +-3.5916,-6.2285,10.2389,-1.1543,1 +-5.1216,-5.3118,10.3846,-1.0612,1 +-3.2854,4.0372,-0.45356,-1.8228,1 +-0.56877,1.4174,-1.4252,-1.1246,1 +-2.3518,-4.8359,6.6479,-0.060358,1 +-4.4861,-13.2889,17.3087,-3.2194,1 +-4.3876,-7.7267,11.9655,-1.4543,1 +-3.3604,-0.32696,2.1324,0.6017,1 +-1.0112,2.9984,-1.1664,-1.6185,1 +0.030219,-1.0512,1.4024,0.77369,1 +-1.6514,-8.4985,9.1122,1.2379,1 +-3.2692,-12.7406,15.5573,-0.14182,1 +-2.5701,-6.8452,8.9999,2.1353,1 +-1.3066,0.25244,0.7623,1.7758,1 +-1.6637,3.2881,-2.2701,-2.2224,1 +-0.55008,2.8659,-1.6488,-2.4319,1 +0.21431,-0.69529,0.87711,0.29653,1 +-0.77288,-7.4473,6.492,0.36119,1 +-1.8391,-9.0883,9.2416,-0.10432,1 +-0.63298,-5.1277,4.5624,1.4797,1 +0.0040545,0.62905,-0.64121,0.75817,1 +-0.28696,3.1784,-3.5767,-3.1896,1 +-5.2406,6.6258,-0.19908,-6.8607,1 +-1.4446,2.1438,-0.47241,-1.6677,1 +-0.65767,-2.8018,3.7115,0.99739,1 +-1.5449,-10.1498,9.6152,-1.2332,1 +-2.8957,-12.0205,11.9149,-2.7552,1 +-0.81479,-5.7381,4.3919,0.3211,1 +0.50225,0.65388,-1.1793,0.39998,1 +0.74521,3.6357,-4.4044,-4.1414,1 +-2.9146,4.0537,-0.45699,-4.0327,1 +-1.3907,-1.3781,2.3055,-0.021566,1 +-1.786,-8.1157,7.0858,-1.2112,1 +-1.7322,-9.2828,7.719,-1.7168,1 +0.55298,-3.4619,1.7048,1.1008,1 +2.031,1.852,-3.0121,0.003003,1 +1.2279,4.0309,-4.6435,-3.9125,1 +-4.2249,6.2699,0.15822,-5.5457,1 +-2.5346,-0.77392,3.3602,0.00171,1 +-1.749,-6.332,6.0987,0.14266,1 +-0.539,-5.167,3.4399,0.052141,1 +1.5631,0.89599,-1.9702,0.65472,1 +2.3917,4.5565,-4.9888,-2.8987,1 +0.89512,4.7738,-4.8431,-5.5909,1 +-5.4808,8.1819,0.27818,-5.0323,1 +-2.8833,1.7713,0.68946,-0.4638,1 +-1.4174,-2.2535,1.518,0.61981,1 +0.4283,-0.94981,-1.0731,0.3211,1 +1.5904,2.2121,-3.1183,-0.11725,1 +1.7425,3.6833,-4.0129,-1.7207,1 +-0.23356,3.2405,-3.0669,-2.7784,1 +-3.6227,3.9958,-0.35845,-3.9047,1 +-6.1536,7.9295,0.61663,-3.2646,1 +-3.9172,2.6652,0.78886,-0.7819,1 +-2.2214,-0.23798,0.56008,0.05602,1 +-0.49241,0.89392,-1.6283,-0.56854,1 +0.26517,2.4066,-2.8416,-0.59958,1 +-0.10234,1.8189,-2.2169,-0.56725,1 +-1.6176,1.0926,-0.35502,-0.59958,1 +-1.8448,1.254,0.27218,-1.0728,1 +-1.2786,-2.4087,4.5735,0.47627,1 +-2.902,-7.6563,11.8318,-0.84268,1 +-4.3773,-5.5167,10.939,-0.4082,1 +-2.0529,3.8385,-0.79544,-1.2138,1 +0.18868,0.70148,-0.51182,0.0055892,1 +-1.7279,-6.841,8.9494,0.68058,1 +-3.3793,-13.7731,17.9274,-2.0323,1 +-3.1273,-7.1121,11.3897,-0.083634,1 +-2.121,-0.05588,1.949,1.353,1 +-1.7697,3.4329,-1.2144,-2.3789,1 +-0.0012852,0.13863,-0.19651,0.0081754,1 +-1.682,-6.8121,7.1398,1.3323,1 +-3.4917,-12.1736,14.3689,-0.61639,1 +-3.1158,-8.6289,10.4403,0.97153,1 +-2.0891,-0.48422,1.704,1.7435,1 +-1.6936,2.7852,-2.1835,-1.9276,1 +-1.2846,3.2715,-1.7671,-3.2608,1 +-0.092194,0.39315,-0.32846,-0.13794,1 +-1.0292,-6.3879,5.5255,0.79955,1 +-2.2083,-9.1069,8.9991,-0.28406,1 +-1.0744,-6.3113,5.355,0.80472,1 +-0.51003,-0.23591,0.020273,0.76334,1 +-0.36372,3.0439,-3.4816,-2.7836,1 +-6.3979,6.4479,1.0836,-6.6176,1 +-2.2501,3.3129,-0.88369,-2.8974,1 +-1.1859,-1.2519,2.2635,0.77239,1 +-1.8076,-8.8131,8.7086,-0.21682,1 +-3.3863,-12.9889,13.0545,-2.7202,1 +-1.4106,-7.108,5.6454,0.31335,1 +-0.21394,-0.68287,0.096532,1.1965,1 +0.48797,3.5674,-4.3882,-3.8116,1 +-3.8167,5.1401,-0.65063,-5.4306,1 +-1.9555,0.20692,1.2473,-0.3707,1 +-2.1786,-6.4479,6.0344,-0.20777,1 +-2.3299,-9.9532,8.4756,-1.8733,1 +0.0031201,-4.0061,1.7956,0.91722,1 +1.3518,1.0595,-2.3437,0.39998,1 +1.2309,3.8923,-4.8277,-4.0069,1 +-5.0301,7.5032,-0.13396,-7.5034,1 +-3.0799,0.60836,2.7039,-0.23751,1 +-2.2987,-5.227,5.63,0.91722,1 +-1.239,-6.541,4.8151,-0.033204,1 +0.75896,0.29176,-1.6506,0.83834,1 +1.6799,4.2068,-4.5398,-2.3931,1 +0.63655,5.2022,-5.2159,-6.1211,1 +-6.0598,9.2952,-0.43642,-6.3694,1 +-3.518,2.8763,0.1548,-1.2086,1 +-2.0336,-1.4092,1.1582,0.36507,1 +-0.69745,-1.7672,-0.34474,-0.12372,1 +0.75108,1.9161,-3.1098,-0.20518,1 +0.84546,3.4826,-3.6307,-1.3961,1 +-0.55648,3.2136,-3.3085,-2.7965,1 +-3.6817,3.2239,-0.69347,-3.4004,1 +-6.7526,8.8172,-0.061983,-3.725,1 +-4.577,3.4515,0.66719,-0.94742,1 +-2.9883,0.31245,0.45041,0.068951,1 +-1.4781,0.14277,-1.1622,-0.48579,1 +-0.46651,2.3383,-2.9812,-1.0431,1 +-0.8734,1.6533,-2.1964,-0.78061,1 +-2.1234,1.1815,-0.55552,-0.81165,1 +-2.3142,2.0838,-0.46813,-1.6767,1 +-1.4233,-0.98912,2.3586,0.39481,1 +-3.0866,-6.6362,10.5405,-0.89182,1 +-4.7331,-6.1789,11.388,-1.0741,1 +-2.8829,3.8964,-0.1888,-1.1672,1 +-0.036127,1.525,-1.4089,-0.76121,1 +-1.7104,-4.778,6.2109,0.3974,1 +-3.8203,-13.0551,16.9583,-2.3052,1 +-3.7181,-8.5089,12.363,-0.95518,1 +-2.899,-0.60424,2.6045,1.3776,1 +-0.98193,2.7956,-1.2341,-1.5668,1 +-0.17296,-1.1816,1.3818,0.7336,1 +-1.9409,-8.6848,9.155,0.94049,1 +-3.5713,-12.4922,14.8881,-0.47027,1 +-2.9915,-6.6258,8.6521,1.8198,1 +-1.8483,0.31038,0.77344,1.4189,1 +-2.2677,3.2964,-2.2563,-2.4642,1 +-0.50816,2.868,-1.8108,-2.2612,1 +0.14329,-1.0885,1.0039,0.48791,1 +-0.90784,-7.9026,6.7807,0.34179,1 +-2.0042,-9.3676,9.3333,-0.10303,1 +-0.93587,-5.1008,4.5367,1.3866,1 +-0.40804,0.54214,-0.52725,0.6586,1 +-0.8172,3.3812,-3.6684,-3.456,1 +-4.8392,6.6755,-0.24278,-6.5775,1 +-1.2792,2.1376,-0.47584,-1.3974,1 +-0.66008,-3.226,3.8058,1.1836,1 +-1.7713,-10.7665,10.2184,-1.0043,1 +-3.0061,-12.2377,11.9552,-2.1603,1 +-1.1022,-5.8395,4.5641,0.68705,1 +0.11806,0.39108,-0.98223,0.42843,1 +0.11686,3.735,-4.4379,-4.3741,1 +-2.7264,3.9213,-0.49212,-3.6371,1 +-1.2369,-1.6906,2.518,0.51636,1 +-1.8439,-8.6475,7.6796,-0.66682,1 +-1.8554,-9.6035,7.7764,-0.97716,1 +0.16358,-3.3584,1.3749,1.3569,1 +1.5077,1.9596,-3.0584,-0.12243,1 +0.67886,4.1199,-4.569,-4.1414,1 +-3.9934,5.8333,0.54723,-4.9379,1 +-2.3898,-0.78427,3.0141,0.76205,1 +-1.7976,-6.7686,6.6753,0.89912,1 +-0.70867,-5.5602,4.0483,0.903,1 +1.0194,1.1029,-2.3,0.59395,1 +1.7875,4.78,-5.1362,-3.2362,1 +0.27331,4.8773,-4.9194,-5.8198,1 +-5.1661,8.0433,0.044265,-4.4983,1 +-2.7028,1.6327,0.83598,-0.091393,1 +-1.4904,-2.2183,1.6054,0.89394,1 +-0.014902,-1.0243,-0.94024,0.64955,1 +0.88992,2.2638,-3.1046,-0.11855,1 +1.0637,3.6957,-4.1594,-1.9379,1 +-0.8471,3.1329,-3.0112,-2.9388,1 +-3.9594,4.0289,-0.35845,-3.8957,1 +-5.8818,7.6584,0.5558,-2.9155,1 +-3.7747,2.5162,0.83341,-0.30993,1 +-2.4198,-0.24418,0.70146,0.41809,1 +-0.83535,0.80494,-1.6411,-0.19225,1 +-0.30432,2.6528,-2.7756,-0.65647,1 +-0.60254,1.7237,-2.1501,-0.77027,1 +-2.1059,1.1815,-0.53324,-0.82716,1 +-2.0441,1.2271,0.18564,-1.091,1 +-1.5621,-2.2121,4.2591,0.27972,1 +-3.2305,-7.2135,11.6433,-0.94613,1 +-4.8426,-4.9932,10.4052,-0.53104,1 +-2.3147,3.6668,-0.6969,-1.2474,1 +-0.11716,0.60422,-0.38587,-0.059065,1 +-2.0066,-6.719,9.0162,0.099985,1 +-3.6961,-13.6779,17.5795,-2.6181,1 +-3.6012,-6.5389,10.5234,-0.48967,1 +-2.6286,0.18002,1.7956,0.97282,1 +-0.82601,2.9611,-1.2864,-1.4647,1 +0.31803,-0.99326,1.0947,0.88619,1 +-1.4454,-8.4385,8.8483,0.96894,1 +-3.1423,-13.0365,15.6773,-0.66165,1 +-2.5373,-6.959,8.8054,1.5289,1 +-1.366,0.18416,0.90539,1.5806,1 +-1.7064,3.3088,-2.2829,-2.1978,1 +-0.41965,2.9094,-1.7859,-2.2069,1 +0.37637,-0.82358,0.78543,0.74524,1 +-0.55355,-7.9233,6.7156,0.74394,1 +-1.6001,-9.5828,9.4044,0.081882,1 +-0.37013,-5.554,4.7749,1.547,1 +0.12126,0.22347,-0.47327,0.97024,1 +-0.27068,3.2674,-3.5562,-3.0888,1 +-5.119,6.6486,-0.049987,-6.5206,1 +-1.3946,2.3134,-0.44499,-1.4905,1 +-0.69879,-3.3771,4.1211,1.5043,1 +-1.48,-10.5244,9.9176,-0.5026,1 +-2.6649,-12.813,12.6689,-1.9082,1 +-0.62684,-6.301,4.7843,1.106,1 +0.518,0.25865,-0.84085,0.96118,1 +0.64376,3.764,-4.4738,-4.0483,1 +-2.9821,4.1986,-0.5898,-3.9642,1 +-1.4628,-1.5706,2.4357,0.49826,1 +-1.7101,-8.7903,7.9735,-0.45475,1 +-1.5572,-9.8808,8.1088,-1.0806,1 +0.74428,-3.7723,1.6131,1.5754,1 +2.0177,1.7982,-2.9581,0.2099,1 +1.164,3.913,-4.5544,-3.8672,1 +-4.3667,6.0692,0.57208,-5.4668,1 +-2.5919,-1.0553,3.8949,0.77757,1 +-1.8046,-6.8141,6.7019,1.1681,1 +-0.71868,-5.7154,3.8298,1.0233,1 +1.4378,0.66837,-2.0267,1.0271,1 +2.1943,4.5503,-4.976,-2.7254,1 +0.7376,4.8525,-4.7986,-5.6659,1 +-5.637,8.1261,0.13081,-5.0142,1 +-3.0193,1.7775,0.73745,-0.45346,1 +-1.6706,-2.09,1.584,0.71162,1 +-0.1269,-1.1505,-0.95138,0.57843,1 +1.2198,2.0982,-3.1954,0.12843,1 +1.4501,3.6067,-4.0557,-1.5966,1 +-0.40857,3.0977,-2.9607,-2.6892,1 +-3.8952,3.8157,-0.31304,-3.8194,1 +-6.3679,8.0102,0.4247,-3.2207,1 +-4.1429,2.7749,0.68261,-0.71984,1 +-2.6864,-0.097265,0.61663,0.061192,1 +-1.0555,0.79459,-1.6968,-0.46768,1 +-0.29858,2.4769,-2.9512,-0.66165,1 +-0.49948,1.7734,-2.2469,-0.68104,1 +-1.9881,0.99945,-0.28562,-0.70044,1 +-1.9389,1.5706,0.045979,-1.122,1 +-1.4375,-1.8624,4.026,0.55127,1 +-3.1875,-7.5756,11.8678,-0.57889,1 +-4.6765,-5.6636,10.969,-0.33449,1 +-2.0285,3.8468,-0.63435,-1.175,1 +0.26637,0.73252,-0.67891,0.03533,1 +-1.7589,-6.4624,8.4773,0.31981,1 +-3.5985,-13.6593,17.6052,-2.4927,1 +-3.3582,-7.2404,11.4419,-0.57113,1 +-2.3629,-0.10554,1.9336,1.1358,1 +-2.1802,3.3791,-1.2256,-2.6621,1 +-0.40951,-0.15521,0.060545,-0.088807,1 +-2.2918,-7.257,7.9597,0.9211,1 +-4.0214,-12.8006,15.6199,-0.95647,1 +-3.3884,-8.215,10.3315,0.98187,1 +-2.0046,-0.49457,1.333,1.6543,1 +-1.7063,2.7956,-2.378,-2.3491,1 +-1.6386,3.3584,-1.7302,-3.5646,1 +-0.41645,0.32487,-0.33617,-0.36036,1 +-1.5877,-6.6072,5.8022,0.31593,1 +-2.5961,-9.349,9.7942,-0.28018,1 +-1.5228,-6.4789,5.7568,0.87325,1 +-0.53072,-0.097265,-0.21793,1.0426,1 +-0.49081,2.8452,-3.6436,-3.1004,1 +-6.5773,6.8017,0.85483,-7.5344,1 +-2.4621,2.7645,-0.62578,-2.8573,1 +-1.3995,-1.9162,2.5154,0.59912,1 +-2.3221,-9.3304,9.233,-0.79871,1 +-3.73,-12.9723,12.9817,-2.684,1 +-1.6988,-7.1163,5.7902,0.16723,1 +-0.26654,-0.64562,-0.42014,0.89136,1 +0.33325,3.3108,-4.5081,-4.012,1 +-4.2091,4.7283,-0.49126,-5.2159,1 +-2.3142,-0.68494,1.9833,-0.44829,1 +-2.4835,-7.4494,6.8964,-0.64484,1 +-2.7611,-10.5099,9.0239,-1.9547,1 +-0.36025,-4.449,2.1067,0.94308,1 +1.0117,0.9022,-2.3506,0.42714,1 +0.96708,3.8426,-4.9314,-4.1323,1 +-5.2049,7.259,0.070827,-7.3004,1 +-3.3203,-0.02691,2.9618,-0.44958,1 +-2.565,-5.7899,6.0122,0.046968,1 +-1.5951,-6.572,4.7689,-0.94354,1 +0.7049,0.17174,-1.7859,0.36119,1 +1.7331,3.9544,-4.7412,-2.5017,1 +0.6818,4.8504,-5.2133,-6.1043,1 +-6.3364,9.2848,0.014275,-6.7844,1 +-3.8053,2.4273,0.6809,-1.0871,1 +-2.1979,-2.1252,1.7151,0.45171,1 +-0.87874,-2.2121,-0.051701,0.099985,1 +0.74067,1.7299,-3.1963,-0.1457,1 +0.98296,3.4226,-3.9692,-1.7116,1 +-0.3489,3.1929,-3.4054,-3.1832,1 +-3.8552,3.5219,-0.38415,-3.8608,1 +-6.9599,8.9931,0.2182,-4.572,1 +-4.7462,3.1205,1.075,-1.2966,1 +-3.2051,-0.14279,0.97565,0.045675,1 +-1.7549,-0.080711,-0.75774,-0.3707,1 +-0.59587,2.4811,-2.8673,-0.89828,1 +-0.89542,2.0279,-2.3652,-1.2746,1 +-2.0754,1.2767,-0.64206,-1.2642,1 +-3.2778,1.8023,0.1805,-2.3931,1 +-2.2183,-1.254,2.9986,0.36378,1 +-3.5895,-6.572,10.5251,-0.16381,1 +-5.0477,-5.8023,11.244,-0.3901,1 +-3.5741,3.944,-0.07912,-2.1203,1 +-0.7351,1.7361,-1.4938,-1.1582,1 +-2.2617,-4.7428,6.3489,0.11162,1 +-4.244,-13.0634,17.1116,-2.8017,1 +-4.0218,-8.304,12.555,-1.5099,1 +-3.0201,-0.67253,2.7056,0.85774,1 +-2.4941,3.5447,-1.3721,-2.8483,1 +-0.83121,0.039307,0.05369,-0.23105,1 +-2.5665,-6.8824,7.5416,0.70774,1 +-4.4018,-12.9371,15.6559,-1.6806,1 +-3.7573,-8.2916,10.3032,0.38059,1 +-2.4725,-0.40145,1.4855,1.1189,1 +-1.9725,2.8825,-2.3086,-2.3724,1 +-2.0149,3.6874,-1.9385,-3.8918,1 +-0.82053,0.65181,-0.48869,-0.52716,1 +-1.7886,-6.3486,5.6154,0.42584,1 +-2.9138,-9.4711,9.7668,-0.60216,1 +-1.8343,-6.5907,5.6429,0.54998,1 +-0.8734,-0.033118,-0.20165,0.55774,1 +-0.70346,2.957,-3.5947,-3.1457,1 +-6.7387,6.9879,0.67833,-7.5887,1 +-2.7723,3.2777,-0.9351,-3.1457,1 +-1.6641,-1.3678,1.997,0.52283,1 +-2.4349,-9.2497,8.9922,-0.50001,1 +-3.793,-12.7095,12.7957,-2.825,1 +-1.9551,-6.9756,5.5383,-0.12889,1 +-0.69078,-0.50077,-0.35417,0.47498,1 +0.025013,3.3998,-4.4327,-4.2655,1 +-4.3967,4.9601,-0.64892,-5.4719,1 +-2.456,-0.24418,1.4041,-0.45863,1 +-2.62,-6.8555,6.2169,-0.62285,1 +-2.9662,-10.3257,8.784,-2.1138,1 +-0.71494,-4.4448,2.2241,0.49826,1 +0.6005,0.99945,-2.2126,0.097399,1 +0.61652,3.8944,-4.7275,-4.3948,1 +-5.4414,7.2363,0.10938,-7.5642,1 +-3.5798,0.45937,2.3457,-0.45734,1 +-2.7769,-5.6967,5.9179,0.37671,1 +-1.8356,-6.7562,5.0585,-0.55044,1 +0.30081,0.17381,-1.7542,0.48921,1 +1.3403,4.1323,-4.7018,-2.5987,1 +0.26877,4.987,-5.1508,-6.3913,1 +-6.5235,9.6014,-0.25392,-6.9642,1 +-4.0679,2.4955,0.79571,-1.1039,1 +-2.564,-1.7051,1.5026,0.32757,1 +-1.3414,-1.9162,-0.15538,-0.11984,1 +0.23874,2.0879,-3.3522,-0.66553,1 +0.6212,3.6771,-4.0771,-2.0711,1 +-0.77848,3.4019,-3.4859,-3.5569,1 +-4.1244,3.7909,-0.6532,-4.1802,1 +-7.0421,9.2,0.25933,-4.6832,1 +-4.9462,3.5716,0.82742,-1.4957,1 +-3.5359,0.30417,0.6569,-0.2957,1 +-2.0662,0.16967,-1.0054,-0.82975,1 +-0.88728,2.808,-3.1432,-1.2035,1 +-1.0941,2.3072,-2.5237,-1.4453,1 +-2.4458,1.6285,-0.88541,-1.4802,1 +-3.551,1.8955,0.1865,-2.4409,1 +-2.2811,-0.85669,2.7185,0.044382,1 +-3.6053,-5.974,10.0916,-0.82846,1 +-5.0676,-5.1877,10.4266,-0.86725,1 +-3.9204,4.0723,-0.23678,-2.1151,1 +-1.1306,1.8458,-1.3575,-1.3806,1 +-2.4561,-4.5566,6.4534,-0.056479,1 +-4.4775,-13.0303,17.0834,-3.0345,1 +-4.1958,-8.1819,12.1291,-1.6017,1 +-3.38,-0.7077,2.5325,0.71808,1 +-2.4365,3.6026,-1.4166,-2.8948,1 +-0.77688,0.13036,-0.031137,-0.35389,1 +-2.7083,-6.8266,7.5339,0.59007,1 +-4.5531,-12.5854,15.4417,-1.4983,1 +-3.8894,-7.8322,9.8208,0.47498,1 +-2.5084,-0.22763,1.488,1.2069,1 +-2.1652,3.0211,-2.4132,-2.4241,1 +-1.8974,3.5074,-1.7842,-3.8491,1 +-0.62043,0.5587,-0.38587,-0.66423,1 +-1.8387,-6.301,5.6506,0.19567,1 +-3,-9.1566,9.5766,-0.73018,1 +-1.9116,-6.1603,5.606,0.48533,1 +-1.005,0.084831,-0.2462,0.45688,1 +-0.87834,3.257,-3.6778,-3.2944,1 +-6.651,6.7934,0.68604,-7.5887,1 +-2.5463,3.1101,-0.83228,-3.0358,1 +-1.4377,-1.432,2.1144,0.42067,1 +-2.4554,-9.0407,8.862,-0.86983,1 +-3.9411,-12.8792,13.0597,-3.3125,1 +-2.1241,-6.8969,5.5992,-0.47156,1 +-0.74324,-0.32902,-0.42785,0.23317,1 +-0.071503,3.7412,-4.5415,-4.2526,1 +-4.2333,4.9166,-0.49212,-5.3207,1 +-2.3675,-0.43663,1.692,-0.43018,1 +-2.5526,-7.3625,6.9255,-0.66811,1 +-3.0986,-10.4602,8.9717,-2.3427,1 +-0.89809,-4.4862,2.2009,0.50731,1 +0.56232,1.0015,-2.2726,-0.0060486,1 +0.53936,3.8944,-4.8166,-4.3418,1 +-5.3012,7.3915,0.029699,-7.3987,1 +-3.3553,0.35591,2.6473,-0.37846,1 +-2.7908,-5.7133,5.953,0.45946,1 +-1.9983,-6.6072,4.8254,-0.41984,1 +0.15423,0.11794,-1.6823,0.59524,1 +1.208,4.0744,-4.7635,-2.6129,1 +0.2952,4.8856,-5.149,-6.2323,1 +-6.4247,9.5311,0.022844,-6.8517,1 +-3.9933,2.6218,0.62863,-1.1595,1 +-2.659,-1.6058,1.3647,0.16464,1 +-1.4094,-2.1252,-0.10397,-0.19225,1 +0.11032,1.9741,-3.3668,-0.65259,1 +0.52374,3.644,-4.0746,-1.9909,1 +-0.76794,3.4598,-3.4405,-3.4276,1 +-3.9698,3.6812,-0.60008,-4.0133,1 +-7.0364,9.2931,0.16594,-4.5396,1 +-4.9447,3.3005,1.063,-1.444,1 +-3.5933,0.22968,0.7126,-0.3332,1 +-2.1674,0.12415,-1.0465,-0.86208,1 +-0.9607,2.6963,-3.1226,-1.3121,1 +-1.0802,2.1996,-2.5862,-1.2759,1 +-2.3277,1.4381,-0.82114,-1.2862,1 +-3.7244,1.9037,-0.035421,-2.5095,1 +-2.5724,-0.95602,2.7073,-0.16639,1 +-3.9297,-6.0816,10.0958,-1.0147,1 +-5.2943,-5.1463,10.3332,-1.1181,1 +-3.8953,4.0392,-0.3019,-2.1836,1 +-1.2244,1.7485,-1.4801,-1.4181,1 +-2.6406,-4.4159,5.983,-0.13924,1 +-4.6338,-12.7509,16.7166,-3.2168,1 +-4.2887,-7.8633,11.8387,-1.8978,1 +-3.3458,-0.50491,2.6328,0.53705,1 +-1.1188,3.3357,-1.3455,-1.9573,1 +0.55939,-0.3104,0.18307,0.44653,1 +-1.5078,-7.3191,7.8981,1.2289,1 +-3.506,-12.5667,15.1606,-0.75216,1 +-2.9498,-8.273,10.2646,1.1629,1 +-1.6029,-0.38903,1.62,1.9103,1 +-1.2667,2.8183,-2.426,-1.8862,1 +-0.49281,3.0605,-1.8356,-2.834,1 +0.66365,-0.045533,-0.18794,0.23447,1 +-0.72068,-6.7583,5.8408,0.62369,1 +-1.9966,-9.5001,9.682,-0.12889,1 +-0.97325,-6.4168,5.6026,1.0323,1 +-0.025314,-0.17383,-0.11339,1.2198,1 +0.062525,2.9301,-3.5467,-2.6737,1 +-5.525,6.3258,0.89768,-6.6241,1 +-1.2943,2.6735,-0.84085,-2.0323,1 +-0.24037,-1.7837,2.135,1.2418,1 +-1.3968,-9.6698,9.4652,-0.34872,1 +-2.9672,-13.2869,13.4727,-2.6271,1 +-1.1005,-7.2508,6.0139,0.36895,1 +0.22432,-0.52147,-0.40386,1.2017,1 +0.90407,3.3708,-4.4987,-3.6965,1 +-2.8619,4.5193,-0.58123,-4.2629,1 +-1.0833,-0.31247,1.2815,0.41291,1 +-1.5681,-7.2446,6.5537,-0.1276,1 +-2.0545,-10.8679,9.4926,-1.4116,1 +0.2346,-4.5152,2.1195,1.4448,1 +1.581,0.86909,-2.3138,0.82412,1 +1.5514,3.8013,-4.9143,-3.7483,1 +-4.1479,7.1225,-0.083404,-6.4172,1 +-2.2625,-0.099335,2.8127,0.48662,1 +-1.7479,-5.823,5.8699,1.212,1 +-0.95923,-6.7128,4.9857,0.32886,1 +1.3451,0.23589,-1.8785,1.3258,1 +2.2279,4.0951,-4.8037,-2.1112,1 +1.2572,4.8731,-5.2861,-5.8741,1 +-5.3857,9.1214,-0.41929,-5.9181,1 +-2.9786,2.3445,0.52667,-0.40173,1 +-1.5851,-2.1562,1.7082,0.9017,1 +-0.21888,-2.2038,-0.0954,0.56421,1 +1.3183,1.9017,-3.3111,0.065071,1 +1.4896,3.4288,-4.0309,-1.4259,1 +0.11592,3.2219,-3.4302,-2.8457,1 +-3.3924,3.3564,-0.72004,-3.5233,1 +-6.1632,8.7096,-0.21621,-3.6345,1 +-4.0786,2.9239,0.87026,-0.65389,1 +-2.5899,-0.3911,0.93452,0.42972,1 +-1.0116,-0.19038,-0.90597,0.003003,1 +0.066129,2.4914,-2.9401,-0.62156,1 +-0.24745,1.9368,-2.4697,-0.80518,1 +-1.5732,1.0636,-0.71232,-0.8388,1 +-2.1668,1.5933,0.045122,-1.678,1 +-1.1667,-1.4237,2.9241,0.66119,1 +-2.8391,-6.63,10.4849,-0.42113,1 +-4.5046,-5.8126,10.8867,-0.52846,1 +-2.41,3.7433,-0.40215,-1.2953,1 +0.40614,1.3492,-1.4501,-0.55949,1 +-1.3887,-4.8773,6.4774,0.34179,1 +-3.7503,-13.4586,17.5932,-2.7771,1 +-3.5637,-8.3827,12.393,-1.2823,1 +-2.5419,-0.65804,2.6842,1.1952,1 \ No newline at end of file diff --git a/doc/pub/week45/html/DataFiles/cancer.dot b/doc/pub/week45/html/DataFiles/cancer.dot new file mode 100644 index 000000000..5b4b48a9b --- /dev/null +++ b/doc/pub/week45/html/DataFiles/cancer.dot @@ -0,0 +1,57 @@ +digraph Tree { +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="#e5813908"] ; +1 [label="worst concave points <= 0.159\ngini = 0.067\nsamples = 259\nvalue = [[250, 9]\n[9, 250]]", fillcolor="#e58139db"] ; +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="#e58139ee"] ; +1 -> 2 ; +3 [label="radius error <= 0.643\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e58139fb"] ; +2 -> 3 ; +4 [label="gini = 0.0\nsamples = 239\nvalue = [[239, 0]\n[0, 239]]", fillcolor="#e58139ff"] ; +3 -> 4 ; +5 [label="worst symmetry <= 0.208\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#e5813913"] ; +3 -> 5 ; +6 [label="gini = 0.0\nsamples = 1\nvalue = [[0, 1]\n[1, 0]]", fillcolor="#e58139ff"] ; +5 -> 6 ; +7 [label="gini = 0.0\nsamples = 2\nvalue = [[2, 0]\n[0, 2]]", fillcolor="#e58139ff"] ; +5 -> 7 ; +8 [label="worst texture <= 29.455\ngini = 0.397\nsamples = 11\nvalue = [[8, 3]\n[3, 8]]", fillcolor="#e581392c"] ; +2 -> 8 ; +9 [label="gini = 0.0\nsamples = 8\nvalue = [[8, 0]\n[0, 8]]", fillcolor="#e58139ff"] ; +8 -> 9 ; +10 [label="gini = 0.0\nsamples = 3\nvalue = [[0, 3]\n[3, 0]]", fillcolor="#e58139ff"] ; +8 -> 10 ; +11 [label="mean texture <= 16.22\ngini = 0.278\nsamples = 6\nvalue = [[1, 5]\n[5, 1]]", fillcolor="#e581396b"] ; +1 -> 11 ; +12 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +11 -> 12 ; +13 [label="gini = 0.0\nsamples = 5\nvalue = [[0, 5]\n[5, 0]]", fillcolor="#e58139ff"] ; +11 -> 13 ; +14 [label="worst texture <= 20.645\ngini = 0.202\nsamples = 167\nvalue = [[19, 148]\n[148, 19]]", fillcolor="#e5813994"] ; +0 -> 14 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; +15 [label="worst radius <= 17.74\ngini = 0.375\nsamples = 16\nvalue = [[12, 4]\n[4, 12]]", fillcolor="#e5813938"] ; +14 -> 15 ; +16 [label="gini = 0.0\nsamples = 11\nvalue = [[11, 0]\n[0, 11]]", fillcolor="#e58139ff"] ; +15 -> 16 ; +17 [label="mean texture <= 13.745\ngini = 0.32\nsamples = 5\nvalue = [[1, 4]\n[4, 1]]", fillcolor="#e5813955"] ; +15 -> 17 ; +18 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +17 -> 18 ; +19 [label="gini = 0.0\nsamples = 4\nvalue = [[0, 4]\n[4, 0]]", fillcolor="#e58139ff"] ; +17 -> 19 ; +20 [label="mean concave points <= 0.049\ngini = 0.088\nsamples = 151\nvalue = [[7, 144]\n[144, 7]]", fillcolor="#e58139d0"] ; +14 -> 20 ; +21 [label="concave points error <= 0.01\ngini = 0.48\nsamples = 15\nvalue = [[6, 9]\n[9, 6]]", fillcolor="#e5813900"] ; +20 -> 21 ; +22 [label="gini = 0.0\nsamples = 9\nvalue = [[0, 9]\n[9, 0]]", fillcolor="#e58139ff"] ; +21 -> 22 ; +23 [label="gini = 0.0\nsamples = 6\nvalue = [[6, 0]\n[0, 6]]", fillcolor="#e58139ff"] ; +21 -> 23 ; +24 [label="worst smoothness <= 0.096\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e58139f7"] ; +20 -> 24 ; +25 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +24 -> 25 ; +26 [label="gini = 0.0\nsamples = 135\nvalue = [[0, 135]\n[135, 0]]", fillcolor="#e58139ff"] ; +24 -> 26 ; +} \ No newline at end of file diff --git a/doc/pub/week45/html/DataFiles/cancer.png b/doc/pub/week45/html/DataFiles/cancer.png new file mode 100644 index 0000000000000000000000000000000000000000..2ceb5e1f87d923a1cbee266c6cdd1b116e2ed85a GIT binary patch literal 221561 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
$SlJpzY(BB_TeUdD` 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 literal 0 HcmV?d00001 diff --git a/doc/pub/week45/html/DataFiles/ensembleoverview.png b/doc/pub/week45/html/DataFiles/ensembleoverview.png new file mode 100644 index 0000000000000000000000000000000000000000..dce581ee65b3cb552589a0ad6361ae775a6183ed GIT binary patch literal 81932 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 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; +2 [label="gini = 0.48\nsamples = 10\nvalue = [4, 6, 0]", fillcolor="#39e58155"] ; +1 -> 2 ; +3 [label="gini = 0.0\nsamples = 4\nvalue = [0, 4, 0]", fillcolor="#39e581ff"] ; +1 -> 3 ; +4 [label="gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]", fillcolor="#8139e5ff"] ; +0 -> 4 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; +} \ No newline at end of file diff --git a/doc/pub/week45/html/DataFiles/rideclass.csv b/doc/pub/week45/html/DataFiles/rideclass.csv new file mode 100644 index 000000000..a0831ac7e --- /dev/null +++ b/doc/pub/week45/html/DataFiles/rideclass.csv @@ -0,0 +1,15 @@ +Day,Outlook,Temperature,Humidity,Wind,Ride +1,Sunny,Hot,High,Weak,0 +2,Sunny,Hot,High,Strong,1 +3,Overcast,Hot,High,Weak,1 +4,Rain,Mild,High,Weak,1 +5,Rain,Cool,Normal,Weak,1 +6,Rain,Cool,Normal,Strong,0 +7,Overcast,Cool,Normal,Strong,1 +8,Sunny,Mild,High,Weak,0 +9,Sunny,Cool,Normal,Weak,1 +10,Rain,Mild,Normal,Weak,1 +11,Sunny,Mild,Normal,Strong,1 +12,Overcast,Mild,High,Strong,1 +13,Overcast,Hot,Normal,Weak,1 +14,Rain,Mild,High,Strong,0 diff --git a/doc/pub/week45/html/DataFiles/zoo.csv b/doc/pub/week45/html/DataFiles/zoo.csv new file mode 100644 index 000000000..ca71f7d21 --- /dev/null +++ b/doc/pub/week45/html/DataFiles/zoo.csv @@ -0,0 +1,101 @@ +aardvark,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1 +antelope,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +bass,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +bear,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1 +boar,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +buffalo,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +calf,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +carp,0,0,1,0,0,1,0,1,1,0,0,1,0,1,1,0,4 +catfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +cavy,1,0,0,1,0,0,0,1,1,1,0,0,4,0,1,0,1 +cheetah,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +chicken,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 +chub,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +clam,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,7 +crab,0,0,1,0,0,1,1,0,0,0,0,0,4,0,0,0,7 +crayfish,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,7 +crow,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,2 +deer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +dogfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 +dolphin,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1 +dove,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 +duck,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,0,2 +elephant,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +flamingo,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,1,2 +flea,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,6 +frog,0,0,1,0,0,1,1,1,1,1,0,0,4,0,0,0,5 +frog,0,0,1,0,0,1,1,1,1,1,1,0,4,0,0,0,5 +fruitbat,1,0,0,1,1,0,0,1,1,1,0,0,2,1,0,0,1 +giraffe,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +girl,1,0,0,1,0,0,1,1,1,1,0,0,2,0,1,1,1 +gnat,0,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 +goat,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +gorilla,1,0,0,1,0,0,0,1,1,1,0,0,2,0,0,1,1 +gull,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 +haddock,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 +hamster,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,0,1 +hare,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,0,1 +hawk,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,2 +herring,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +honeybee,1,0,1,0,1,0,0,0,0,1,1,0,6,0,1,0,6 +housefly,1,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 +kiwi,0,1,1,0,0,0,1,0,1,1,0,0,2,1,0,0,2 +ladybird,0,0,1,0,1,0,1,0,0,1,0,0,6,0,0,0,6 +lark,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 +leopard,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +lion,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +lobster,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,7 +lynx,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +mink,1,0,0,1,0,1,1,1,1,1,0,0,4,1,0,1,1 +mole,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,0,1 +mongoose,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +moth,1,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 +newt,0,0,1,0,0,1,1,1,1,1,0,0,4,1,0,0,5 +octopus,0,0,1,0,0,1,1,0,0,0,0,0,8,0,0,1,7 +opossum,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,0,1 +oryx,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +ostrich,0,1,1,0,0,0,0,0,1,1,0,0,2,1,0,1,2 +parakeet,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 +penguin,0,1,1,0,0,1,1,0,1,1,0,0,2,1,0,1,2 +pheasant,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 +pike,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 +piranha,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +pitviper,0,0,1,0,0,0,1,1,1,1,1,0,0,1,0,0,3 +platypus,1,0,1,1,0,1,1,0,1,1,0,0,4,1,0,1,1 +polecat,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +pony,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +porpoise,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1 +puma,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +pussycat,1,0,0,1,0,0,1,1,1,1,0,0,4,1,1,1,1 +raccoon,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +reindeer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +rhea,0,1,1,0,0,0,1,0,1,1,0,0,2,1,0,1,2 +scorpion,0,0,0,0,0,0,1,0,0,1,1,0,8,1,0,0,7 +seahorse,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 +seal,1,0,0,1,0,1,1,1,1,1,0,1,0,0,0,1,1 +sealion,1,0,0,1,0,1,1,1,1,1,0,1,2,1,0,1,1 +seasnake,0,0,0,0,0,1,1,1,1,0,1,0,0,1,0,0,3 +seawasp,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,7 +skimmer,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 +skua,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 +slowworm,0,0,1,0,0,0,1,1,1,1,0,0,0,1,0,0,3 +slug,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,7 +sole,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 +sparrow,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 +squirrel,1,0,0,1,0,0,0,1,1,1,0,0,2,1,0,0,1 +starfish,0,0,1,0,0,1,1,0,0,0,0,0,5,0,0,0,7 +stingray,0,0,1,0,0,1,1,1,1,0,1,1,0,1,0,1,4 +swan,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,1,2 +termite,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,6 +toad,0,0,1,0,0,1,0,1,1,1,0,0,4,0,0,0,5 +tortoise,0,0,1,0,0,0,0,0,1,1,0,0,4,1,0,1,3 +tuatara,0,0,1,0,0,0,1,1,1,1,0,0,4,1,0,0,3 +tuna,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 +vampire,1,0,0,1,1,0,0,1,1,1,0,0,2,1,0,0,1 +vole,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,0,1 +vulture,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,1,2 +wallaby,1,0,0,1,0,0,0,1,1,1,0,0,2,1,0,1,1 +wasp,1,0,1,0,1,0,0,0,0,1,1,0,6,0,0,0,6 +wolf,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +worm,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,7 +wren,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 diff --git a/doc/pub/week45/html/week45-bs.html b/doc/pub/week45/html/week45-bs.html index e7b68b882..9b208d6d2 100644 --- a/doc/pub/week45/html/week45-bs.html +++ b/doc/pub/week45/html/week45-bs.html @@ -1,31 +1,28 @@ - + - - -Week 45: Random Forests and Boosting - + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - - - @@ -125,8 +274,6 @@ MathJax.Hub.Config({ - -

-
-

 

 

 

- - - -
-

Week 45: Random Forests and Boosting

+
+

Week 45: Decisions Trees, Random Forests, Bagging and Boosting

+
-

-

Morten Hjorth-Jensen [1, 2]
- -

+

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

Nov 9, 2021

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

-

Nov 12, 2020

-
-

Read »

@@ -232,29 +417,22 @@ MathJax.Hub.Config({
  • 9
  • 10
  • ...
  • -
  • 32
  • +
  • 75
  • »
  • -
    - - -
    - © 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license + © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week45/html/week45-reveal.html b/doc/pub/week45/html/week45-reveal.html index 84f0ff983..ef385e828 100644 --- a/doc/pub/week45/html/week45-reveal.html +++ b/doc/pub/week45/html/week45-reveal.html @@ -1,19 +1,18 @@ + - + + - + - + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting -Week 45: Random Forests and Boosting - - - - - - - - + @@ -55,36 +54,81 @@ document.getElementsByTagName( 'head' )[0].appendChild( link ); - - - @@ -119,117 +301,1975 @@ MathJax.Hub.Config({ - - +
    +

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    +
    - - -

    Week 45: Random Forests and Boosting

    - -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

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

    Nov 9, 2021

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

    -

    Nov 12, 2020

    -
    -











    - -

    Overview of week 45

    +

    Overview of week 45

      -
    • Thursday: Wrapping up from last week. Bagging and Random forests. Boosting methods. Link to video of lecture
    • -
    • Friday: Boosting and gradient boosting. Link to video of lecture
    • +
    • Thursday: Basics of Decision Trees, Bagging and Voting
    • +
    • Friday: More on Bagging, Voting, Random Forests and start Boosting
    - -Geron's chapter 7. See also lecture from STK-IN4300, lecture 9. Chapter 10 (sections 10.1-10.10 are the most relevant ones) of Hastie et al contains also a good discussion. - + + +
    +Reading

    +

      +
    1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from STK-IN4300, lecture 7. Chapter 9.2 of Hastie et al contains also a good discussion.
    2. +
    +
    + +









    +

    Decision trees, overarching aims

    -

    Thursday

    +

    We start here with the most basic algorithm, the so-called decision +tree. With this basic algorithm we can in turn build more complex +networks, spanning from homogeneous and heterogenous forests (bagging, +random forests and more) to one of the most popular supervised +algorithms nowadays, the extreme gradient boosting, or just +XGBoost. But let us start with the simplest possible ingredient. +

    -

    -Bagging, voting and random forests. -The material on bagging and voting is a repeat from last week and can be found in the slides from week 44. -We repeat here the voting approach since this will serve as a motivation for boosting methods later. +

    Decision trees are supervised learning algorithms used for both, +classification and regression tasks. +

    + +

    The main idea of decision trees +is to find those descriptive features which contain the most +information regarding the target feature and then split the dataset +along the values of these features such that the target feature values +for the resulting underlying datasets are as pure as possible. +

    + +

    The descriptive features which reproduce best the target/output features are normally said +to be the most informative ones. The process of finding the most +informative feature is done until we accomplish a stopping criteria +where we then finally end up in so called leaf nodes. +

    -











    +

    Basics of a tree

    -

    Why Voting?

    +

    A decision tree is typically divided into a root node, the interior nodes, +and the final leaf nodes or just leaves. These entities are then connected by so-called branches. +

    +

    The leaf nodes +contain the predictions we will make for new query instances presented +to our trained model. This is possible since the model has +learned the underlying structure of the training data and hence can, +given some assumptions, make predictions about the target feature value +(class) of unseen query instances. +

    + +









    +

    A Sketch of a Tree, Regression problem

    + + + +









    +

    A Sketch of a Tree, Classification problem

    + + + +









    +

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    + +

    +
    +

    +
    +

    + +

    This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches.

    + +









    +

    General Features

    + +

    The overarching approach to decision trees is a top-down approach.

    + +
      +
    • A leaf provides the classification of a given instance.
    • +
    • A node specifies a test of some attribute of the instance.
    • +
    • A branch corresponds to a possible values of an attribute.
    • +
    • An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.
    • +
    +

    This process is then repeated for the subtree rooted at the new +node. +

    + +









    +

    How do we set it up?

    + +

    In simplified terms, the process of training a decision tree and +predicting the target features of query instances is as follows: +

    + +
      +
    1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature
    2. +
    3. Train the decision tree model by continuously splitting the target feature along the values of the descriptive features using a measure of information gain during the training process
    4. +
    5. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the predictions we want to make for new query instances
    6. +
    7. Show query instances to the tree and run down the tree until we arrive at leaf nodes
    8. +
    +

    Then we are essentially done!

    + +









    +

    Decision trees and Regression

    + + +
    +
    +
    +
    +
    +
    import numpy as np
    +import matplotlib.pyplot as plt
    +from sklearn.preprocessing import PolynomialFeatures
    +from sklearn.linear_model import LinearRegression
    +
    +steps=250
    +
    +distance=0
    +x=0
    +distance_list=[]
    +steps_list=[]
    +while x<steps:
    +    distance+=np.random.randint(-1,2)
    +    distance_list.append(distance)
    +    x+=1
    +    steps_list.append(x)
    +plt.plot(steps_list,distance_list, color='green', label="Random Walk Data")
    +
    +steps_list=np.asarray(steps_list)
    +distance_list=np.asarray(distance_list)
    +
    +X=steps_list[:,np.newaxis]
    +
    +#Polynomial fits
    +
    +#Degree 2
    +poly_features=PolynomialFeatures(degree=2, include_bias=False)
    +X_poly=poly_features.fit_transform(X)
    +
    +lin_reg=LinearRegression()
    +poly_fit=lin_reg.fit(X_poly,distance_list)
    +b=lin_reg.coef_
    +c=lin_reg.intercept_
    +print ("2nd degree coefficients:")
    +print ("zero power: ",c)
    +print ("first power: ", b[0])
    +print ("second power: ",b[1])
    +
    +z = np.arange(0, steps, .01)
    +z_mod=b[1]*z**2+b[0]*z+c
    +
    +fit_mod=b[1]*X**2+b[0]*X+c
    +plt.plot(z, z_mod, color='r', label="2nd Degree Fit")
    +plt.title("Polynomial Regression")
    +
    +plt.xlabel("Steps")
    +plt.ylabel("Distance")
    +
    +#Degree 10
    +poly_features10=PolynomialFeatures(degree=10, include_bias=False)
    +X_poly10=poly_features10.fit_transform(X)
    +
    +poly_fit10=lin_reg.fit(X_poly10,distance_list)
    +
    +y_plot=poly_fit10.predict(X_poly10)
    +plt.plot(X, y_plot, color='black', label="10th Degree Fit")
    +
    +plt.legend()
    +plt.show()
    +
    +
    +#Decision Tree Regression
    +from sklearn.tree import DecisionTreeRegressor
    +regr_1=DecisionTreeRegressor(max_depth=2)
    +regr_2=DecisionTreeRegressor(max_depth=5)
    +regr_3=DecisionTreeRegressor(max_depth=7)
    +regr_1.fit(X, distance_list)
    +regr_2.fit(X, distance_list)
    +regr_3.fit(X, distance_list)
    +
    +X_test = np.arange(0.0, steps, 0.01)[:, np.newaxis]
    +y_1 = regr_1.predict(X_test)
    +y_2 = regr_2.predict(X_test)
    +y_3=regr_3.predict(X_test)
    +
    +# Plot the results
    +plt.figure()
    +plt.scatter(X, distance_list, s=2.5, c="black", label="data")
    +plt.plot(X_test, y_1, color="red",
    +         label="max_depth=2", linewidth=2)
    +plt.plot(X_test, y_2, color="green", label="max_depth=5", linewidth=2)
    +plt.plot(X_test, y_3, color="m", label="max_depth=7", linewidth=2)
    +
    +plt.xlabel("Data")
    +plt.ylabel("Darget")
    +plt.title("Decision Tree Regression")
    +plt.legend()
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Building a tree, regression

    + +

    There are mainly two steps

    +
      +
    1. We split the predictor space (the set of possible values \( x_1,x_2,\dots, x_p \)) into \( J \) distinct and non-non-overlapping regions, \( R_1,R_2,\dots,R_J \).
    2. +
    3. For every observation that falls into the region \( R_j \) , we make the same prediction, which is simply the mean of the response values for the training observations in \( R_j \).
    4. +
    +

    How do we construct the regions \( R_1,\dots,R_J \)? In theory, the +regions could have any shape. However, we choose to divide the +predictor space into high-dimensional rectangles, or boxes, for +simplicity and for ease of interpretation of the resulting predictive +model. The goal is to find boxes \( R_1,\dots,R_J \) that minimize the +MSE, given by +

    + +$$ +\sum_{j=1}^J\sum_{i\in R_j}(y_i-\overline{y}_{R_j})^2, +$$ + +

    where \( \overline{y}_{R_j} \) is the mean response for the training observations +within box \( j \). +

    + +









    +

    A top-down approach, recursive binary splitting

    + +

    Unfortunately, it is computationally infeasible to consider every +possible partition of the feature space into \( J \) boxes. The common +strategy is to take a top-down approach +

    + +

    The approach is top-down because it begins at the top of the tree (all +observations belong to a single region) and then successively splits +the predictor space; each split is indicated via two new branches +further down on the tree. It is greedy because at each step of the +tree-building process, the best split is made at that particular step, +rather than looking ahead and picking a split that will lead to a +better tree in some future step. +

    + +









    +

    Making a tree

    + +

    In order to implement the recursive binary splitting we start by selecting +the predictor \( x_j \) and a cutpoint \( s \) that splits the predictor space into two regions \( R_1 \) and \( R_2 \) +

    +$$ +\left\{X\vert x_j < s\right\}, +$$ + +

    and

    +$$ +\left\{X\vert x_j \geq s\right\}, +$$ + +

    so that we obtain the lowest MSE, that is

    +$$ +\sum_{i:x_i\in R_j}(y_i-\overline{y}_{R_1})^2+\sum_{i:x_i\in R_2}(y_i-\overline{y}_{R_2})^2, +$$ + +

    which we want to minimize by considering all predictors +\( x_1,x_2,\dots,x_p \). We consider also all possible values of \( s \) for +each predictor. These values could be determined by randomly assigned +numbers or by starting at the midpoint and then proceed till we find +an optimal value. +

    + +

    For any \( j \) and \( s \), we define the pair of half-planes where +\( \overline{y}_{R_1} \) is the mean response for the training +observations in \( R_1(j,s) \), and \( \overline{y}_{R_2} \) is the mean +response for the training observations in \( R_2(j,s) \). +

    + +

    Finding the values of \( j \) and \( s \) that minimize the above equation can be +done quite quickly, especially when the number of features \( p \) is not +too large. +

    + +

    Next, we repeat the process, looking +for the best predictor and best cutpoint in order to split the data +further so as to minimize the MSE within each of the resulting +regions. However, this time, instead of splitting the entire predictor +space, we split one of the two previously identified regions. We now +have three regions. Again, we look to split one of these three regions +further, so as to minimize the MSE. The process continues until a +stopping criterion is reached; for instance, we may continue until no +region contains more than five observations. +

    + + +

    Pruning the tree

    + +

    The above procedure is rather straightforward, but leads often to +overfitting and unnecessarily large and complicated trees. The basic +idea is to grow a large tree \( T_0 \) and then prune it back in order to +obtain a subtree. A smaller tree with fewer splits (fewer regions) can +lead to smaller variance and better interpretation at the cost of a +little more bias. +

    + +

    The so-called Cost complexity pruning algorithm gives us a +way to do just this. Rather than considering every possible subtree, +we consider a sequence of trees indexed by a nonnegative tuning +parameter \( \alpha \). +

    + +

    Read more at the following Scikit-Learn link on pruning.

    + +









    +

    Cost complexity pruning

    + +

    For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that

    +$$ +\sum_{m=1}^{\overline{T}}\sum_{i:x_i\in R_m}(y_i-\overline{y}_{R_m})^2+\alpha\overline{T}, +$$ + +

    is as small as possible. Here \( \overline{T} \) is +the number of terminal nodes of the tree \( T \) , \( R_m \) is the +rectangle (i.e. the subset of predictor space) corresponding to the \( m \)-th terminal node. +

    + +

    The tuning parameter \( \alpha \) controls a trade-off between the subtree’s +complexity and its fit to the training data. When \( \alpha = 0 \), then the +subtree \( T \) will simply equal \( T_0 \), +because then the above equation just measures the +training error. +However, as \( \alpha \) increases, there is a price to pay for +having a tree with many terminal nodes. The above equation will +tend to be minimized for a smaller subtree. +

    + +

    It turns out that as we increase \( \alpha \) from zero +branches get pruned from the tree in a nested and predictable fashion, +so obtaining the whole sequence of subtrees as a function of \( \alpha \) is +easy. We can select a value of \( \alpha \) using a validation set or using +cross-validation. We then return to the full data set and obtain the +subtree corresponding to \( \alpha \). +

    + +









    +

    Schematic Regression Procedure

    + +
    +Building a Regression Tree

    -The idea behind boosting, and voting as well can be phrased as follows: + +

      +
    1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.
    2. +
    3. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of \( \alpha \).
    4. +
    5. Use for example \( K \)-fold cross-validation to choose \( \alpha \). Divide the training observations into \( K \) folds. For each \( k=1,2,\dots,K \) we:
    6. +
        +
      • repeat steps 1 and 2 on all but the \( k \)-th fold of the training data.
      • +
      • Then we valuate the mean squared prediction error on the data in the left-out \( k \)-th fold, as a function of \( \alpha \).
      • +
      • Finally we average the results for each value of \( \alpha \), and pick \( \alpha \) to minimize the average error.
      • +
      +
    7. Return the subtree from Step 2 that corresponds to the chosen value of \( \alpha \).
    8. +
    +
    + + +









    +

    A Classification Tree

    + +

    A classification tree is very similar to a regression tree, except +that it is used to predict a qualitative response rather than a +quantitative one. Recall that for a regression tree, the predicted +response for an observation is given by the mean response of the +training observations that belong to the same terminal node. In +contrast, for a classification tree, we predict that each observation +belongs to the most commonly occurring class of training observations +in the region to which it belongs. In interpreting the results of a +classification tree, we are often interested not only in the class +prediction corresponding to a particular terminal node region, but +also in the class proportions among the training observations that +fall into that region. +

    + +









    +

    Growing a classification tree

    + +

    The task of growing a +classification tree is quite similar to the task of growing a +regression tree. Just as in the regression setting, we use recursive +binary splitting to grow a classification tree. However, in the +classification setting, the MSE cannot be used as a criterion for making +the binary splits. A natural alternative to MSE is the classification +error rate. Since we plan to assign an observation in a given region +to the most commonly occurring error rate class of training +observations in that region, the classification error rate is simply +the fraction of the training observations in that region that do not +belong to the most common class. +

    + +

    When building a classification tree, either the Gini index or the +entropy are typically used to evaluate the quality of a particular +split, since these two approaches are more sensitive to node purity +than is the classification error rate. +

    + +









    +

    Classification tree, how to split nodes

    + +

    If our targets are the outcome of a classification process that takes +for example \( k=1,2,\dots,K \) values, the only thing we need to think of +is to set up the splitting criteria for each node. +

    + +

    We define a PDF \( p_{mk} \) that represents the number of observations of +a class \( k \) in a region \( R_m \) with \( N_m \) observations. We represent +this likelihood function in terms of the proportion \( I(y_i=k) \) of +observations of this class in the region \( R_m \) as +

    + +$$ +p_{mk} = \frac{1}{N_m}\sum_{x_i\in R_m}I(y_i=k). +$$ + +

    We let \( p_{mk} \) represent the majority class of observations in region +\( m \). The three most common ways of splitting a node are given by +

    + +
      +
    • Misclassification error
    • +
    +$$ +p_{mk} = \frac{1}{N_m}\sum_{x_i\in R_m}I(y_i\ne k) = 1-p_{mk}. +$$ + +
      +
    • Gini index \( g \)
    • +
    +$$ +g = \sum_{k=1}^K p_{mk}(1-p_{mk}). +$$ + +
      +
    • Information entropy or just entropy \( s \)
    • +
    +$$ +s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}. +$$ + + +









    +

    Visualizing the Tree, Classification

    + + +
    +
    +
    +
    +
    +
    import os
    +from sklearn.datasets import load_breast_cancer
    +from sklearn.tree import DecisionTreeClassifier
    +from sklearn.model_selection import train_test_split
    +from sklearn.metrics import confusion_matrix
    +from sklearn.tree import export_graphviz
    +
    +from IPython.display import Image 
    +from pydot import graph_from_dot_data
    +import pandas as pd
    +import numpy as np
    +
    +
    +cancer = load_breast_cancer()
    +X = pd.DataFrame(cancer.data, columns=cancer.feature_names)
    +print(X)
    +y = pd.Categorical.from_codes(cancer.target, cancer.target_names)
    +y = pd.get_dummies(y)
    +print(y)
    +X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)
    +tree_clf = DecisionTreeClassifier(max_depth=5)
    +tree_clf.fit(X_train, y_train)
    +
    +export_graphviz(
    +    tree_clf,
    +    out_file="DataFiles/cancer.dot",
    +    feature_names=cancer.feature_names,
    +    class_names=cancer.target_names,
    +    rounded=True,
    +    filled=True
    +)
    +cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
    +os.system(cmd)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Visualizing the Tree, The Moons

    + + +
    +
    +
    +
    +
    +
    # Common imports
    +import numpy as np
    +from sklearn.model_selection import  train_test_split 
    +from sklearn.tree import DecisionTreeClassifier
    +from sklearn.datasets import make_moons
    +from sklearn.tree import export_graphviz
    +from pydot import graph_from_dot_data
    +import pandas as pd
    +import os
    +
    +np.random.seed(42)
    +X, y = make_moons(n_samples=100, noise=0.25, random_state=53)
    +X_train, X_test, y_train, y_test = train_test_split(X,y,random_state=0)
    +tree_clf = DecisionTreeClassifier(max_depth=5)
    +tree_clf.fit(X_train, y_train)
    +
    +export_graphviz(
    +    tree_clf,
    +    out_file="DataFiles/moons.dot",
    +    rounded=True,
    +    filled=True
    +)
    +cmd = 'dot -Tpng DataFiles/moons.dot -o DataFiles/moons.png'
    +os.system(cmd)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Other ways of visualizing the trees

    + +

    Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data.

    + + + +
    +
    +
    +
    +
    +
    from sklearn.datasets import load_iris
    +from sklearn import tree
    +X, y = load_iris(return_X_y=True)
    +tree_clf = tree.DecisionTreeClassifier()
    +tree_clf = tree_clf.fit(X, y)
    +# and then plot the tree
    +tree.plot_tree(tree_clf) 
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Printing out as text

    + +

    Alternatively, the tree can also be exported in textual format with the function exporttext. +This method doesn’t require the installation of external libraries and is more compact: +

    + + + +
    +
    +
    +
    +
    +
    from sklearn.datasets import load_iris
    +from sklearn.tree import DecisionTreeClassifier
    +from sklearn.tree import export_text
    +iris = load_iris()
    +decision_tree = DecisionTreeClassifier(random_state=0, max_depth=2)
    +decision_tree = decision_tree.fit(iris.data, iris.target)
    +r = export_text(decision_tree, feature_names=iris['feature_names'])
    +print(r)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Algorithms for Setting up Decision Trees

    + +

    Two algorithms stand out in the set up of decision trees:

    +
      +
    1. The CART (Classification And Regression Tree) algorithm for both classification and regression
    2. +
    3. The ID3 algorithm based on the computation of the information gain for classification
    4. +
    +

    We discuss both algorithms with applications here. The popular library +Scikit-Learn uses the CART algorithm. For classification problems +you can use either the gini index or the entropy to split a tree +in two branches. +

    + +









    +

    The CART algorithm for Classification

    + +

    For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). +This could be for example a threshold set by a number below a certain circumference of a malign tumor. +

    + +

    How do we find these two quantities? +We search for the pair \( (k,t_k) \) that produces the purest subset using for example the gini factor \( G \). +The cost function it tries to minimize is then +

    +$$ +C(k,t_k) = \frac{m_{\mathrm{left}}}{m}G_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}G_{\mathrm{right}}, +$$ + +

    where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) + is the number of instances in the left/right subset +

    + +

    Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets +and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the +\( max\_depth \) hyperparameter), or if it cannot find a split that will reduce impurity. A few other +hyperparameters control additional stopping conditions such as the \( min\_samples\_split \), +\( min\_samples\_leaf \), \( min\_weight\_fraction\_leaf \), and \( max\_leaf\_nodes \). +

    + +









    +

    The CART algorithm for Regression

    + +

    The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the +training set in a way that minimizes say the gini or entropy impurity, it now tries to split the training set in a way that minimizes our well-known mean-squared error (MSE). The cost function is now +

    +$$ +C(k,t_k) = \frac{m_{\mathrm{left}}}{m}\mathrm{MSE}_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}\mathrm{MSE}_{\mathrm{right}}. +$$ + +

    Here the MSE for a specific node is defined as

    +$$ +\mathrm{MSE}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}(\overline{y}_{\mathrm{node}}-y_i)^2, +$$ + +

    with

    +$$ +\overline{y}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}y_i, +$$ + +

    the mean value of all observations in a specific node.

    + +

    Without any regularization, the regression task for decision trees, +just like for classification tasks, is prone to overfitting. +

    + +









    +

    Computing the Gini index

    + +

    The example we will look at is a classical one in many Machine +Learning applications. Based on various meteorological features, we +have several so-called attributes which decide whether we at the end +will do some outdoor activity like skiing, going for a bike ride etc +etc. The table here contains the feautures outlook, temperature, +humidity and wind. The target or output is whether we ride +(True=1) or whether we do something else that day (False=0). The +attributes for each feature are then sunny, overcast and rain for the +outlook, hot, cold and mild for temperature, high and normal for +humidity and weak and strong for wind. +

    + +

    The table here summarizes the various attributes and

    + + + + + + + + + + + + + + + + + + + + +
    Day Outlook Temperature Humidity Wind Ride
    1 Sunny Hot High Weak 0
    2 Sunny Hot High Strong 1
    3 Overcast Hot High Weak 1
    4 Rain Mild High Weak 1
    5 Rain Cool Normal Weak 1
    6 Rain Cool Normal Strong 0
    7 Overcast Cool Normal Strong 1
    8 Sunny Mild High Weak 0
    9 Sunny Cool Normal Weak 1
    10 Rain Mild Normal Weak 1
    11 Sunny Mild Normal Strong 1
    12 Overcast Mild High Strong 1
    13 Overcast Hot Normal Weak 1
    14 Rain Mild High Strong 0
    + +









    +

    Simple Python Code to read in Data and perform Classification

    + + + +
    +
    +
    +
    +
    +
    # Common imports
    +import numpy as np
    +import pandas as pd
    +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')
    +
    +infile = open(data_path("rideclass.csv"),'r')
    +
    +# Read the experimental data with Pandas
    +from IPython.display import display
    +ridedata = pd.read_csv(infile,names = ('Outlook','Temperature','Humidity','Wind','Ride'))
    +ridedata = pd.DataFrame(ridedata)
    +
    +# Features and targets
    +X = ridedata.loc[:, ridedata.columns != 'Ride'].values
    +y = ridedata.loc[:, ridedata.columns == 'Ride'].values
    +
    +# Create the encoder.
    +encoder = OneHotEncoder(handle_unknown="ignore")
    +# Assume for simplicity all features are categorical.
    +encoder.fit(X)    
    +# Apply the encoder.
    +X = encoder.transform(X)
    +print(X)
    +# Then do a Classification tree
    +tree_clf = DecisionTreeClassifier(max_depth=2)
    +tree_clf.fit(X, y)
    +print("Train set accuracy with Decision Tree: {:.2f}".format(tree_clf.score(X,y)))
    +#transfer to a decision tree graph
    +export_graphviz(
    +    tree_clf,
    +    out_file="DataFiles/ride.dot",
    +    rounded=True,
    +    filled=True
    +)
    +cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
    +os.system(cmd)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Computing the Gini Factor

    + +

    The above functions (gini, entropy and misclassification error) are +important components of the so-called CART algorithm. We will discuss +this algorithm below after we have discussed the information gain +algorithm ID3. +

    + +

    In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc.

    + + + +
    +
    +
    +
    +
    +
    # Split a dataset based on an attribute and an attribute value
    +def test_split(index, value, dataset):
    +	left, right = list(), list()
    +	for row in dataset:
    +		if row[index] < value:
    +			left.append(row)
    +		else:
    +			right.append(row)
    +	return left, right
    + 
    +# Calculate the Gini index for a split dataset
    +def gini_index(groups, classes):
    +	# count all samples at split point
    +	n_instances = float(sum([len(group) for group in groups]))
    +	# sum weighted Gini index for each group
    +	gini = 0.0
    +	for group in groups:
    +		size = float(len(group))
    +		# avoid divide by zero
    +		if size == 0:
    +			continue
    +		score = 0.0
    +		# score the group based on the score for each class
    +		for class_val in classes:
    +			p = [row[-1] for row in group].count(class_val) / size
    +			score += p * p
    +		# weight the group score by its relative size
    +		gini += (1.0 - score) * (size / n_instances)
    +	return gini
    +
    +# Select the best split point for a dataset
    +def get_split(dataset):
    +	class_values = list(set(row[-1] for row in dataset))
    +	b_index, b_value, b_score, b_groups = 999, 999, 999, None
    +	for index in range(len(dataset[0])-1):
    +		for row in dataset:
    +			groups = test_split(index, row[index], dataset)
    +			gini = gini_index(groups, class_values)
    +			print('X%d < %.3f Gini=%.3f' % ((index+1), row[index], gini))
    +			if gini < b_score:
    +				b_index, b_value, b_score, b_groups = index, row[index], gini, groups
    +	return {'index':b_index, 'value':b_value, 'groups':b_groups}
    + 
    +dataset = [[0,0,0,0,0],
    +            [0,0,0,1,1],
    +            [1,0,0,0,1],
    +            [2,1,0,0,1],
    +            [2,2,1,0,1],
    +            [2,2,1,1,0],
    +            [1,2,1,1,1],
    +            [0,1,0,0,0],
    +            [0,2,1,0,1],
    +            [2,1,1,0,1],
    +            [0,1,1,1,1],
    +            [1,1,0,1,1],
    +            [1,0,1,0,1],
    +            [2,1,0,1,0]]
    +
    +split = get_split(dataset)
    +print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Entropy and the ID3 algorithm

    + +

    The ID3 algorithm learns decision trees by constructing +them in a top down way, beginning with the question which attribute should be tested at the root of the tree? +

    + +
      +
    1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.
    2. +
    3. The best attribute is selected and used as the test at the root node of the tree.
    4. +
    5. A descendant of the root node is then created for each possible value of this attribute.
    6. +
    7. Training examples are sorted to the appropriate descendant node.
    8. +
    9. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.
    10. +
    11. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices.
    12. +
    +

    The ID3 algorithm selects which attribute to test at each node in the +tree. +

    + +

    We would like to select the attribute that is most useful for classifying +examples. +

    + +

    What is a good quantitative measure of the worth of an attribute?

    + +

    Information gain measures how well a given attribute separates the +training examples according to their target classification. +

    + +

    The ID3 algorithm uses this information gain measure to select among the candidate +attributes at each step while growing the tree. +

    + +









    +

    Cancer Data again now with Decision Trees and other Methods

    + + +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
    +import numpy as np
    +from sklearn.model_selection import  train_test_split 
    +from sklearn.datasets import load_breast_cancer
    +from sklearn.svm import SVC
    +from sklearn.linear_model import LogisticRegression
    +from sklearn.tree import DecisionTreeClassifier
    +
    +# Load the data
    +cancer = load_breast_cancer()
    +
    +X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)
    +print(X_train.shape)
    +print(X_test.shape)
    +# Logistic Regression
    +logreg = LogisticRegression(solver='lbfgs')
    +logreg.fit(X_train, y_train)
    +print("Test set accuracy with Logistic Regression: {:.2f}".format(logreg.score(X_test,y_test)))
    +# Support vector machine
    +svm = SVC(gamma='auto', C=100)
    +svm.fit(X_train, y_train)
    +print("Test set accuracy with SVM: {:.2f}".format(svm.score(X_test,y_test)))
    +# Decision Trees
    +deep_tree_clf = DecisionTreeClassifier(max_depth=None)
    +deep_tree_clf.fit(X_train, y_train)
    +print("Test set accuracy with Decision Trees: {:.2f}".format(deep_tree_clf.score(X_test,y_test)))
    +#now scale the data
    +from sklearn.preprocessing import StandardScaler
    +scaler = StandardScaler()
    +scaler.fit(X_train)
    +X_train_scaled = scaler.transform(X_train)
    +X_test_scaled = scaler.transform(X_test)
    +# Logistic Regression
    +logreg.fit(X_train_scaled, y_train)
    +print("Test set accuracy Logistic Regression with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test)))
    +# Support Vector Machine
    +svm.fit(X_train_scaled, y_train)
    +print("Test set accuracy SVM with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test)))
    +# Decision Trees
    +deep_tree_clf.fit(X_train_scaled, y_train)
    +print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Another example, the moons again

    + + +
    +
    +
    +
    +
    +
    from __future__ import division, print_function, unicode_literals
    +
    +# Common imports
    +import numpy as np
    +import os
    +
    +# to make this notebook's output stable across runs
    +np.random.seed(42)
    +
    +# To plot pretty figures
    +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
    +
    +
    +from sklearn.svm import SVC
    +from sklearn import datasets
    +from sklearn.tree import DecisionTreeClassifier
    +from sklearn.datasets import make_moons
    +from sklearn.tree import export_graphviz
    +
    +Xm, ym = make_moons(n_samples=100, noise=0.25, random_state=53)
    +
    +deep_tree_clf1 = DecisionTreeClassifier(random_state=42)
    +deep_tree_clf2 = DecisionTreeClassifier(min_samples_leaf=4, random_state=42)
    +deep_tree_clf1.fit(Xm, ym)
    +deep_tree_clf2.fit(Xm, ym)
    +
    +
    +def plot_decision_boundary(clf, X, y, axes=[0, 7.5, 0, 3], iris=True, legend=False, plot_training=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 not iris:
    +        custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50'])
    +        plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8)
    +    if plot_training:
    +        plt.plot(X[:, 0][y==0], X[:, 1][y==0], "yo", label="Iris-Setosa")
    +        plt.plot(X[:, 0][y==1], X[:, 1][y==1], "bs", label="Iris-Versicolor")
    +        plt.plot(X[:, 0][y==2], X[:, 1][y==2], "g^", label="Iris-Virginica")
    +        plt.axis(axes)
    +    if iris:
    +        plt.xlabel("Petal length", fontsize=14)
    +        plt.ylabel("Petal width", fontsize=14)
    +    else:
    +        plt.xlabel(r"$x_1$", fontsize=18)
    +        plt.ylabel(r"$x_2$", fontsize=18, rotation=0)
    +    if legend:
    +        plt.legend(loc="lower right", fontsize=14)
    +plt.figure(figsize=(11, 4))
    +plt.subplot(121)
    +plot_decision_boundary(deep_tree_clf1, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
    +plt.title("No restrictions", fontsize=16)
    +plt.subplot(122)
    +plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
    +plt.title("min_samples_leaf = {}".format(deep_tree_clf2.min_samples_leaf), fontsize=14)
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Playing around with regions

    + + +
    +
    +
    +
    +
    +
    np.random.seed(6)
    +Xs = np.random.rand(100, 2) - 0.5
    +ys = (Xs[:, 0] > 0).astype(np.float32) * 2
    +
    +angle = np.pi/4
    +rotation_matrix = np.array([[np.cos(angle), -np.sin(angle)], [np.sin(angle), np.cos(angle)]])
    +Xsr = Xs.dot(rotation_matrix)
    +
    +tree_clf_s = DecisionTreeClassifier(random_state=42)
    +tree_clf_s.fit(Xs, ys)
    +tree_clf_sr = DecisionTreeClassifier(random_state=42)
    +tree_clf_sr.fit(Xsr, ys)
    +
    +plt.figure(figsize=(11, 4))
    +plt.subplot(121)
    +plot_decision_boundary(tree_clf_s, Xs, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
    +plt.subplot(122)
    +plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
    +
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Regression trees

    + + +
    +
    +
    +
    +
    +
    # Quadratic training set + noise
    +np.random.seed(42)
    +m = 200
    +X = np.random.rand(m, 1)
    +y = 4 * (X - 0.5) ** 2
    +y = y + np.random.randn(m, 1) / 10
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    from sklearn.tree import DecisionTreeRegressor
    +
    +tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)
    +tree_reg.fit(X, y)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Final regressor code

    + + +
    +
    +
    +
    +
    +
    from sklearn.tree import DecisionTreeRegressor
    +
    +tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)
    +tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)
    +tree_reg1.fit(X, y)
    +tree_reg2.fit(X, y)
    +
    +def plot_regression_predictions(tree_reg, X, y, axes=[0, 1, -0.2, 1], ylabel="$y$"):
    +    x1 = np.linspace(axes[0], axes[1], 500).reshape(-1, 1)
    +    y_pred = tree_reg.predict(x1)
    +    plt.axis(axes)
    +    plt.xlabel("$x_1$", fontsize=18)
    +    if ylabel:
    +        plt.ylabel(ylabel, fontsize=18, rotation=0)
    +    plt.plot(X, y, "b.")
    +    plt.plot(x1, y_pred, "r.-", linewidth=2, label=r"$\hat{y}$")
    +
    +plt.figure(figsize=(11, 4))
    +plt.subplot(121)
    +plot_regression_predictions(tree_reg1, X, y)
    +for split, style in ((0.1973, "k-"), (0.0917, "k--"), (0.7718, "k--")):
    +    plt.plot([split, split], [-0.2, 1], style, linewidth=2)
    +plt.text(0.21, 0.65, "Depth=0", fontsize=15)
    +plt.text(0.01, 0.2, "Depth=1", fontsize=13)
    +plt.text(0.65, 0.8, "Depth=1", fontsize=13)
    +plt.legend(loc="upper center", fontsize=18)
    +plt.title("max_depth=2", fontsize=14)
    +
    +plt.subplot(122)
    +plot_regression_predictions(tree_reg2, X, y, ylabel=None)
    +for split, style in ((0.1973, "k-"), (0.0917, "k--"), (0.7718, "k--")):
    +    plt.plot([split, split], [-0.2, 1], style, linewidth=2)
    +for split in (0.0458, 0.1298, 0.2873, 0.9040):
    +    plt.plot([split, split], [-0.2, 1], "k:", linewidth=1)
    +plt.text(0.3, 0.5, "Depth=2", fontsize=13)
    +plt.title("max_depth=3", fontsize=14)
    +
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    tree_reg1 = DecisionTreeRegressor(random_state=42)
    +tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)
    +tree_reg1.fit(X, y)
    +tree_reg2.fit(X, y)
    +
    +x1 = np.linspace(0, 1, 500).reshape(-1, 1)
    +y_pred1 = tree_reg1.predict(x1)
    +y_pred2 = tree_reg2.predict(x1)
    +
    +plt.figure(figsize=(11, 4))
    +
    +plt.subplot(121)
    +plt.plot(X, y, "b.")
    +plt.plot(x1, y_pred1, "r.-", linewidth=2, label=r"$\hat{y}$")
    +plt.axis([0, 1, -0.2, 1.1])
    +plt.xlabel("$x_1$", fontsize=18)
    +plt.ylabel("$y$", fontsize=18, rotation=0)
    +plt.legend(loc="upper center", fontsize=18)
    +plt.title("No restrictions", fontsize=14)
    +
    +plt.subplot(122)
    +plt.plot(X, y, "b.")
    +plt.plot(x1, y_pred2, "r.-", linewidth=2, label=r"$\hat{y}$")
    +plt.axis([0, 1, -0.2, 1.1])
    +plt.xlabel("$x_1$", fontsize=18)
    +plt.title("min_samples_leaf={}".format(tree_reg2.min_samples_leaf), fontsize=14)
    +
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Pros and cons of trees, pros

    + +
      +
    • White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines)
    • +
    • Trees are very easy to explain to people. In fact, they are even easier to explain than linear regression!
    • +
    • No feature normalization needed
    • +
    • Tree models can handle both continuous and categorical data (Classification and Regression Trees)
    • +
    • Can model nonlinear relationships
    • +
    • Can model interactions between the different descriptive features
    • +
    • Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)
    • +
    +









    +

    Disadvantages

    + +
      +
    • Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches
    • +
    • If continuous features are used the tree may become quite large and hence less interpretable
    • +
    • Decision trees are prone to overfit the training data and hence do not well generalize the data if no stopping criteria or improvements like pruning, boosting or bagging are implemented
    • +
    • Small changes in the data may lead to a completely different tree. This issue can be addressed by using ensemble methods like bagging, boosting or random forests
    • +
    • Unbalanced datasets where some target feature values occur much more frequently than others may lead to biased trees since the frequently occurring feature values are preferred over the less frequently occurring ones.
    • +
    • If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data
    • +
    • Features with many levels may be preferred over features with less levels since for them it is more easy to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain
    • +
    +

    However, by aggregating many decision trees, using methods like +bagging, random forests, and boosting, the predictive performance of +trees can be substantially improved. +

    + +









    +

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    + +

    As stated above and seen in many of the examples discussed here about +a single decision tree, we often end up overfitting our training +data. This normally means that we have a high variance. Can we reduce +the variance of a statistical learning method? +

    + +

    This leads us to a set of different methods that can combine different +machine learning algorithms or just use one of them to construct +forests and jungles of trees, homogeneous ones or heterogenous +ones. These methods are recognized by different names which we will +try to explain here. These are +

    + +
      +
    1. Voting classifiers
    2. +
    3. Bagging and Pasting
    4. +
    5. Random forests
    6. +
    7. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)
    8. +
    +

    We discuss these methods here.

    + +









    +

    An Overview of Ensemble Methods

    + +

    +
    +

    +
    +

    + +









    +

    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?

    + +

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

    -

    -The aim is to create a good classifier by combining several weak classifiers. +

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

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

    -

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

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

    -











    +

    Tossing coins

    -

    Tossing coins

    - -

    -The simplest case is a so-called voting ensemble. To illustrate this, +

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

    -

    -We can then state that the outcome is a clear majority of heads. If +

    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 +

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

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

    -











    +

    Standard imports first

    -

    Standard imports first

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     from IPython.display import Image 
     from pydot import graph_from_dot_data
     import pandas as pd
    @@ -266,15 +2306,32 @@ DATA_ID = "DataFiles/"
     
     def save_fig(fig_id):
         plt.savefig(image_path(fig_id) + ".png", format='png')
    -
    -

    -









    +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -

    Simple Voting Example, head or tail

    -

    + +









    +

    Simple Voting Example, head or tail

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import matplotlib
     import matplotlib.pyplot as plt
    @@ -296,18 +2353,34 @@ plt.legend(loc="lower right")
     plt.axis([0, 10000, 0.42, 0.58])
     save_fig("votingsimple")
     plt.show()
    -
    -

    +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +









    +

    Using the Voting Classifier

    -

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

    +

    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.

    -
    from sklearn.model_selection import train_test_split
    +
    +
    +
    +
    +
    +
    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)
    @@ -349,16 +2422,33 @@ voting_clf.fit(X_train, y_train)
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Voting and Bagging

    -

    Voting and Bagging

    - -

    -

    from sklearn.model_selection import train_test_split
    +
    +
    +
    +
    +
    +
    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)
    @@ -376,21 +2466,51 @@ 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)
    +
    +
    +
    +
    +
    +
    log_clf = LogisticRegression(random_state=42)
     rnd_clf = RandomForestClassifier(random_state=42)
     svm_clf = SVC(probability=True, random_state=42)
     
    @@ -398,49 +2518,76 @@ 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)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Random forests

    -

    Random forests

    +

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

    -

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

    -As in bagging, we build a +

    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. +use only one of those \( m \) predictors. +

    -

    -A fresh sample of \( m \) predictors is +

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

    $$ m\approx \sqrt{p}. $$ -

    -In building a random forest, at +

    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. +a majority of the available predictors. +

    -

    -The reason for this is rather clever. Suppose that there is one very +

    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 @@ -452,41 +2599,36 @@ 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. +

    -











    +

    Random Forest Algorithm

    +

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

    -

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

    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. pick the best split point among the \( m \) features using for example the CART algorithm and create a new node
        3. split the node into daughter nodes
        -
      -
    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.
    -









    - -

    Random Forests Compared with other Methods on the Cancer Data

    -

    +

    Random Forests Compared with other Methods on the Cancer Data

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -552,362 +2694,374 @@ skplt.metrics.plot_roc(y_test, y_probas)
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -

    -Recall that the cumulative gains curve shows the percentage of the +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

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

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

    -











    - -

    Compare Bagging on Trees with Random Forests

    -

    +

    Compare Bagging on Trees with Random Forests

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

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Boosting, a Bird's Eye View

    -

    Boosting, a Bird's Eye View

    - -

    -The basic idea is to combine weak classifiers in order to create a good +

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

    -

    -This is done by applying in an iterative way a weak (or a standard +

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

    -











    +

    What is boosting? Additive Modelling/Iterative Fitting

    -

    What is boosting? Additive Modelling/Iterative Fitting

    - -

    -Boosting is a way of fitting an additive expansion in a set of +

    Boosting is a way of fitting an additive expansion in a set of elementary basis functions like for example some simple polynomials. Assume for example that we have a function +

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    -where \( \beta_m \) are the expansion parameters to be determined in a +

    where \( \beta_m \) are the expansion parameters to be determined in a minimization process and \( b(x;\gamma_m) \) are some simple functions of the multivariable parameter \( x \) which is characterized by the parameters \( \gamma_m \). +

    -

    -As an example, consider the Sigmoid function we used in logistic +

    As an example, consider the Sigmoid function we used in logistic regression. In that case, we can translate the function \( b(x;\gamma_m) \) into the Sigmoid function +

    $$ \sigma(t) = \frac{1}{1+\exp{(-t)}}, $$ -

    -where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and +

    where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and \( \gamma_1 \) were determined by the Logistic Regression fitting algorithm. +

    -

    -As another example, consider the cost function we defined for linear regression +

    As another example, consider the cost function we defined for linear regression

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -In this case the function \( f(x) \) was replaced by the design matrix +

    In this case the function \( f(x) \) was replaced by the design matrix \( \boldsymbol{X} \) and the unknown linear regression parameters \( \boldsymbol{\beta} \), that is \( \boldsymbol{f}=\boldsymbol{X}\boldsymbol{\beta} \). In linear regression we can simply invert a matrix and obtain the parameters \( \beta \) by +

    $$ \boldsymbol{\beta}=\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    -In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \). +

    In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \).

    -











    +

    Iterative Fitting, Regression and Squared-error Cost Function

    -

    Iterative Fitting, Regression and Squared-error Cost Function

    - -

    -The way we proceed is as follows (here we specialize to the squared-error cost function) +

    The way we proceed is as follows (here we specialize to the squared-error cost function)

    1. Establish a cost function, here \( {\cal C}(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f_M(x_i))^2 \) with \( f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m) \).
    2. Initialize with a guess \( f_0(x) \). It could be one or even zero or some random numbers.
    3. For \( m=1:M \) -
      1. minimize \( \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2 \) wrt \( \gamma \) and \( \beta \)
      2. This gives the optimal values \( \beta_m \) and \( \gamma_m \)
      3. Determine then the new values \( f_m(x)=f_{m-1}(x) +\beta_m b(x;\gamma_m) \)
      -
    - -We could use any of the algorithms we have discussed till now. If we +

    We could use any of the algorithms we have discussed till now. If we use trees, \( \gamma \) parameterizes the split variables and split points at the internal nodes, and the predictions at the terminal nodes. +

    -











    +

    Squared-Error Example and Iterative Fitting

    -

    Squared-Error Example and Iterative Fitting

    +

    To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.

    -

    -To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function. +

    For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \).

    -

    -For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \). - -

    -This means that for every iteration \( m \), we need to optimize +

    This means that for every iteration \( m \), we need to optimize

    $$ (\beta_m,\gamma_m) = \mathrm{argmin}_{\beta,\lambda}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2=\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta(1+\gamma x_i))^2. $$ -

    -We start our iteration by simply setting \( f_0(x)=0 \). +

    We start our iteration by simply setting \( f_0(x)=0 \). Taking the derivatives with respect to \( \beta \) and \( \gamma \) we obtain +

    $$ \frac{\partial {\cal C}}{\partial \beta} = -2\sum_{i}(1+\gamma x_i)(y_i-\beta(1+\gamma x_i))=0, $$ -and +

    and

    $$ \frac{\partial {\cal C}}{\partial \gamma} =-2\sum_{i}\beta x_i(y_i-\beta(1+\gamma x_i))=0. $$ -We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector) +

    We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector)

    $$ \gamma \boldsymbol{w}^T(\boldsymbol{y}-\beta\gamma \boldsymbol{w})=0, $$ -which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have +

    which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have

    $$ \beta\gamma \boldsymbol{x}^T(\boldsymbol{y}-\beta(1+\gamma \boldsymbol{x}))=0, $$ -

    -which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting -for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

    which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting +for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

    -

    -The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as -\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

    The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as +\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

    -











    +

    Iterative Fitting, Classification and AdaBoost

    -

    Iterative Fitting, Classification and AdaBoost

    - -

    -Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of +

    Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. We define a classification function \( G(x) \) which produces a prediction taking one or the other of the two values \( \{-1,1\} \). +

    -

    -The error rate of the training sample is then +

    The error rate of the training sample is then

    $$ \mathrm{\overline{err}}=\frac{1}{n} \sum_{i=0}^{n-1} I(y_i\ne G(x_i)). $$ -

    -The iterative procedure starts with defining a weak classifier whose +

    The iterative procedure starts with defining a weak classifier whose error rate is barely better than random guessing. The iterative procedure in boosting is to sequentially apply a weak classification algorithm to repeatedly modified versions of the data producing a sequence of weak classifiers \( G_m(x) \). +

    -

    -Here we will express our function \( f(x) \) in terms of \( G(x) \). That is +

    Here we will express our function \( f(x) \) in terms of \( G(x) \). That is

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -will be a function of +

    will be a function of

    $$ G_M(x) = \mathrm{sign} \sum_{i=1}^M \alpha_m G_m(x). $$ -

    +









    +

    Adaptive Boosting, AdaBoost

    -

    Adaptive Boosting, AdaBoost

    - -

    -In our iterative procedure we define thus +

    In our iterative procedure we define thus

    $$ f_m(x) = f_{m-1}(x)+\beta_mG_m(x). $$ -

    -The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the +

    The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the exponential cost/loss function defined as +

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}\exp{(-y_i(f_{m-1}(x_i)+\beta G(x_i))}. $$ -

    -We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. +

    We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. This is normally done in two steps. Let us however first rewrite the cost function as +

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}w_i^{m}\exp{(-y_i\beta G(x_i))}, $$ -where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \). +

    where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \).

    -











    +

    Building up AdaBoost

    -

    Building up AdaBoost

    - -

    -First, for any \( \beta > 0 \), we optimize \( G \) by setting +

    First, for any \( \beta > 0 \), we optimize \( G \) by setting

    $$ G_m(x) = \mathrm{sign} \sum_{i=0}^{n-1} w_i^m I(y_i \ne G_(x_i)), $$ -which is the classifier that minimizes the weighted error rate in predicting \( y \). +

    which is the classifier that minimizes the weighted error rate in predicting \( y \).

    -

    -We can do this by rewriting +

    We can do this by rewriting

    $$ \exp{-(\beta)}\sum_{y_i=G(x_i)}w_i^m+\exp{(\beta)}\sum_{y_i\ne G(x_i)}w_i^m, $$ -which can be rewritten as +

    which can be rewritten as

    $$ (\exp{(\beta)}-\exp{-(\beta)})\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i))+\exp{(-\beta)}\sum_{i=0}^{n-1}w_i^m=0, $$ -which leads to +

    which leads to

    $$ \beta_m = \frac{1}{2}\log{\frac{1-\mathrm{\overline{err}}}{\mathrm{\overline{err}}}}, $$ -where we have redefined the error as +

    where we have redefined the error as

    $$ \mathrm{\overline{err}}_m=\frac{1}{n}\frac{\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i)}{\sum_{i=0}^{n-1}w_i^m}, $$ -which leads to an update of +

    which leads to an update of

    $$ f_m(x) = f_{m-1}(x) +\beta_m G_m(x). $$ -This leads to the new weights +

    This leads to the new weights

    $$ w_i^{m+1} = w_i^m \exp{(-y_i\beta_m G_m(x_i))} $$ -

    +









    +

    Adaptive boosting: AdaBoost, Basic Algorithm

    -

    Adaptive boosting: AdaBoost, Basic Algorithm

    - -

    -The algorithm here is rather straightforward. Assume that our weak +

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

    -

    -We have already defined the misclassification error \( \mathrm{err} \) as +

    We have already defined the misclassification error \( \mathrm{err} \) as

    $$ \mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(x_i)), $$ -where the function \( I() \) is one if we misclassify and zero if we classify correctly. +

    where the function \( I() \) is one if we misclassify and zero if we classify correctly.

    -











    +

    Basic Steps of AdaBoost

    -

    Basic Steps of AdaBoost

    - -

    -With the above definitions we are now ready to set up the algorithm for AdaBoost. +

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

    1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is easy to see that we must have \( \sum_{i=0}^{n-1}w_i = 1 \).
    2. We rewrite the misclassification error as
    - $$ \mathrm{\overline{err}}_m=\frac{\sum_{i=0}^{n-1}w_i^m I(y_i\ne G(x_i))}{\sum_{i=0}^{n-1}w_i}, $$ -
    1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. -
      1. Fit then a given classifier to the training set using the weights \( w_i \).
      2. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      3. Define a quantity \( \alpha_{m} = \log{(1-\mathrm{\overline{err}}_m)/\mathrm{\overline{err}}_m} \)
      4. Set the new weights to \( w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(x_i)} \).
      -
    2. Compute the new classifier \( G(x)= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(x_i) \).
    - -For the iterations with \( m \le 2 \) the weights are modified +

    For the iterations with \( m \le 2 \) the weights are modified individually at each steps. The observations which were misclassified at iteration \( m-1 \) have a weight which is larger than those which were classified properly. As this proceeds, the observations which were difficult to classifiy correctly are given a larger influence. Each new classification step \( m \) is then forced to concentrate on those observations that are missed in the previous iterations. +

    -











    +

    AdaBoost Examples

    -

    AdaBoost Examples

    +

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

    -

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

    -

    from sklearn.ensemble import AdaBoostClassifier
    +
    +
    +
    +
    +
    +
    from sklearn.ensemble import AdaBoostClassifier
     
     ada_clf = AdaBoostClassifier(
         DecisionTreeClassifier(max_depth=1), n_estimators=200,
    @@ -928,114 +3082,115 @@ skplt.metrics.plot_roc(y_test, y_probas)
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    -

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    - -

    -Gradient boosting is again a similar technique to Adaptive boosting, +

    Gradient boosting is again a similar technique to Adaptive boosting, it combines so-called weak classifiers or regressors into a strong method via a series of iterations. +

    -

    -In order to understand the method, let us illustrate its basics by +

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

    -











    +

    The Squared-Error again! Steepest Descent

    -

    The Squared-Error again! Steepest Descent

    - -

    -We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize +

    We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize This means that for every iteration, we need to optimize +

    $$ (\hat{\boldsymbol{f}}) = \mathrm{argmin}_{\boldsymbol{f}}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as +

    We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as

    $$ f_M(x) = \sum_{m=0}^M h_m(x). $$ -

    -In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as +

    In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as

    $$ g_m(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{m-1}(x_i)}. $$ -

    -With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that +

    With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that the gradient is \( g_m(x_i) = -2(y_i-f(x_i)) \). +

    -

    -Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have +

    Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have

    $$ (\rho_1) = \mathrm{argmin}_{\rho}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i+2\rho y_i)^2. $$ -

    +









    +

    Steepest Descent Example

    -

    Steepest Descent Example

    - -

    -Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that +

    Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that

    $$ f_1(x) = f_{0}(x) -\rho_1 g_1(x)=-y_i. $$ -We can then proceed and compute +

    We can then proceed and compute

    $$ g_2(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i, $$ -and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting. +

    and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting.

    -











    +

    Gradient Boosting, algorithm

    -

    Gradient Boosting, algorithm

    - -

    -Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, +

    Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, so we do not learn a function that can generalize. However, we can modify the algorithm by -fitting a weak learner to approximate the negative gradient signal. +fitting a weak learner to approximate the negative gradient signal. +

    -

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

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

    $$ C(\boldsymbol{y},\boldsymbol{f})=\sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

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

    The way we proceed in an iterative fashion is to

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









    - -

    Gradient Boosting, Examples of Regression

    -

    +

    Gradient Boosting, Examples of Regression

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.ensemble import GradientBoostingRegressor
    @@ -1081,15 +3236,32 @@ plt.plot(polydegree, variance, label='Variance&
     plt.legend()
     save_fig("gdregression")
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Gradient Boosting, Classification Example

    -

    + +









    +

    Gradient Boosting, Classification Example

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -1129,37 +3301,51 @@ plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     save_fig("gdclassiffiercgain")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    XGBoost: Extreme Gradient Boosting

    -

    XGBoost: Extreme Gradient Boosting

    - -

    -XGBoost or Extreme Gradient +

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

    -

    -The authors design and build a highly scalable end-to-end tree +

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

    -

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

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

    -











    +

    Regression Case

    -

    Regression Case

    - -

    -

    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     import xgboost as xgb
    @@ -1205,18 +3391,34 @@ plt.plot(polydegree, bias, label='bias''Variance')
     plt.legend()
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Xgboost on the Cancer Data

    -

    Xgboost on the Cancer Data

    - -

    -As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now. -

    +

    As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now.

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -1267,18 +3469,26 @@ xgb.plot_importance(xg_clf)
     plt.rcParams['figure.figsize'] = [5, 5]
     save_fig("xgparams")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + - -
    - © 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license + © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week45/html/week45.html b/doc/pub/week45/html/week45.html index 920dd8dce..7794e13ef 100644 --- a/doc/pub/week45/html/week45.html +++ b/doc/pub/week45/html/week45.html @@ -1,110 +1,364 @@ - + - - -Week 45: Random Forests and Boosting - - + +Week 45: Decisions Trees, Random Forests, Bagging and Boosting - - @@ -124,117 +378,1975 @@ MathJax.Hub.Config({ - - +
    +

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    +
    - - -

    Week 45: Random Forests and Boosting

    - -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

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

    Nov 9, 2021

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

    -

    Nov 12, 2020

    -
    -











    - -

    Overview of week 45

    +

    Overview of week 45

      -
    • Thursday: Wrapping up from last week. Bagging and Random forests. Boosting methods. Link to video of lecture
    • -
    • Friday: Boosting and gradient boosting. Link to video of lecture
    • +
    • Thursday: Basics of Decision Trees, Bagging and Voting
    • +
    • Friday: More on Bagging, Voting, Random Forests and start Boosting
    - -Geron's chapter 7. See also lecture from STK-IN4300, lecture 9. Chapter 10 (sections 10.1-10.10 are the most relevant ones) of Hastie et al contains also a good discussion. - + + +
    +Reading

    +

      +
    1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from STK-IN4300, lecture 7. Chapter 9.2 of Hastie et al contains also a good discussion.
    2. +
    +
    + +









    +

    Decision trees, overarching aims

    -

    Thursday

    +

    We start here with the most basic algorithm, the so-called decision +tree. With this basic algorithm we can in turn build more complex +networks, spanning from homogeneous and heterogenous forests (bagging, +random forests and more) to one of the most popular supervised +algorithms nowadays, the extreme gradient boosting, or just +XGBoost. But let us start with the simplest possible ingredient. +

    -

    -Bagging, voting and random forests. -The material on bagging and voting is a repeat from last week and can be found in the slides from week 44. -We repeat here the voting approach since this will serve as a motivation for boosting methods later. +

    Decision trees are supervised learning algorithms used for both, +classification and regression tasks. +

    + +

    The main idea of decision trees +is to find those descriptive features which contain the most +information regarding the target feature and then split the dataset +along the values of these features such that the target feature values +for the resulting underlying datasets are as pure as possible. +

    + +

    The descriptive features which reproduce best the target/output features are normally said +to be the most informative ones. The process of finding the most +informative feature is done until we accomplish a stopping criteria +where we then finally end up in so called leaf nodes. +

    -











    +

    Basics of a tree

    -

    Why Voting?

    +

    A decision tree is typically divided into a root node, the interior nodes, +and the final leaf nodes or just leaves. These entities are then connected by so-called branches. +

    +

    The leaf nodes +contain the predictions we will make for new query instances presented +to our trained model. This is possible since the model has +learned the underlying structure of the training data and hence can, +given some assumptions, make predictions about the target feature value +(class) of unseen query instances. +

    + +









    +

    A Sketch of a Tree, Regression problem

    + + + +









    +

    A Sketch of a Tree, Classification problem

    + + + +









    +

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    + +

    +
    +

    +
    +

    + +

    This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches.

    + +









    +

    General Features

    + +

    The overarching approach to decision trees is a top-down approach.

    + +
      +
    • A leaf provides the classification of a given instance.
    • +
    • A node specifies a test of some attribute of the instance.
    • +
    • A branch corresponds to a possible values of an attribute.
    • +
    • An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.
    • +
    +

    This process is then repeated for the subtree rooted at the new +node. +

    + +









    +

    How do we set it up?

    + +

    In simplified terms, the process of training a decision tree and +predicting the target features of query instances is as follows: +

    + +
      +
    1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature
    2. +
    3. Train the decision tree model by continuously splitting the target feature along the values of the descriptive features using a measure of information gain during the training process
    4. +
    5. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the predictions we want to make for new query instances
    6. +
    7. Show query instances to the tree and run down the tree until we arrive at leaf nodes
    8. +
    +

    Then we are essentially done!

    + +









    +

    Decision trees and Regression

    + + +
    +
    +
    +
    +
    +
    import numpy as np
    +import matplotlib.pyplot as plt
    +from sklearn.preprocessing import PolynomialFeatures
    +from sklearn.linear_model import LinearRegression
    +
    +steps=250
    +
    +distance=0
    +x=0
    +distance_list=[]
    +steps_list=[]
    +while x<steps:
    +    distance+=np.random.randint(-1,2)
    +    distance_list.append(distance)
    +    x+=1
    +    steps_list.append(x)
    +plt.plot(steps_list,distance_list, color='green', label="Random Walk Data")
    +
    +steps_list=np.asarray(steps_list)
    +distance_list=np.asarray(distance_list)
    +
    +X=steps_list[:,np.newaxis]
    +
    +#Polynomial fits
    +
    +#Degree 2
    +poly_features=PolynomialFeatures(degree=2, include_bias=False)
    +X_poly=poly_features.fit_transform(X)
    +
    +lin_reg=LinearRegression()
    +poly_fit=lin_reg.fit(X_poly,distance_list)
    +b=lin_reg.coef_
    +c=lin_reg.intercept_
    +print ("2nd degree coefficients:")
    +print ("zero power: ",c)
    +print ("first power: ", b[0])
    +print ("second power: ",b[1])
    +
    +z = np.arange(0, steps, .01)
    +z_mod=b[1]*z**2+b[0]*z+c
    +
    +fit_mod=b[1]*X**2+b[0]*X+c
    +plt.plot(z, z_mod, color='r', label="2nd Degree Fit")
    +plt.title("Polynomial Regression")
    +
    +plt.xlabel("Steps")
    +plt.ylabel("Distance")
    +
    +#Degree 10
    +poly_features10=PolynomialFeatures(degree=10, include_bias=False)
    +X_poly10=poly_features10.fit_transform(X)
    +
    +poly_fit10=lin_reg.fit(X_poly10,distance_list)
    +
    +y_plot=poly_fit10.predict(X_poly10)
    +plt.plot(X, y_plot, color='black', label="10th Degree Fit")
    +
    +plt.legend()
    +plt.show()
    +
    +
    +#Decision Tree Regression
    +from sklearn.tree import DecisionTreeRegressor
    +regr_1=DecisionTreeRegressor(max_depth=2)
    +regr_2=DecisionTreeRegressor(max_depth=5)
    +regr_3=DecisionTreeRegressor(max_depth=7)
    +regr_1.fit(X, distance_list)
    +regr_2.fit(X, distance_list)
    +regr_3.fit(X, distance_list)
    +
    +X_test = np.arange(0.0, steps, 0.01)[:, np.newaxis]
    +y_1 = regr_1.predict(X_test)
    +y_2 = regr_2.predict(X_test)
    +y_3=regr_3.predict(X_test)
    +
    +# Plot the results
    +plt.figure()
    +plt.scatter(X, distance_list, s=2.5, c="black", label="data")
    +plt.plot(X_test, y_1, color="red",
    +         label="max_depth=2", linewidth=2)
    +plt.plot(X_test, y_2, color="green", label="max_depth=5", linewidth=2)
    +plt.plot(X_test, y_3, color="m", label="max_depth=7", linewidth=2)
    +
    +plt.xlabel("Data")
    +plt.ylabel("Darget")
    +plt.title("Decision Tree Regression")
    +plt.legend()
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Building a tree, regression

    + +

    There are mainly two steps

    +
      +
    1. We split the predictor space (the set of possible values \( x_1,x_2,\dots, x_p \)) into \( J \) distinct and non-non-overlapping regions, \( R_1,R_2,\dots,R_J \).
    2. +
    3. For every observation that falls into the region \( R_j \) , we make the same prediction, which is simply the mean of the response values for the training observations in \( R_j \).
    4. +
    +

    How do we construct the regions \( R_1,\dots,R_J \)? In theory, the +regions could have any shape. However, we choose to divide the +predictor space into high-dimensional rectangles, or boxes, for +simplicity and for ease of interpretation of the resulting predictive +model. The goal is to find boxes \( R_1,\dots,R_J \) that minimize the +MSE, given by +

    + +$$ +\sum_{j=1}^J\sum_{i\in R_j}(y_i-\overline{y}_{R_j})^2, +$$ + +

    where \( \overline{y}_{R_j} \) is the mean response for the training observations +within box \( j \). +

    + +









    +

    A top-down approach, recursive binary splitting

    + +

    Unfortunately, it is computationally infeasible to consider every +possible partition of the feature space into \( J \) boxes. The common +strategy is to take a top-down approach +

    + +

    The approach is top-down because it begins at the top of the tree (all +observations belong to a single region) and then successively splits +the predictor space; each split is indicated via two new branches +further down on the tree. It is greedy because at each step of the +tree-building process, the best split is made at that particular step, +rather than looking ahead and picking a split that will lead to a +better tree in some future step. +

    + +









    +

    Making a tree

    + +

    In order to implement the recursive binary splitting we start by selecting +the predictor \( x_j \) and a cutpoint \( s \) that splits the predictor space into two regions \( R_1 \) and \( R_2 \) +

    +$$ +\left\{X\vert x_j < s\right\}, +$$ + +

    and

    +$$ +\left\{X\vert x_j \geq s\right\}, +$$ + +

    so that we obtain the lowest MSE, that is

    +$$ +\sum_{i:x_i\in R_j}(y_i-\overline{y}_{R_1})^2+\sum_{i:x_i\in R_2}(y_i-\overline{y}_{R_2})^2, +$$ + +

    which we want to minimize by considering all predictors +\( x_1,x_2,\dots,x_p \). We consider also all possible values of \( s \) for +each predictor. These values could be determined by randomly assigned +numbers or by starting at the midpoint and then proceed till we find +an optimal value. +

    + +

    For any \( j \) and \( s \), we define the pair of half-planes where +\( \overline{y}_{R_1} \) is the mean response for the training +observations in \( R_1(j,s) \), and \( \overline{y}_{R_2} \) is the mean +response for the training observations in \( R_2(j,s) \). +

    + +

    Finding the values of \( j \) and \( s \) that minimize the above equation can be +done quite quickly, especially when the number of features \( p \) is not +too large. +

    + +

    Next, we repeat the process, looking +for the best predictor and best cutpoint in order to split the data +further so as to minimize the MSE within each of the resulting +regions. However, this time, instead of splitting the entire predictor +space, we split one of the two previously identified regions. We now +have three regions. Again, we look to split one of these three regions +further, so as to minimize the MSE. The process continues until a +stopping criterion is reached; for instance, we may continue until no +region contains more than five observations. +

    + + +

    Pruning the tree

    + +

    The above procedure is rather straightforward, but leads often to +overfitting and unnecessarily large and complicated trees. The basic +idea is to grow a large tree \( T_0 \) and then prune it back in order to +obtain a subtree. A smaller tree with fewer splits (fewer regions) can +lead to smaller variance and better interpretation at the cost of a +little more bias. +

    + +

    The so-called Cost complexity pruning algorithm gives us a +way to do just this. Rather than considering every possible subtree, +we consider a sequence of trees indexed by a nonnegative tuning +parameter \( \alpha \). +

    + +

    Read more at the following Scikit-Learn link on pruning.

    + +









    +

    Cost complexity pruning

    + +

    For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that

    +$$ +\sum_{m=1}^{\overline{T}}\sum_{i:x_i\in R_m}(y_i-\overline{y}_{R_m})^2+\alpha\overline{T}, +$$ + +

    is as small as possible. Here \( \overline{T} \) is +the number of terminal nodes of the tree \( T \) , \( R_m \) is the +rectangle (i.e. the subset of predictor space) corresponding to the \( m \)-th terminal node. +

    + +

    The tuning parameter \( \alpha \) controls a trade-off between the subtree’s +complexity and its fit to the training data. When \( \alpha = 0 \), then the +subtree \( T \) will simply equal \( T_0 \), +because then the above equation just measures the +training error. +However, as \( \alpha \) increases, there is a price to pay for +having a tree with many terminal nodes. The above equation will +tend to be minimized for a smaller subtree. +

    + +

    It turns out that as we increase \( \alpha \) from zero +branches get pruned from the tree in a nested and predictable fashion, +so obtaining the whole sequence of subtrees as a function of \( \alpha \) is +easy. We can select a value of \( \alpha \) using a validation set or using +cross-validation. We then return to the full data set and obtain the +subtree corresponding to \( \alpha \). +

    + +









    +

    Schematic Regression Procedure

    + +
    +Building a Regression Tree

    -The idea behind boosting, and voting as well can be phrased as follows: + +

      +
    1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.
    2. +
    3. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of \( \alpha \).
    4. +
    5. Use for example \( K \)-fold cross-validation to choose \( \alpha \). Divide the training observations into \( K \) folds. For each \( k=1,2,\dots,K \) we:
    6. +
        +
      • repeat steps 1 and 2 on all but the \( k \)-th fold of the training data.
      • +
      • Then we valuate the mean squared prediction error on the data in the left-out \( k \)-th fold, as a function of \( \alpha \).
      • +
      • Finally we average the results for each value of \( \alpha \), and pick \( \alpha \) to minimize the average error.
      • +
      +
    7. Return the subtree from Step 2 that corresponds to the chosen value of \( \alpha \).
    8. +
    +
    + + +









    +

    A Classification Tree

    + +

    A classification tree is very similar to a regression tree, except +that it is used to predict a qualitative response rather than a +quantitative one. Recall that for a regression tree, the predicted +response for an observation is given by the mean response of the +training observations that belong to the same terminal node. In +contrast, for a classification tree, we predict that each observation +belongs to the most commonly occurring class of training observations +in the region to which it belongs. In interpreting the results of a +classification tree, we are often interested not only in the class +prediction corresponding to a particular terminal node region, but +also in the class proportions among the training observations that +fall into that region. +

    + +









    +

    Growing a classification tree

    + +

    The task of growing a +classification tree is quite similar to the task of growing a +regression tree. Just as in the regression setting, we use recursive +binary splitting to grow a classification tree. However, in the +classification setting, the MSE cannot be used as a criterion for making +the binary splits. A natural alternative to MSE is the classification +error rate. Since we plan to assign an observation in a given region +to the most commonly occurring error rate class of training +observations in that region, the classification error rate is simply +the fraction of the training observations in that region that do not +belong to the most common class. +

    + +

    When building a classification tree, either the Gini index or the +entropy are typically used to evaluate the quality of a particular +split, since these two approaches are more sensitive to node purity +than is the classification error rate. +

    + +









    +

    Classification tree, how to split nodes

    + +

    If our targets are the outcome of a classification process that takes +for example \( k=1,2,\dots,K \) values, the only thing we need to think of +is to set up the splitting criteria for each node. +

    + +

    We define a PDF \( p_{mk} \) that represents the number of observations of +a class \( k \) in a region \( R_m \) with \( N_m \) observations. We represent +this likelihood function in terms of the proportion \( I(y_i=k) \) of +observations of this class in the region \( R_m \) as +

    + +$$ +p_{mk} = \frac{1}{N_m}\sum_{x_i\in R_m}I(y_i=k). +$$ + +

    We let \( p_{mk} \) represent the majority class of observations in region +\( m \). The three most common ways of splitting a node are given by +

    + +
      +
    • Misclassification error
    • +
    +$$ +p_{mk} = \frac{1}{N_m}\sum_{x_i\in R_m}I(y_i\ne k) = 1-p_{mk}. +$$ + +
      +
    • Gini index \( g \)
    • +
    +$$ +g = \sum_{k=1}^K p_{mk}(1-p_{mk}). +$$ + +
      +
    • Information entropy or just entropy \( s \)
    • +
    +$$ +s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}. +$$ + + +









    +

    Visualizing the Tree, Classification

    + + +
    +
    +
    +
    +
    +
    import os
    +from sklearn.datasets import load_breast_cancer
    +from sklearn.tree import DecisionTreeClassifier
    +from sklearn.model_selection import train_test_split
    +from sklearn.metrics import confusion_matrix
    +from sklearn.tree import export_graphviz
    +
    +from IPython.display import Image 
    +from pydot import graph_from_dot_data
    +import pandas as pd
    +import numpy as np
    +
    +
    +cancer = load_breast_cancer()
    +X = pd.DataFrame(cancer.data, columns=cancer.feature_names)
    +print(X)
    +y = pd.Categorical.from_codes(cancer.target, cancer.target_names)
    +y = pd.get_dummies(y)
    +print(y)
    +X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)
    +tree_clf = DecisionTreeClassifier(max_depth=5)
    +tree_clf.fit(X_train, y_train)
    +
    +export_graphviz(
    +    tree_clf,
    +    out_file="DataFiles/cancer.dot",
    +    feature_names=cancer.feature_names,
    +    class_names=cancer.target_names,
    +    rounded=True,
    +    filled=True
    +)
    +cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
    +os.system(cmd)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Visualizing the Tree, The Moons

    + + +
    +
    +
    +
    +
    +
    # Common imports
    +import numpy as np
    +from sklearn.model_selection import  train_test_split 
    +from sklearn.tree import DecisionTreeClassifier
    +from sklearn.datasets import make_moons
    +from sklearn.tree import export_graphviz
    +from pydot import graph_from_dot_data
    +import pandas as pd
    +import os
    +
    +np.random.seed(42)
    +X, y = make_moons(n_samples=100, noise=0.25, random_state=53)
    +X_train, X_test, y_train, y_test = train_test_split(X,y,random_state=0)
    +tree_clf = DecisionTreeClassifier(max_depth=5)
    +tree_clf.fit(X_train, y_train)
    +
    +export_graphviz(
    +    tree_clf,
    +    out_file="DataFiles/moons.dot",
    +    rounded=True,
    +    filled=True
    +)
    +cmd = 'dot -Tpng DataFiles/moons.dot -o DataFiles/moons.png'
    +os.system(cmd)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Other ways of visualizing the trees

    + +

    Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data.

    + + + +
    +
    +
    +
    +
    +
    from sklearn.datasets import load_iris
    +from sklearn import tree
    +X, y = load_iris(return_X_y=True)
    +tree_clf = tree.DecisionTreeClassifier()
    +tree_clf = tree_clf.fit(X, y)
    +# and then plot the tree
    +tree.plot_tree(tree_clf) 
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Printing out as text

    + +

    Alternatively, the tree can also be exported in textual format with the function exporttext. +This method doesn’t require the installation of external libraries and is more compact: +

    + + + +
    +
    +
    +
    +
    +
    from sklearn.datasets import load_iris
    +from sklearn.tree import DecisionTreeClassifier
    +from sklearn.tree import export_text
    +iris = load_iris()
    +decision_tree = DecisionTreeClassifier(random_state=0, max_depth=2)
    +decision_tree = decision_tree.fit(iris.data, iris.target)
    +r = export_text(decision_tree, feature_names=iris['feature_names'])
    +print(r)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Algorithms for Setting up Decision Trees

    + +

    Two algorithms stand out in the set up of decision trees:

    +
      +
    1. The CART (Classification And Regression Tree) algorithm for both classification and regression
    2. +
    3. The ID3 algorithm based on the computation of the information gain for classification
    4. +
    +

    We discuss both algorithms with applications here. The popular library +Scikit-Learn uses the CART algorithm. For classification problems +you can use either the gini index or the entropy to split a tree +in two branches. +

    + +









    +

    The CART algorithm for Classification

    + +

    For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). +This could be for example a threshold set by a number below a certain circumference of a malign tumor. +

    + +

    How do we find these two quantities? +We search for the pair \( (k,t_k) \) that produces the purest subset using for example the gini factor \( G \). +The cost function it tries to minimize is then +

    +$$ +C(k,t_k) = \frac{m_{\mathrm{left}}}{m}G_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}G_{\mathrm{right}}, +$$ + +

    where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) + is the number of instances in the left/right subset +

    + +

    Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets +and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the +\( max\_depth \) hyperparameter), or if it cannot find a split that will reduce impurity. A few other +hyperparameters control additional stopping conditions such as the \( min\_samples\_split \), +\( min\_samples\_leaf \), \( min\_weight\_fraction\_leaf \), and \( max\_leaf\_nodes \). +

    + +









    +

    The CART algorithm for Regression

    + +

    The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the +training set in a way that minimizes say the gini or entropy impurity, it now tries to split the training set in a way that minimizes our well-known mean-squared error (MSE). The cost function is now +

    +$$ +C(k,t_k) = \frac{m_{\mathrm{left}}}{m}\mathrm{MSE}_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}\mathrm{MSE}_{\mathrm{right}}. +$$ + +

    Here the MSE for a specific node is defined as

    +$$ +\mathrm{MSE}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}(\overline{y}_{\mathrm{node}}-y_i)^2, +$$ + +

    with

    +$$ +\overline{y}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}y_i, +$$ + +

    the mean value of all observations in a specific node.

    + +

    Without any regularization, the regression task for decision trees, +just like for classification tasks, is prone to overfitting. +

    + +









    +

    Computing the Gini index

    + +

    The example we will look at is a classical one in many Machine +Learning applications. Based on various meteorological features, we +have several so-called attributes which decide whether we at the end +will do some outdoor activity like skiing, going for a bike ride etc +etc. The table here contains the feautures outlook, temperature, +humidity and wind. The target or output is whether we ride +(True=1) or whether we do something else that day (False=0). The +attributes for each feature are then sunny, overcast and rain for the +outlook, hot, cold and mild for temperature, high and normal for +humidity and weak and strong for wind. +

    + +

    The table here summarizes the various attributes and

    + + + + + + + + + + + + + + + + + + + + +
    Day Outlook Temperature Humidity Wind Ride
    1 Sunny Hot High Weak 0
    2 Sunny Hot High Strong 1
    3 Overcast Hot High Weak 1
    4 Rain Mild High Weak 1
    5 Rain Cool Normal Weak 1
    6 Rain Cool Normal Strong 0
    7 Overcast Cool Normal Strong 1
    8 Sunny Mild High Weak 0
    9 Sunny Cool Normal Weak 1
    10 Rain Mild Normal Weak 1
    11 Sunny Mild Normal Strong 1
    12 Overcast Mild High Strong 1
    13 Overcast Hot Normal Weak 1
    14 Rain Mild High Strong 0
    + +









    +

    Simple Python Code to read in Data and perform Classification

    + + + +
    +
    +
    +
    +
    +
    # Common imports
    +import numpy as np
    +import pandas as pd
    +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')
    +
    +infile = open(data_path("rideclass.csv"),'r')
    +
    +# Read the experimental data with Pandas
    +from IPython.display import display
    +ridedata = pd.read_csv(infile,names = ('Outlook','Temperature','Humidity','Wind','Ride'))
    +ridedata = pd.DataFrame(ridedata)
    +
    +# Features and targets
    +X = ridedata.loc[:, ridedata.columns != 'Ride'].values
    +y = ridedata.loc[:, ridedata.columns == 'Ride'].values
    +
    +# Create the encoder.
    +encoder = OneHotEncoder(handle_unknown="ignore")
    +# Assume for simplicity all features are categorical.
    +encoder.fit(X)    
    +# Apply the encoder.
    +X = encoder.transform(X)
    +print(X)
    +# Then do a Classification tree
    +tree_clf = DecisionTreeClassifier(max_depth=2)
    +tree_clf.fit(X, y)
    +print("Train set accuracy with Decision Tree: {:.2f}".format(tree_clf.score(X,y)))
    +#transfer to a decision tree graph
    +export_graphviz(
    +    tree_clf,
    +    out_file="DataFiles/ride.dot",
    +    rounded=True,
    +    filled=True
    +)
    +cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
    +os.system(cmd)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Computing the Gini Factor

    + +

    The above functions (gini, entropy and misclassification error) are +important components of the so-called CART algorithm. We will discuss +this algorithm below after we have discussed the information gain +algorithm ID3. +

    + +

    In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc.

    + + + +
    +
    +
    +
    +
    +
    # Split a dataset based on an attribute and an attribute value
    +def test_split(index, value, dataset):
    +	left, right = list(), list()
    +	for row in dataset:
    +		if row[index] < value:
    +			left.append(row)
    +		else:
    +			right.append(row)
    +	return left, right
    + 
    +# Calculate the Gini index for a split dataset
    +def gini_index(groups, classes):
    +	# count all samples at split point
    +	n_instances = float(sum([len(group) for group in groups]))
    +	# sum weighted Gini index for each group
    +	gini = 0.0
    +	for group in groups:
    +		size = float(len(group))
    +		# avoid divide by zero
    +		if size == 0:
    +			continue
    +		score = 0.0
    +		# score the group based on the score for each class
    +		for class_val in classes:
    +			p = [row[-1] for row in group].count(class_val) / size
    +			score += p * p
    +		# weight the group score by its relative size
    +		gini += (1.0 - score) * (size / n_instances)
    +	return gini
    +
    +# Select the best split point for a dataset
    +def get_split(dataset):
    +	class_values = list(set(row[-1] for row in dataset))
    +	b_index, b_value, b_score, b_groups = 999, 999, 999, None
    +	for index in range(len(dataset[0])-1):
    +		for row in dataset:
    +			groups = test_split(index, row[index], dataset)
    +			gini = gini_index(groups, class_values)
    +			print('X%d < %.3f Gini=%.3f' % ((index+1), row[index], gini))
    +			if gini < b_score:
    +				b_index, b_value, b_score, b_groups = index, row[index], gini, groups
    +	return {'index':b_index, 'value':b_value, 'groups':b_groups}
    + 
    +dataset = [[0,0,0,0,0],
    +            [0,0,0,1,1],
    +            [1,0,0,0,1],
    +            [2,1,0,0,1],
    +            [2,2,1,0,1],
    +            [2,2,1,1,0],
    +            [1,2,1,1,1],
    +            [0,1,0,0,0],
    +            [0,2,1,0,1],
    +            [2,1,1,0,1],
    +            [0,1,1,1,1],
    +            [1,1,0,1,1],
    +            [1,0,1,0,1],
    +            [2,1,0,1,0]]
    +
    +split = get_split(dataset)
    +print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Entropy and the ID3 algorithm

    + +

    The ID3 algorithm learns decision trees by constructing +them in a top down way, beginning with the question which attribute should be tested at the root of the tree? +

    + +
      +
    1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.
    2. +
    3. The best attribute is selected and used as the test at the root node of the tree.
    4. +
    5. A descendant of the root node is then created for each possible value of this attribute.
    6. +
    7. Training examples are sorted to the appropriate descendant node.
    8. +
    9. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.
    10. +
    11. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices.
    12. +
    +

    The ID3 algorithm selects which attribute to test at each node in the +tree. +

    + +

    We would like to select the attribute that is most useful for classifying +examples. +

    + +

    What is a good quantitative measure of the worth of an attribute?

    + +

    Information gain measures how well a given attribute separates the +training examples according to their target classification. +

    + +

    The ID3 algorithm uses this information gain measure to select among the candidate +attributes at each step while growing the tree. +

    + +









    +

    Cancer Data again now with Decision Trees and other Methods

    + + +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
    +import numpy as np
    +from sklearn.model_selection import  train_test_split 
    +from sklearn.datasets import load_breast_cancer
    +from sklearn.svm import SVC
    +from sklearn.linear_model import LogisticRegression
    +from sklearn.tree import DecisionTreeClassifier
    +
    +# Load the data
    +cancer = load_breast_cancer()
    +
    +X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)
    +print(X_train.shape)
    +print(X_test.shape)
    +# Logistic Regression
    +logreg = LogisticRegression(solver='lbfgs')
    +logreg.fit(X_train, y_train)
    +print("Test set accuracy with Logistic Regression: {:.2f}".format(logreg.score(X_test,y_test)))
    +# Support vector machine
    +svm = SVC(gamma='auto', C=100)
    +svm.fit(X_train, y_train)
    +print("Test set accuracy with SVM: {:.2f}".format(svm.score(X_test,y_test)))
    +# Decision Trees
    +deep_tree_clf = DecisionTreeClassifier(max_depth=None)
    +deep_tree_clf.fit(X_train, y_train)
    +print("Test set accuracy with Decision Trees: {:.2f}".format(deep_tree_clf.score(X_test,y_test)))
    +#now scale the data
    +from sklearn.preprocessing import StandardScaler
    +scaler = StandardScaler()
    +scaler.fit(X_train)
    +X_train_scaled = scaler.transform(X_train)
    +X_test_scaled = scaler.transform(X_test)
    +# Logistic Regression
    +logreg.fit(X_train_scaled, y_train)
    +print("Test set accuracy Logistic Regression with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test)))
    +# Support Vector Machine
    +svm.fit(X_train_scaled, y_train)
    +print("Test set accuracy SVM with scaled data: {:.2f}".format(logreg.score(X_test_scaled,y_test)))
    +# Decision Trees
    +deep_tree_clf.fit(X_train_scaled, y_train)
    +print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Another example, the moons again

    + + +
    +
    +
    +
    +
    +
    from __future__ import division, print_function, unicode_literals
    +
    +# Common imports
    +import numpy as np
    +import os
    +
    +# to make this notebook's output stable across runs
    +np.random.seed(42)
    +
    +# To plot pretty figures
    +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
    +
    +
    +from sklearn.svm import SVC
    +from sklearn import datasets
    +from sklearn.tree import DecisionTreeClassifier
    +from sklearn.datasets import make_moons
    +from sklearn.tree import export_graphviz
    +
    +Xm, ym = make_moons(n_samples=100, noise=0.25, random_state=53)
    +
    +deep_tree_clf1 = DecisionTreeClassifier(random_state=42)
    +deep_tree_clf2 = DecisionTreeClassifier(min_samples_leaf=4, random_state=42)
    +deep_tree_clf1.fit(Xm, ym)
    +deep_tree_clf2.fit(Xm, ym)
    +
    +
    +def plot_decision_boundary(clf, X, y, axes=[0, 7.5, 0, 3], iris=True, legend=False, plot_training=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 not iris:
    +        custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50'])
    +        plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8)
    +    if plot_training:
    +        plt.plot(X[:, 0][y==0], X[:, 1][y==0], "yo", label="Iris-Setosa")
    +        plt.plot(X[:, 0][y==1], X[:, 1][y==1], "bs", label="Iris-Versicolor")
    +        plt.plot(X[:, 0][y==2], X[:, 1][y==2], "g^", label="Iris-Virginica")
    +        plt.axis(axes)
    +    if iris:
    +        plt.xlabel("Petal length", fontsize=14)
    +        plt.ylabel("Petal width", fontsize=14)
    +    else:
    +        plt.xlabel(r"$x_1$", fontsize=18)
    +        plt.ylabel(r"$x_2$", fontsize=18, rotation=0)
    +    if legend:
    +        plt.legend(loc="lower right", fontsize=14)
    +plt.figure(figsize=(11, 4))
    +plt.subplot(121)
    +plot_decision_boundary(deep_tree_clf1, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
    +plt.title("No restrictions", fontsize=16)
    +plt.subplot(122)
    +plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
    +plt.title("min_samples_leaf = {}".format(deep_tree_clf2.min_samples_leaf), fontsize=14)
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Playing around with regions

    + + +
    +
    +
    +
    +
    +
    np.random.seed(6)
    +Xs = np.random.rand(100, 2) - 0.5
    +ys = (Xs[:, 0] > 0).astype(np.float32) * 2
    +
    +angle = np.pi/4
    +rotation_matrix = np.array([[np.cos(angle), -np.sin(angle)], [np.sin(angle), np.cos(angle)]])
    +Xsr = Xs.dot(rotation_matrix)
    +
    +tree_clf_s = DecisionTreeClassifier(random_state=42)
    +tree_clf_s.fit(Xs, ys)
    +tree_clf_sr = DecisionTreeClassifier(random_state=42)
    +tree_clf_sr.fit(Xsr, ys)
    +
    +plt.figure(figsize=(11, 4))
    +plt.subplot(121)
    +plot_decision_boundary(tree_clf_s, Xs, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
    +plt.subplot(122)
    +plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
    +
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Regression trees

    + + +
    +
    +
    +
    +
    +
    # Quadratic training set + noise
    +np.random.seed(42)
    +m = 200
    +X = np.random.rand(m, 1)
    +y = 4 * (X - 0.5) ** 2
    +y = y + np.random.randn(m, 1) / 10
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    from sklearn.tree import DecisionTreeRegressor
    +
    +tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)
    +tree_reg.fit(X, y)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Final regressor code

    + + +
    +
    +
    +
    +
    +
    from sklearn.tree import DecisionTreeRegressor
    +
    +tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)
    +tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)
    +tree_reg1.fit(X, y)
    +tree_reg2.fit(X, y)
    +
    +def plot_regression_predictions(tree_reg, X, y, axes=[0, 1, -0.2, 1], ylabel="$y$"):
    +    x1 = np.linspace(axes[0], axes[1], 500).reshape(-1, 1)
    +    y_pred = tree_reg.predict(x1)
    +    plt.axis(axes)
    +    plt.xlabel("$x_1$", fontsize=18)
    +    if ylabel:
    +        plt.ylabel(ylabel, fontsize=18, rotation=0)
    +    plt.plot(X, y, "b.")
    +    plt.plot(x1, y_pred, "r.-", linewidth=2, label=r"$\hat{y}$")
    +
    +plt.figure(figsize=(11, 4))
    +plt.subplot(121)
    +plot_regression_predictions(tree_reg1, X, y)
    +for split, style in ((0.1973, "k-"), (0.0917, "k--"), (0.7718, "k--")):
    +    plt.plot([split, split], [-0.2, 1], style, linewidth=2)
    +plt.text(0.21, 0.65, "Depth=0", fontsize=15)
    +plt.text(0.01, 0.2, "Depth=1", fontsize=13)
    +plt.text(0.65, 0.8, "Depth=1", fontsize=13)
    +plt.legend(loc="upper center", fontsize=18)
    +plt.title("max_depth=2", fontsize=14)
    +
    +plt.subplot(122)
    +plot_regression_predictions(tree_reg2, X, y, ylabel=None)
    +for split, style in ((0.1973, "k-"), (0.0917, "k--"), (0.7718, "k--")):
    +    plt.plot([split, split], [-0.2, 1], style, linewidth=2)
    +for split in (0.0458, 0.1298, 0.2873, 0.9040):
    +    plt.plot([split, split], [-0.2, 1], "k:", linewidth=1)
    +plt.text(0.3, 0.5, "Depth=2", fontsize=13)
    +plt.title("max_depth=3", fontsize=14)
    +
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    tree_reg1 = DecisionTreeRegressor(random_state=42)
    +tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)
    +tree_reg1.fit(X, y)
    +tree_reg2.fit(X, y)
    +
    +x1 = np.linspace(0, 1, 500).reshape(-1, 1)
    +y_pred1 = tree_reg1.predict(x1)
    +y_pred2 = tree_reg2.predict(x1)
    +
    +plt.figure(figsize=(11, 4))
    +
    +plt.subplot(121)
    +plt.plot(X, y, "b.")
    +plt.plot(x1, y_pred1, "r.-", linewidth=2, label=r"$\hat{y}$")
    +plt.axis([0, 1, -0.2, 1.1])
    +plt.xlabel("$x_1$", fontsize=18)
    +plt.ylabel("$y$", fontsize=18, rotation=0)
    +plt.legend(loc="upper center", fontsize=18)
    +plt.title("No restrictions", fontsize=14)
    +
    +plt.subplot(122)
    +plt.plot(X, y, "b.")
    +plt.plot(x1, y_pred2, "r.-", linewidth=2, label=r"$\hat{y}$")
    +plt.axis([0, 1, -0.2, 1.1])
    +plt.xlabel("$x_1$", fontsize=18)
    +plt.title("min_samples_leaf={}".format(tree_reg2.min_samples_leaf), fontsize=14)
    +
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Pros and cons of trees, pros

    + +
      +
    • White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines)
    • +
    • Trees are very easy to explain to people. In fact, they are even easier to explain than linear regression!
    • +
    • No feature normalization needed
    • +
    • Tree models can handle both continuous and categorical data (Classification and Regression Trees)
    • +
    • Can model nonlinear relationships
    • +
    • Can model interactions between the different descriptive features
    • +
    • Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)
    • +
    +









    +

    Disadvantages

    + +
      +
    • Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches
    • +
    • If continuous features are used the tree may become quite large and hence less interpretable
    • +
    • Decision trees are prone to overfit the training data and hence do not well generalize the data if no stopping criteria or improvements like pruning, boosting or bagging are implemented
    • +
    • Small changes in the data may lead to a completely different tree. This issue can be addressed by using ensemble methods like bagging, boosting or random forests
    • +
    • Unbalanced datasets where some target feature values occur much more frequently than others may lead to biased trees since the frequently occurring feature values are preferred over the less frequently occurring ones.
    • +
    • If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data
    • +
    • Features with many levels may be preferred over features with less levels since for them it is more easy to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain
    • +
    +

    However, by aggregating many decision trees, using methods like +bagging, random forests, and boosting, the predictive performance of +trees can be substantially improved. +

    + +









    +

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    + +

    As stated above and seen in many of the examples discussed here about +a single decision tree, we often end up overfitting our training +data. This normally means that we have a high variance. Can we reduce +the variance of a statistical learning method? +

    + +

    This leads us to a set of different methods that can combine different +machine learning algorithms or just use one of them to construct +forests and jungles of trees, homogeneous ones or heterogenous +ones. These methods are recognized by different names which we will +try to explain here. These are +

    + +
      +
    1. Voting classifiers
    2. +
    3. Bagging and Pasting
    4. +
    5. Random forests
    6. +
    7. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)
    8. +
    +

    We discuss these methods here.

    + +









    +

    An Overview of Ensemble Methods

    + +

    +
    +

    +
    +

    + +









    +

    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?

    + +

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

    -

    -The aim is to create a good classifier by combining several weak classifiers. +

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

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

    -

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

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

    -











    +

    Tossing coins

    -

    Tossing coins

    - -

    -The simplest case is a so-called voting ensemble. To illustrate this, +

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

    -

    -We can then state that the outcome is a clear majority of heads. If +

    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 +

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

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

    -











    +

    Standard imports first

    -

    Standard imports first

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     from IPython.display import Image 
     from pydot import graph_from_dot_data
     import pandas as pd
    @@ -271,15 +2383,32 @@ DATA_ID = "
     
     def save_fig(fig_id):
         plt.savefig(image_path(fig_id) + ".png", format='png')
    -
    -

    -









    +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -

    Simple Voting Example, head or tail

    -

    + +









    +

    Simple Voting Example, head or tail

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import matplotlib
     import matplotlib.pyplot as plt
    @@ -301,18 +2430,34 @@ plt.legend(loc=
     plt.axis([0, 10000, 0.42, 0.58])
     save_fig("votingsimple")
     plt.show()
    -
    -

    +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +









    +

    Using the Voting Classifier

    -

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

    +

    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.

    -
    from sklearn.model_selection import train_test_split
    +
    +
    +
    +
    +
    +
    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)
    @@ -354,16 +2499,33 @@ voting_clf.fit(X_train, y_train)
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Voting and Bagging

    -

    Voting and Bagging

    - -

    -

    from sklearn.model_selection import train_test_split
    +
    +
    +
    +
    +
    +
    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)
    @@ -381,21 +2543,51 @@ 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)
    +
    +
    +
    +
    +
    +
    log_clf = LogisticRegression(random_state=42)
     rnd_clf = RandomForestClassifier(random_state=42)
     svm_clf = SVC(probability=True, random_state=42)
     
    @@ -403,49 +2595,76 @@ 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)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Random forests

    -

    Random forests

    +

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

    -

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

    -As in bagging, we build a +

    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. +use only one of those \( m \) predictors. +

    -

    -A fresh sample of \( m \) predictors is +

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

    $$ m\approx \sqrt{p}. $$ -

    -In building a random forest, at +

    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. +a majority of the available predictors. +

    -

    -The reason for this is rather clever. Suppose that there is one very +

    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 @@ -457,41 +2676,36 @@ 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. +

    -











    +

    Random Forest Algorithm

    +

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

    -

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

    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. pick the best split point among the \( m \) features using for example the CART algorithm and create a new node
        3. split the node into daughter nodes
        -
      -
    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.
    -









    - -

    Random Forests Compared with other Methods on the Cancer Data

    -

    +

    Random Forests Compared with other Methods on the Cancer Data

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -557,362 +2771,374 @@ skplt.metrics.<
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -

    -Recall that the cumulative gains curve shows the percentage of the +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

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

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

    -











    - -

    Compare Bagging on Trees with Random Forests

    -

    +

    Compare Bagging on Trees with Random Forests

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

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Boosting, a Bird's Eye View

    -

    Boosting, a Bird's Eye View

    - -

    -The basic idea is to combine weak classifiers in order to create a good +

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

    -

    -This is done by applying in an iterative way a weak (or a standard +

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

    -











    +

    What is boosting? Additive Modelling/Iterative Fitting

    -

    What is boosting? Additive Modelling/Iterative Fitting

    - -

    -Boosting is a way of fitting an additive expansion in a set of +

    Boosting is a way of fitting an additive expansion in a set of elementary basis functions like for example some simple polynomials. Assume for example that we have a function +

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    -where \( \beta_m \) are the expansion parameters to be determined in a +

    where \( \beta_m \) are the expansion parameters to be determined in a minimization process and \( b(x;\gamma_m) \) are some simple functions of the multivariable parameter \( x \) which is characterized by the parameters \( \gamma_m \). +

    -

    -As an example, consider the Sigmoid function we used in logistic +

    As an example, consider the Sigmoid function we used in logistic regression. In that case, we can translate the function \( b(x;\gamma_m) \) into the Sigmoid function +

    $$ \sigma(t) = \frac{1}{1+\exp{(-t)}}, $$ -

    -where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and +

    where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and \( \gamma_1 \) were determined by the Logistic Regression fitting algorithm. +

    -

    -As another example, consider the cost function we defined for linear regression +

    As another example, consider the cost function we defined for linear regression

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -In this case the function \( f(x) \) was replaced by the design matrix +

    In this case the function \( f(x) \) was replaced by the design matrix \( \boldsymbol{X} \) and the unknown linear regression parameters \( \boldsymbol{\beta} \), that is \( \boldsymbol{f}=\boldsymbol{X}\boldsymbol{\beta} \). In linear regression we can simply invert a matrix and obtain the parameters \( \beta \) by +

    $$ \boldsymbol{\beta}=\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    -In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \). +

    In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \).

    -











    +

    Iterative Fitting, Regression and Squared-error Cost Function

    -

    Iterative Fitting, Regression and Squared-error Cost Function

    - -

    -The way we proceed is as follows (here we specialize to the squared-error cost function) +

    The way we proceed is as follows (here we specialize to the squared-error cost function)

    1. Establish a cost function, here \( {\cal C}(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f_M(x_i))^2 \) with \( f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m) \).
    2. Initialize with a guess \( f_0(x) \). It could be one or even zero or some random numbers.
    3. For \( m=1:M \) -
      1. minimize \( \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2 \) wrt \( \gamma \) and \( \beta \)
      2. This gives the optimal values \( \beta_m \) and \( \gamma_m \)
      3. Determine then the new values \( f_m(x)=f_{m-1}(x) +\beta_m b(x;\gamma_m) \)
      -
    - -We could use any of the algorithms we have discussed till now. If we +

    We could use any of the algorithms we have discussed till now. If we use trees, \( \gamma \) parameterizes the split variables and split points at the internal nodes, and the predictions at the terminal nodes. +

    -











    +

    Squared-Error Example and Iterative Fitting

    -

    Squared-Error Example and Iterative Fitting

    +

    To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.

    -

    -To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function. +

    For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \).

    -

    -For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \). - -

    -This means that for every iteration \( m \), we need to optimize +

    This means that for every iteration \( m \), we need to optimize

    $$ (\beta_m,\gamma_m) = \mathrm{argmin}_{\beta,\lambda}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2=\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta(1+\gamma x_i))^2. $$ -

    -We start our iteration by simply setting \( f_0(x)=0 \). +

    We start our iteration by simply setting \( f_0(x)=0 \). Taking the derivatives with respect to \( \beta \) and \( \gamma \) we obtain +

    $$ \frac{\partial {\cal C}}{\partial \beta} = -2\sum_{i}(1+\gamma x_i)(y_i-\beta(1+\gamma x_i))=0, $$ -and +

    and

    $$ \frac{\partial {\cal C}}{\partial \gamma} =-2\sum_{i}\beta x_i(y_i-\beta(1+\gamma x_i))=0. $$ -We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector) +

    We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector)

    $$ \gamma \boldsymbol{w}^T(\boldsymbol{y}-\beta\gamma \boldsymbol{w})=0, $$ -which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have +

    which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have

    $$ \beta\gamma \boldsymbol{x}^T(\boldsymbol{y}-\beta(1+\gamma \boldsymbol{x}))=0, $$ -

    -which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting -for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

    which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting +for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

    -

    -The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as -\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

    The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as +\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

    -











    +

    Iterative Fitting, Classification and AdaBoost

    -

    Iterative Fitting, Classification and AdaBoost

    - -

    -Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of +

    Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. We define a classification function \( G(x) \) which produces a prediction taking one or the other of the two values \( \{-1,1\} \). +

    -

    -The error rate of the training sample is then +

    The error rate of the training sample is then

    $$ \mathrm{\overline{err}}=\frac{1}{n} \sum_{i=0}^{n-1} I(y_i\ne G(x_i)). $$ -

    -The iterative procedure starts with defining a weak classifier whose +

    The iterative procedure starts with defining a weak classifier whose error rate is barely better than random guessing. The iterative procedure in boosting is to sequentially apply a weak classification algorithm to repeatedly modified versions of the data producing a sequence of weak classifiers \( G_m(x) \). +

    -

    -Here we will express our function \( f(x) \) in terms of \( G(x) \). That is +

    Here we will express our function \( f(x) \) in terms of \( G(x) \). That is

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -will be a function of +

    will be a function of

    $$ G_M(x) = \mathrm{sign} \sum_{i=1}^M \alpha_m G_m(x). $$ -

    +









    +

    Adaptive Boosting, AdaBoost

    -

    Adaptive Boosting, AdaBoost

    - -

    -In our iterative procedure we define thus +

    In our iterative procedure we define thus

    $$ f_m(x) = f_{m-1}(x)+\beta_mG_m(x). $$ -

    -The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the +

    The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the exponential cost/loss function defined as +

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}\exp{(-y_i(f_{m-1}(x_i)+\beta G(x_i))}. $$ -

    -We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. +

    We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. This is normally done in two steps. Let us however first rewrite the cost function as +

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}w_i^{m}\exp{(-y_i\beta G(x_i))}, $$ -where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \). +

    where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \).

    -











    +

    Building up AdaBoost

    -

    Building up AdaBoost

    - -

    -First, for any \( \beta > 0 \), we optimize \( G \) by setting +

    First, for any \( \beta > 0 \), we optimize \( G \) by setting

    $$ G_m(x) = \mathrm{sign} \sum_{i=0}^{n-1} w_i^m I(y_i \ne G_(x_i)), $$ -which is the classifier that minimizes the weighted error rate in predicting \( y \). +

    which is the classifier that minimizes the weighted error rate in predicting \( y \).

    -

    -We can do this by rewriting +

    We can do this by rewriting

    $$ \exp{-(\beta)}\sum_{y_i=G(x_i)}w_i^m+\exp{(\beta)}\sum_{y_i\ne G(x_i)}w_i^m, $$ -which can be rewritten as +

    which can be rewritten as

    $$ (\exp{(\beta)}-\exp{-(\beta)})\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i))+\exp{(-\beta)}\sum_{i=0}^{n-1}w_i^m=0, $$ -which leads to +

    which leads to

    $$ \beta_m = \frac{1}{2}\log{\frac{1-\mathrm{\overline{err}}}{\mathrm{\overline{err}}}}, $$ -where we have redefined the error as +

    where we have redefined the error as

    $$ \mathrm{\overline{err}}_m=\frac{1}{n}\frac{\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i)}{\sum_{i=0}^{n-1}w_i^m}, $$ -which leads to an update of +

    which leads to an update of

    $$ f_m(x) = f_{m-1}(x) +\beta_m G_m(x). $$ -This leads to the new weights +

    This leads to the new weights

    $$ w_i^{m+1} = w_i^m \exp{(-y_i\beta_m G_m(x_i))} $$ -

    +









    +

    Adaptive boosting: AdaBoost, Basic Algorithm

    -

    Adaptive boosting: AdaBoost, Basic Algorithm

    - -

    -The algorithm here is rather straightforward. Assume that our weak +

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

    -

    -We have already defined the misclassification error \( \mathrm{err} \) as +

    We have already defined the misclassification error \( \mathrm{err} \) as

    $$ \mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(x_i)), $$ -where the function \( I() \) is one if we misclassify and zero if we classify correctly. +

    where the function \( I() \) is one if we misclassify and zero if we classify correctly.

    -











    +

    Basic Steps of AdaBoost

    -

    Basic Steps of AdaBoost

    - -

    -With the above definitions we are now ready to set up the algorithm for AdaBoost. +

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

    1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is easy to see that we must have \( \sum_{i=0}^{n-1}w_i = 1 \).
    2. We rewrite the misclassification error as
    - $$ \mathrm{\overline{err}}_m=\frac{\sum_{i=0}^{n-1}w_i^m I(y_i\ne G(x_i))}{\sum_{i=0}^{n-1}w_i}, $$ -
    1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. -
      1. Fit then a given classifier to the training set using the weights \( w_i \).
      2. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      3. Define a quantity \( \alpha_{m} = \log{(1-\mathrm{\overline{err}}_m)/\mathrm{\overline{err}}_m} \)
      4. Set the new weights to \( w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(x_i)} \).
      -
    2. Compute the new classifier \( G(x)= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(x_i) \).
    - -For the iterations with \( m \le 2 \) the weights are modified +

    For the iterations with \( m \le 2 \) the weights are modified individually at each steps. The observations which were misclassified at iteration \( m-1 \) have a weight which is larger than those which were classified properly. As this proceeds, the observations which were difficult to classifiy correctly are given a larger influence. Each new classification step \( m \) is then forced to concentrate on those observations that are missed in the previous iterations. +

    -











    +

    AdaBoost Examples

    -

    AdaBoost Examples

    +

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

    -

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

    -

    from sklearn.ensemble import AdaBoostClassifier
    +
    +
    +
    +
    +
    +
    from sklearn.ensemble import AdaBoostClassifier
     
     ada_clf = AdaBoostClassifier(
         DecisionTreeClassifier(max_depth=1), n_estimators=200,
    @@ -933,114 +3159,115 @@ skplt.metrics.<
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    -

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    - -

    -Gradient boosting is again a similar technique to Adaptive boosting, +

    Gradient boosting is again a similar technique to Adaptive boosting, it combines so-called weak classifiers or regressors into a strong method via a series of iterations. +

    -

    -In order to understand the method, let us illustrate its basics by +

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

    -











    +

    The Squared-Error again! Steepest Descent

    -

    The Squared-Error again! Steepest Descent

    - -

    -We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize +

    We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize This means that for every iteration, we need to optimize +

    $$ (\hat{\boldsymbol{f}}) = \mathrm{argmin}_{\boldsymbol{f}}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as +

    We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as

    $$ f_M(x) = \sum_{m=0}^M h_m(x). $$ -

    -In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as +

    In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as

    $$ g_m(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{m-1}(x_i)}. $$ -

    -With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that +

    With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that the gradient is \( g_m(x_i) = -2(y_i-f(x_i)) \). +

    -

    -Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have +

    Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have

    $$ (\rho_1) = \mathrm{argmin}_{\rho}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i+2\rho y_i)^2. $$ -

    +









    +

    Steepest Descent Example

    -

    Steepest Descent Example

    - -

    -Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that +

    Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that

    $$ f_1(x) = f_{0}(x) -\rho_1 g_1(x)=-y_i. $$ -We can then proceed and compute +

    We can then proceed and compute

    $$ g_2(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i, $$ -and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting. +

    and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting.

    -











    +

    Gradient Boosting, algorithm

    -

    Gradient Boosting, algorithm

    - -

    -Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, +

    Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, so we do not learn a function that can generalize. However, we can modify the algorithm by -fitting a weak learner to approximate the negative gradient signal. +fitting a weak learner to approximate the negative gradient signal. +

    -

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

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

    $$ C(\boldsymbol{y},\boldsymbol{f})=\sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

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

    The way we proceed in an iterative fashion is to

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









    - -

    Gradient Boosting, Examples of Regression

    -

    +

    Gradient Boosting, Examples of Regression

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.ensemble import GradientBoostingRegressor
    @@ -1086,15 +3313,32 @@ plt.plot(polydegree, variance, label.legend()
     save_fig("gdregression")
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Gradient Boosting, Classification Example

    -

    + +









    +

    Gradient Boosting, Classification Example

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -1134,37 +3378,51 @@ plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     save_fig("gdclassiffiercgain")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    XGBoost: Extreme Gradient Boosting

    -

    XGBoost: Extreme Gradient Boosting

    - -

    -XGBoost or Extreme Gradient +

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

    -

    -The authors design and build a highly scalable end-to-end tree +

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

    -

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

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

    -











    +

    Regression Case

    -

    Regression Case

    - -

    -

    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     import xgboost as xgb
    @@ -1210,18 +3468,34 @@ plt.plot(polydegree, bias, label.plot(polydegree, variance, label='Variance')
     plt.legend()
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Xgboost on the Cancer Data

    -

    Xgboost on the Cancer Data

    - -

    -As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now. -

    +

    As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now.

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -1272,18 +3546,26 @@ xgb.plot_importance(xg_clf)
     plt.rcParams['figure.figsize'] = [5, 5]
     save_fig("xgparams")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + - -
    - © 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license + © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/bank.csv b/doc/pub/week45/ipynb/DataFiles/Datafiles/bank.csv new file mode 100644 index 000000000..930337395 --- /dev/null +++ b/doc/pub/week45/ipynb/DataFiles/Datafiles/bank.csv @@ -0,0 +1,1372 @@ +3.6216,8.6661,-2.8073,-0.44699,0 +4.5459,8.1674,-2.4586,-1.4621,0 +3.866,-2.6383,1.9242,0.10645,0 +3.4566,9.5228,-4.0112,-3.5944,0 +0.32924,-4.4552,4.5718,-0.9888,0 +4.3684,9.6718,-3.9606,-3.1625,0 +3.5912,3.0129,0.72888,0.56421,0 +2.0922,-6.81,8.4636,-0.60216,0 +3.2032,5.7588,-0.75345,-0.61251,0 +1.5356,9.1772,-2.2718,-0.73535,0 +1.2247,8.7779,-2.2135,-0.80647,0 +3.9899,-2.7066,2.3946,0.86291,0 +1.8993,7.6625,0.15394,-3.1108,0 +-1.5768,10.843,2.5462,-2.9362,0 +3.404,8.7261,-2.9915,-0.57242,0 +4.6765,-3.3895,3.4896,1.4771,0 +2.6719,3.0646,0.37158,0.58619,0 +0.80355,2.8473,4.3439,0.6017,0 +1.4479,-4.8794,8.3428,-2.1086,0 +5.2423,11.0272,-4.353,-4.1013,0 +5.7867,7.8902,-2.6196,-0.48708,0 +0.3292,-4.4552,4.5718,-0.9888,0 +3.9362,10.1622,-3.8235,-4.0172,0 +0.93584,8.8855,-1.6831,-1.6599,0 +4.4338,9.887,-4.6795,-3.7483,0 +0.7057,-5.4981,8.3368,-2.8715,0 +1.1432,-3.7413,5.5777,-0.63578,0 +-0.38214,8.3909,2.1624,-3.7405,0 +6.5633,9.8187,-4.4113,-3.2258,0 +4.8906,-3.3584,3.4202,1.0905,0 +-0.24811,-0.17797,4.9068,0.15429,0 +1.4884,3.6274,3.308,0.48921,0 +4.2969,7.617,-2.3874,-0.96164,0 +-0.96511,9.4111,1.7305,-4.8629,0 +-1.6162,0.80908,8.1628,0.60817,0 +2.4391,6.4417,-0.80743,-0.69139,0 +2.6881,6.0195,-0.46641,-0.69268,0 +3.6289,0.81322,1.6277,0.77627,0 +4.5679,3.1929,-2.1055,0.29653,0 +3.4805,9.7008,-3.7541,-3.4379,0 +4.1711,8.722,-3.0224,-0.59699,0 +-0.2062,9.2207,-3.7044,-6.8103,0 +-0.0068919,9.2931,-0.41243,-1.9638,0 +0.96441,5.8395,2.3235,0.066365,0 +2.8561,6.9176,-0.79372,0.48403,0 +-0.7869,9.5663,-3.7867,-7.5034,0 +2.0843,6.6258,0.48382,-2.2134,0 +-0.7869,9.5663,-3.7867,-7.5034,0 +3.9102,6.065,-2.4534,-0.68234,0 +1.6349,3.286,2.8753,0.087054,0 +4.3239,-4.8835,3.4356,-0.5776,0 +5.262,3.9834,-1.5572,1.0103,0 +3.1452,5.825,-0.51439,-1.4944,0 +2.549,6.1499,-1.1605,-1.2371,0 +4.9264,5.496,-2.4774,-0.50648,0 +4.8265,0.80287,1.6371,1.1875,0 +2.5635,6.7769,-0.61979,0.38576,0 +5.807,5.0097,-2.2384,0.43878,0 +3.1377,-4.1096,4.5701,0.98963,0 +-0.78289,11.3603,-0.37644,-7.0495,0 +2.888,0.44696,4.5907,-0.24398,0 +0.49665,5.527,1.7785,-0.47156,0 +4.2586,11.2962,-4.0943,-4.3457,0 +1.7939,-1.1174,1.5454,-0.26079,0 +5.4021,3.1039,-1.1536,1.5651,0 +2.5367,2.599,2.0938,0.20085,0 +4.6054,-4.0765,2.7587,0.31981,0 +2.4235,9.5332,-3.0789,-2.7746,0 +1.0009,7.7846,-0.28219,-2.6608,0 +0.12326,8.9848,-0.9351,-2.4332,0 +3.9529,-2.3548,2.3792,0.48274,0 +4.1373,0.49248,1.093,1.8276,0 +4.7181,10.0153,-3.9486,-3.8582,0 +4.1654,-3.4495,3.643,1.0879,0 +4.4069,10.9072,-4.5775,-4.4271,0 +2.3066,3.5364,0.57551,0.41938,0 +3.7935,7.9853,-2.5477,-1.872,0 +0.049175,6.1437,1.7828,-0.72113,0 +0.24835,7.6439,0.9885,-0.87371,0 +1.1317,3.9647,3.3979,0.84351,0 +2.8033,9.0862,-3.3668,-1.0224,0 +4.4682,2.2907,0.95766,0.83058,0 +5.0185,8.5978,-2.9375,-1.281,0 +1.8664,7.7763,-0.23849,-2.9634,0 +3.245,6.63,-0.63435,0.86937,0 +4.0296,2.6756,0.80685,0.71679,0 +-1.1313,1.9037,7.5339,1.022,0 +0.87603,6.8141,0.84198,-0.17156,0 +4.1197,-2.7956,2.0707,0.67412,0 +3.8027,0.81529,2.1041,1.0245,0 +1.4806,7.6377,-2.7876,-1.0341,0 +4.0632,3.584,0.72545,0.39481,0 +4.3064,8.2068,-2.7824,-1.4336,0 +2.4486,-6.3175,7.9632,0.20602,0 +3.2718,1.7837,2.1161,0.61334,0 +-0.64472,-4.6062,8.347,-2.7099,0 +2.9543,1.076,0.64577,0.89394,0 +2.1616,-6.8804,8.1517,-0.081048,0 +3.82,10.9279,-4.0112,-5.0284,0 +-2.7419,11.4038,2.5394,-5.5793,0 +3.3669,-5.1856,3.6935,-1.1427,0 +4.5597,-2.4211,2.6413,1.6168,0 +5.1129,-0.49871,0.62863,1.1189,0 +3.3397,-4.6145,3.9823,-0.23751,0 +4.2027,0.22761,0.96108,0.97282,0 +3.5438,1.2395,1.997,2.1547,0 +2.3136,10.6651,-3.5288,-4.7672,0 +-1.8584,7.886,-1.6643,-1.8384,0 +3.106,9.5414,-4.2536,-4.003,0 +2.9163,10.8306,-3.3437,-4.122,0 +3.9922,-4.4676,3.7304,-0.1095,0 +1.518,5.6946,0.094818,-0.026738,0 +3.2351,9.647,-3.2074,-2.5948,0 +4.2188,6.8162,-1.2804,0.76076,0 +1.7819,6.9176,-1.2744,-1.5759,0 +2.5331,2.9135,-0.822,-0.12243,0 +3.8969,7.4163,-1.8245,0.14007,0 +2.108,6.7955,-0.1708,0.4905,0 +2.8969,0.70768,2.29,1.8663,0 +0.9297,-3.7971,4.6429,-0.2957,0 +3.4642,10.6878,-3.4071,-4.109,0 +4.0713,10.4023,-4.1722,-4.7582,0 +-1.4572,9.1214,1.7425,-5.1241,0 +-1.5075,1.9224,7.1466,0.89136,0 +-0.91718,9.9884,1.1804,-5.2263,0 +2.994,7.2011,-1.2153,0.3211,0 +-2.343,12.9516,3.3285,-5.9426,0 +3.7818,-2.8846,2.2558,-0.15734,0 +4.6689,1.3098,0.055404,1.909,0 +3.4663,1.1112,1.7425,1.3388,0 +3.2697,-4.3414,3.6884,-0.29829,0 +5.1302,8.6703,-2.8913,-1.5086,0 +2.0139,6.1416,0.37929,0.56938,0 +0.4339,5.5395,2.033,-0.40432,0 +-1.0401,9.3987,0.85998,-5.3336,0 +4.1605,11.2196,-3.6136,-4.0819,0 +5.438,9.4669,-4.9417,-3.9202,0 +5.032,8.2026,-2.6256,-1.0341,0 +5.2418,10.5388,-4.1174,-4.2797,0 +-0.2062,9.2207,-3.7044,-6.8103,0 +2.0911,0.94358,4.5512,1.234,0 +1.7317,-0.34765,4.1905,-0.99138,0 +4.1736,3.3336,-1.4244,0.60429,0 +3.9232,-3.2467,3.4579,0.83705,0 +3.8481,10.1539,-3.8561,-4.2228,0 +0.5195,-3.2633,3.0895,-0.9849,0 +3.8584,0.78425,1.1033,1.7008,0 +1.7496,-0.1759,5.1827,1.2922,0 +3.6277,0.9829,0.68861,0.63403,0 +2.7391,7.4018,0.071684,-2.5302,0 +4.5447,8.2274,-2.4166,-1.5875,0 +-1.7599,11.9211,2.6756,-3.3241,0 +5.0691,0.21313,0.20278,1.2095,0 +3.4591,11.112,-4.2039,-5.0931,0 +1.9358,8.1654,-0.023425,-2.2586,0 +2.486,-0.99533,5.3404,-0.15475,0 +2.4226,-4.5752,5.947,0.21507,0 +3.9479,-3.7723,2.883,0.019813,0 +2.2634,-4.4862,3.6558,-0.61251,0 +1.3566,4.2358,2.1341,0.3211,0 +5.0452,3.8964,-1.4304,0.86291,0 +3.5499,8.6165,-3.2794,-1.2009,0 +0.17346,7.8695,0.26876,-3.7883,0 +2.4008,9.3593,-3.3565,-3.3526,0 +4.8851,1.5995,-0.00029081,1.6401,0 +4.1927,-3.2674,2.5839,0.21766,0 +1.1166,8.6496,-0.96252,-1.8112,0 +1.0235,6.901,-2.0062,-2.7125,0 +-1.803,11.8818,2.0458,-5.2728,0 +0.11739,6.2761,-1.5495,-2.4746,0 +0.5706,-0.0248,1.2421,-0.5621,0 +4.0552,-2.4583,2.2806,1.0323,0 +-1.6952,1.0657,8.8294,0.94955,0 +-1.1193,10.7271,2.0938,-5.6504,0 +1.8799,2.4707,2.4931,0.37671,0 +3.583,-3.7971,3.4391,-0.12501,0 +0.19081,9.1297,-3.725,-5.8224,0 +3.6582,5.6864,-1.7157,-0.23751,0 +-0.13144,-1.7775,8.3316,0.35214,0 +2.3925,9.798,-3.0361,-2.8224,0 +1.6426,3.0149,0.22849,-0.147,0 +-0.11783,-1.5789,8.03,-0.028031,0 +-0.69572,8.6165,1.8419,-4.3289,0 +2.9421,7.4101,-0.97709,-0.88406,0 +-1.7559,11.9459,3.0946,-4.8978,0 +-1.2537,10.8803,1.931,-4.3237,0 +3.2585,-4.4614,3.8024,-0.15087,0 +1.8314,6.3672,-0.036278,0.049554,0 +4.5645,-3.6275,2.8684,0.27714,0 +2.7365,-5.0325,6.6608,-0.57889,0 +0.9297,-3.7971,4.6429,-0.2957,0 +3.9663,10.1684,-4.1131,-4.6056,0 +1.4578,-0.08485,4.1785,0.59136,0 +4.8272,3.0687,0.68604,0.80731,0 +-2.341,12.3784,0.70403,-7.5836,0 +-1.8584,7.886,-1.6643,-1.8384,0 +4.1454,7.257,-1.9153,-0.86078,0 +1.9157,6.0816,0.23705,-2.0116,0 +4.0215,-2.1914,2.4648,1.1409,0 +5.8862,5.8747,-2.8167,-0.30087,0 +-2.0897,10.8265,2.3603,-3.4198,0 +4.0026,-3.5943,3.5573,0.26809,0 +-0.78689,9.5663,-3.7867,-7.5034,0 +4.1757,10.2615,-3.8552,-4.3056,0 +0.83292,7.5404,0.65005,-0.92544,0 +4.8077,2.2327,-0.26334,1.5534,0 +5.3063,5.2684,-2.8904,-0.52716,0 +2.5605,9.2683,-3.5913,-1.356,0 +2.1059,7.6046,-0.47755,-1.8461,0 +2.1721,-0.73874,5.4672,-0.72371,0 +4.2899,9.1814,-4.6067,-4.3263,0 +3.5156,10.1891,-4.2759,-4.978,0 +2.614,8.0081,-3.7258,-1.3069,0 +0.68087,2.3259,4.9085,0.54998,0 +4.1962,0.74493,0.83256,0.753,0 +6.0919,2.9673,-1.3267,1.4551,0 +1.3234,3.2964,0.2362,-0.11984,0 +1.3264,1.0326,5.6566,-0.41337,0 +-0.16735,7.6274,1.2061,-3.6241,0 +-1.3,10.2678,-2.953,-5.8638,0 +-2.2261,12.5398,2.9438,-3.5258,0 +2.4196,6.4665,-0.75688,0.228,0 +1.0987,0.6394,5.989,-0.58277,0 +4.6464,10.5326,-4.5852,-4.206,0 +-0.36038,4.1158,3.1143,-0.37199,0 +1.3562,3.2136,4.3465,0.78662,0 +0.5706,-0.0248,1.2421,-0.5621,0 +-2.6479,10.1374,-1.331,-5.4707,0 +3.1219,-3.137,1.9259,-0.37458,0 +5.4944,1.5478,0.041694,1.9284,0 +-1.3389,1.552,7.0806,1.031,0 +-2.3361,11.9604,3.0835,-5.4435,0 +2.2596,-0.033118,4.7355,-0.2776,0 +0.46901,-0.63321,7.3848,0.36507,0 +2.7296,2.8701,0.51124,0.5099,0 +2.0466,2.03,2.1761,-0.083634,0 +-1.3274,9.498,2.4408,-5.2689,0 +3.8905,-2.1521,2.6302,1.1047,0 +3.9994,0.90427,1.1693,1.6892,0 +2.3952,9.5083,-3.1783,-3.0086,0 +3.2704,6.9321,-1.0456,0.23447,0 +-1.3931,1.5664,7.5382,0.78403,0 +1.6406,3.5488,1.3964,-0.36424,0 +2.7744,6.8576,-1.0671,0.075416,0 +2.4287,9.3821,-3.2477,-1.4543,0 +4.2134,-2.806,2.0116,0.67412,0 +1.6472,0.48213,4.7449,1.225,0 +2.0597,-0.99326,5.2119,-0.29312,0 +0.3798,0.7098,0.7572,-0.4444,0 +1.0135,8.4551,-1.672,-2.0815,0 +4.5691,-4.4552,3.1769,0.0042961,0 +0.57461,10.1105,-1.6917,-4.3922,0 +0.5734,9.1938,-0.9094,-1.872,0 +5.2868,3.257,-1.3721,1.1668,0 +4.0102,10.6568,-4.1388,-5.0646,0 +4.1425,-3.6792,3.8281,1.6297,0 +3.0934,-2.9177,2.2232,0.22283,0 +2.2034,5.9947,0.53009,0.84998,0 +3.744,0.79459,0.95851,1.0077,0 +3.0329,2.2948,2.1135,0.35084,0 +3.7731,7.2073,-1.6814,-0.94742,0 +3.1557,2.8908,0.59693,0.79825,0 +1.8114,7.6067,-0.9788,-2.4668,0 +4.988,7.2052,-3.2846,-1.1608,0 +2.483,6.6155,-0.79287,-0.90863,0 +1.594,4.7055,1.3758,0.081882,0 +-0.016103,9.7484,0.15394,-1.6134,0 +3.8496,9.7939,-4.1508,-4.4582,0 +0.9297,-3.7971,4.6429,-0.2957,0 +4.9342,2.4107,-0.17594,1.6245,0 +3.8417,10.0215,-4.2699,-4.9159,0 +5.3915,9.9946,-3.8081,-3.3642,0 +4.4072,-0.070365,2.0416,1.1319,0 +2.6946,6.7976,-0.40301,0.44912,0 +5.2756,0.13863,0.12138,1.1435,0 +3.4312,6.2637,-1.9513,-0.36165,0 +4.052,-0.16555,0.45383,0.51248,0 +1.3638,-4.7759,8.4182,-1.8836,0 +0.89566,7.7763,-2.7473,-1.9353,0 +1.9265,7.7557,-0.16823,-3.0771,0 +0.20977,-0.46146,7.7267,0.90946,0 +4.068,-2.9363,2.1992,0.50084,0 +2.877,-4.0599,3.6259,-0.32544,0 +0.3223,-0.89808,8.0883,0.69222,0 +-1.3,10.2678,-2.953,-5.8638,0 +1.7747,-6.4334,8.15,-0.89828,0 +1.3419,-4.4221,8.09,-1.7349,0 +0.89606,10.5471,-1.4175,-4.0327,0 +0.44125,2.9487,4.3225,0.7155,0 +3.2422,6.2265,0.12224,-1.4466,0 +2.5678,3.5136,0.61406,-0.40691,0 +-2.2153,11.9625,0.078538,-7.7853,0 +4.1349,6.1189,-2.4294,-0.19613,0 +1.934,-9.2828e-06,4.816,-0.33967,0 +2.5068,1.1588,3.9249,0.12585,0 +2.1464,6.0795,-0.5778,-2.2302,0 +0.051979,7.0521,-2.0541,-3.1508,0 +1.2706,8.035,-0.19651,-2.1888,0 +1.143,0.83391,5.4552,-0.56984,0 +2.2928,9.0386,-3.2417,-1.2991,0 +0.3292,-4.4552,4.5718,-0.9888,0 +2.9719,6.8369,-0.2702,0.71291,0 +1.6849,8.7489,-1.2641,-1.3858,0 +-1.9177,11.6894,2.5454,-3.2763,0 +2.3729,10.4726,-3.0087,-3.2013,0 +1.0284,9.767,-1.3687,-1.7853,0 +0.27451,9.2186,-3.2863,-4.8448,0 +1.6032,-4.7863,8.5193,-2.1203,0 +4.616,10.1788,-4.2185,-4.4245,0 +4.2478,7.6956,-2.7696,-1.0767,0 +4.0215,-2.7004,2.4957,0.36636,0 +5.0297,-4.9704,3.5025,-0.23751,0 +1.5902,2.2948,3.2403,0.18404,0 +2.1274,5.1939,-1.7971,-1.1763,0 +1.1811,8.3847,-2.0567,-0.90345,0 +0.3292,-4.4552,4.5718,-0.9888,0 +5.7353,5.2808,-2.2598,0.075416,0 +2.6718,5.6574,0.72974,-1.4892,0 +1.5799,-4.7076,7.9186,-1.5487,0 +2.9499,2.2493,1.3458,-0.037083,0 +0.5195,-3.2633,3.0895,-0.9849,0 +3.7352,9.5911,-3.9032,-3.3487,0 +-1.7344,2.0175,7.7618,0.93532,0 +3.884,10.0277,-3.9298,-4.0819,0 +3.5257,1.2829,1.9276,1.7991,0 +4.4549,2.4976,1.0313,0.96894,0 +-0.16108,-6.4624,8.3573,-1.5216,0 +4.2164,9.4607,-4.9288,-5.2366,0 +3.5152,6.8224,-0.67377,-0.46898,0 +1.6988,2.9094,2.9044,0.11033,0 +1.0607,2.4542,2.5188,-0.17027,0 +2.0421,1.2436,4.2171,0.90429,0 +3.5594,1.3078,1.291,1.6556,0 +3.0009,5.8126,-2.2306,-0.66553,0 +3.9294,1.4112,1.8076,0.89782,0 +3.4667,-4.0724,4.2882,1.5418,0 +3.966,3.9213,0.70574,0.33662,0 +1.0191,2.33,4.9334,0.82929,0 +0.96414,5.616,2.2138,-0.12501,0 +1.8205,6.7562,0.0099913,0.39481,0 +4.9923,7.8653,-2.3515,-0.71984,0 +-1.1804,11.5093,0.15565,-6.8194,0 +4.0329,0.23175,0.89082,1.1823,0 +0.66018,10.3878,-1.4029,-3.9151,0 +3.5982,7.1307,-1.3035,0.21248,0 +-1.8584,7.886,-1.6643,-1.8384,0 +4.0972,0.46972,1.6671,0.91593,0 +3.3299,0.91254,1.5806,0.39352,0 +3.1088,3.1122,0.80857,0.4336,0 +-4.2859,8.5234,3.1392,-0.91639,0 +-1.2528,10.2036,2.1787,-5.6038,0 +0.5195,-3.2633,3.0895,-0.9849,0 +0.3292,-4.4552,4.5718,-0.9888,0 +0.88872,5.3449,2.045,-0.19355,0 +3.5458,9.3718,-4.0351,-3.9564,0 +-0.21661,8.0329,1.8848,-3.8853,0 +2.7206,9.0821,-3.3111,-0.96811,0 +3.2051,8.6889,-2.9033,-0.7819,0 +2.6917,10.8161,-3.3,-4.2888,0 +-2.3242,11.5176,1.8231,-5.375,0 +2.7161,-4.2006,4.1914,0.16981,0 +3.3848,3.2674,0.90967,0.25128,0 +1.7452,4.8028,2.0878,0.62627,0 +2.805,0.57732,1.3424,1.2133,0 +5.7823,5.5788,-2.4089,-0.056479,0 +3.8999,1.734,1.6011,0.96765,0 +3.5189,6.332,-1.7791,-0.020273,0 +3.2294,7.7391,-0.37816,-2.5405,0 +3.4985,3.1639,0.22677,-0.1651,0 +2.1948,1.3781,1.1582,0.85774,0 +2.2526,9.9636,-3.1749,-2.9944,0 +4.1529,-3.9358,2.8633,-0.017686,0 +0.74307,11.17,-1.3824,-4.0728,0 +1.9105,8.871,-2.3386,-0.75604,0 +-1.5055,0.070346,6.8681,-0.50648,0 +0.58836,10.7727,-1.3884,-4.3276,0 +3.2303,7.8384,-3.5348,-1.2151,0 +-1.9922,11.6542,2.6542,-5.2107,0 +2.8523,9.0096,-3.761,-3.3371,0 +4.2772,2.4955,0.48554,0.36119,0 +1.5099,0.039307,6.2332,-0.30346,0 +5.4188,10.1457,-4.084,-3.6991,0 +0.86202,2.6963,4.2908,0.54739,0 +3.8117,10.1457,-4.0463,-4.5629,0 +0.54777,10.3754,-1.5435,-4.1633,0 +2.3718,7.4908,0.015989,-1.7414,0 +-2.4953,11.1472,1.9353,-3.4638,0 +4.6361,-2.6611,2.8358,1.1991,0 +-2.2527,11.5321,2.5899,-3.2737,0 +3.7982,10.423,-4.1602,-4.9728,0 +-0.36279,8.2895,-1.9213,-3.3332,0 +2.1265,6.8783,0.44784,-2.2224,0 +0.86736,5.5643,1.6765,-0.16769,0 +3.7831,10.0526,-3.8869,-3.7366,0 +-2.2623,12.1177,0.28846,-7.7581,0 +1.2616,4.4303,-1.3335,-1.7517,0 +2.6799,3.1349,0.34073,0.58489,0 +-0.39816,5.9781,1.3912,-1.1621,0 +4.3937,0.35798,2.0416,1.2004,0 +2.9695,5.6222,0.27561,-1.1556,0 +1.3049,-0.15521,6.4911,-0.75346,0 +2.2123,-5.8395,7.7687,-0.85302,0 +1.9647,6.9383,0.57722,0.66377,0 +3.0864,-2.5845,2.2309,0.30947,0 +0.3798,0.7098,0.7572,-0.4444,0 +0.58982,7.4266,1.2353,-2.9595,0 +0.14783,7.946,1.0742,-3.3409,0 +-0.062025,6.1975,1.099,-1.131,0 +4.223,1.1319,0.72202,0.96118,0 +0.64295,7.1018,0.3493,-0.41337,0 +1.941,0.46351,4.6472,1.0879,0 +4.0047,0.45937,1.3621,1.6181,0 +3.7767,9.7794,-3.9075,-3.5323,0 +3.4769,-0.15314,2.53,2.4495,0 +1.9818,9.2621,-3.521,-1.872,0 +3.8023,-3.8696,4.044,0.95343,0 +4.3483,11.1079,-4.0857,-4.2539,0 +1.1518,1.3864,5.2727,-0.43536,0 +-1.2576,1.5892,7.0078,0.42455,0 +1.9572,-5.1153,8.6127,-1.4297,0 +-2.484,12.1611,2.8204,-3.7418,0 +-1.1497,1.2954,7.701,0.62627,0 +4.8368,10.0132,-4.3239,-4.3276,0 +-0.12196,8.8068,0.94566,-4.2267,0 +1.9429,6.3961,0.092248,0.58102,0 +1.742,-4.809,8.2142,-2.0659,0 +-1.5222,10.8409,2.7827,-4.0974,0 +-1.3,10.2678,-2.953,-5.8638,0 +3.4246,-0.14693,0.80342,0.29136,0 +2.5503,-4.9518,6.3729,-0.41596,0 +1.5691,6.3465,-0.1828,-2.4099,0 +1.3087,4.9228,2.0013,0.22024,0 +5.1776,8.2316,-3.2511,-1.5694,0 +2.229,9.6325,-3.1123,-2.7164,0 +5.6272,10.0857,-4.2931,-3.8142,0 +1.2138,8.7986,-2.1672,-0.74182,0 +0.3798,0.7098,0.7572,-0.4444,0 +0.5415,6.0319,1.6825,-0.46122,0 +4.0524,5.6802,-1.9693,0.026279,0 +4.7285,2.1065,-0.28305,1.5625,0 +3.4359,0.66216,2.1041,1.8922,0 +0.86816,10.2429,-1.4912,-4.0082,0 +3.359,9.8022,-3.8209,-3.7133,0 +3.6702,2.9942,0.85141,0.30688,0 +1.3349,6.1189,0.46497,0.49826,0 +3.1887,-3.4143,2.7742,-0.2026,0 +2.4527,2.9653,0.20021,-0.056479,0 +3.9121,2.9735,0.92852,0.60558,0 +3.9364,10.5885,-3.725,-4.3133,0 +3.9414,-3.2902,3.1674,1.0866,0 +3.6922,-3.9585,4.3439,1.3517,0 +5.681,7.795,-2.6848,-0.92544,0 +0.77124,9.0862,-1.2281,-1.4996,0 +3.5761,9.7753,-3.9795,-3.4638,0 +1.602,6.1251,0.52924,0.47886,0 +2.6682,10.216,-3.4414,-4.0069,0 +2.0007,1.8644,2.6491,0.47369,0 +0.64215,3.1287,4.2933,0.64696,0 +4.3848,-3.0729,3.0423,1.2741,0 +0.77445,9.0552,-2.4089,-1.3884,0 +0.96574,8.393,-1.361,-1.4659,0 +3.0948,8.7324,-2.9007,-0.96682,0 +4.9362,7.6046,-2.3429,-0.85302,0 +-1.9458,11.2217,1.9079,-3.4405,0 +5.7403,-0.44284,0.38015,1.3763,0 +-2.6989,12.1984,0.67661,-8.5482,0 +1.1472,3.5985,1.9387,-0.43406,0 +2.9742,8.96,-2.9024,-1.0379,0 +4.5707,7.2094,-3.2794,-1.4944,0 +0.1848,6.5079,2.0133,-0.87242,0 +0.87256,9.2931,-0.7843,-2.1978,0 +0.39559,6.8866,1.0588,-0.67587,0 +3.8384,6.1851,-2.0439,-0.033204,0 +2.8209,7.3108,-0.81857,-1.8784,0 +2.5817,9.7546,-3.1749,-2.9957,0 +3.8213,0.23175,2.0133,2.0564,0 +0.3798,0.7098,0.7572,-0.4444,0 +3.4893,6.69,-1.2042,-0.38751,0 +-1.7781,0.8546,7.1303,0.027572,0 +2.0962,2.4769,1.9379,-0.040962,0 +0.94732,-0.57113,7.1903,-0.67587,0 +2.8261,9.4007,-3.3034,-1.0509,0 +0.0071249,8.3661,0.50781,-3.8155,0 +0.96788,7.1907,1.2798,-2.4565,0 +4.7432,2.1086,0.1368,1.6543,0 +3.6575,7.2797,-2.2692,-1.144,0 +3.8832,6.4023,-2.432,-0.98363,0 +3.4776,8.811,-3.1886,-0.92285,0 +1.1315,7.9212,1.093,-2.8444,0 +2.8237,2.8597,0.19678,0.57196,0 +1.9321,6.0423,0.26019,-2.053,0 +3.0632,-3.3315,5.1305,0.8267,0 +-1.8411,10.8306,2.769,-3.0901,0 +2.8084,11.3045,-3.3394,-4.4194,0 +2.5698,-4.4076,5.9856,0.078002,0 +-0.12624,10.3216,-3.7121,-6.1185,0 +3.3756,-4.0951,4.367,1.0698,0 +-0.048008,-1.6037,8.4756,0.75558,0 +0.5706,-0.0248,1.2421,-0.5621,0 +0.88444,6.5906,0.55837,-0.44182,0 +3.8644,3.7061,0.70403,0.35214,0 +1.2999,2.5762,2.0107,-0.18967,0 +2.0051,-6.8638,8.132,-0.2401,0 +4.9294,0.27727,0.20792,0.33662,0 +2.8297,6.3485,-0.73546,-0.58665,0 +2.565,8.633,-2.9941,-1.3082,0 +2.093,8.3061,0.022844,-3.2724,0 +4.6014,5.6264,-2.1235,0.19309,0 +5.0617,-0.35799,0.44698,0.99868,0 +-0.2951,9.0489,-0.52725,-2.0789,0 +3.577,2.4004,1.8908,0.73231,0 +3.9433,2.5017,1.5215,0.903,0 +2.6648,10.754,-3.3994,-4.1685,0 +5.9374,6.1664,-2.5905,-0.36553,0 +2.0153,1.8479,3.1375,0.42843,0 +5.8782,5.9409,-2.8544,-0.60863,0 +-2.3983,12.606,2.9464,-5.7888,0 +1.762,4.3682,2.1384,0.75429,0 +4.2406,-2.4852,1.608,0.7155,0 +3.4669,6.87,-1.0568,-0.73147,0 +3.1896,5.7526,-0.18537,-0.30087,0 +0.81356,9.1566,-2.1492,-4.1814,0 +0.52855,0.96427,4.0243,-1.0483,0 +2.1319,-2.0403,2.5574,-0.061652,0 +0.33111,4.5731,2.057,-0.18967,0 +1.2746,8.8172,-1.5323,-1.7957,0 +2.2091,7.4556,-1.3284,-3.3021,0 +2.5328,7.528,-0.41929,-2.6478,0 +3.6244,1.4609,1.3501,1.9284,0 +-1.3885,12.5026,0.69118,-7.5487,0 +5.7227,5.8312,-2.4097,-0.24527,0 +3.3583,10.3567,-3.7301,-3.6991,0 +2.5227,2.2369,2.7236,0.79438,0 +0.045304,6.7334,1.0708,-0.9332,0 +4.8278,7.7598,-2.4491,-1.2216,0 +1.9476,-4.7738,8.527,-1.8668,0 +2.7659,0.66216,4.1494,-0.28406,0 +-0.10648,-0.76771,7.7575,0.64179,0 +0.72252,-0.053811,5.6703,-1.3509,0 +4.2475,1.4816,-0.48355,0.95343,0 +3.9772,0.33521,2.2566,2.1625,0 +3.6667,4.302,0.55923,0.33791,0 +2.8232,10.8513,-3.1466,-3.9784,0 +-1.4217,11.6542,-0.057699,-7.1025,0 +4.2458,1.1981,0.66633,0.94696,0 +4.1038,-4.8069,3.3491,-0.49225,0 +1.4507,8.7903,-2.2324,-0.65259,0 +3.4647,-3.9172,3.9746,0.36119,0 +1.8533,6.1458,1.0176,-2.0401,0 +3.5288,0.71596,1.9507,1.9375,0 +3.9719,1.0367,0.75973,1.0013,0 +3.534,9.3614,-3.6316,-1.2461,0 +3.6894,9.887,-4.0788,-4.3664,0 +3.0672,-4.4117,3.8238,-0.81682,0 +2.6463,-4.8152,6.3549,0.003003,0 +2.2893,3.733,0.6312,-0.39786,0 +1.5673,7.9274,-0.056842,-2.1694,0 +4.0405,0.51524,1.0279,1.106,0 +4.3846,-4.8794,3.3662,-0.029324,0 +2.0165,-0.25246,5.1707,1.0763,0 +4.0446,11.1741,-4.3582,-4.7401,0 +-0.33729,-0.64976,7.6659,0.72326,0 +-2.4604,12.7302,0.91738,-7.6418,0 +4.1195,10.9258,-3.8929,-4.1802,0 +2.0193,0.82356,4.6369,1.4202,0 +1.5701,7.9129,0.29018,-2.1953,0 +2.6415,7.586,-0.28562,-1.6677,0 +5.0214,8.0764,-3.0515,-1.7155,0 +4.3435,3.3295,0.83598,0.64955,0 +1.8238,-6.7748,8.3873,-0.54139,0 +3.9382,0.9291,0.78543,0.6767,0 +2.2517,-5.1422,4.2916,-1.2487,0 +5.504,10.3671,-4.413,-4.0211,0 +2.8521,9.171,-3.6461,-1.2047,0 +1.1676,9.1566,-2.0867,-0.80647,0 +2.6104,8.0081,-0.23592,-1.7608,0 +0.32444,10.067,-1.1982,-4.1284,0 +3.8962,-4.7904,3.3954,-0.53751,0 +2.1752,-0.8091,5.1022,-0.67975,0 +1.1588,8.9331,-2.0807,-1.1272,0 +4.7072,8.2957,-2.5605,-1.4905,0 +-1.9667,11.8052,-0.40472,-7.8719,0 +4.0552,0.40143,1.4563,0.65343,0 +2.3678,-6.839,8.4207,-0.44829,0 +0.33565,6.8369,0.69718,-0.55691,0 +4.3398,-5.3036,3.8803,-0.70432,0 +1.5456,8.5482,0.4187,-2.1784,0 +1.4276,8.3847,-2.0995,-1.9677,0 +-0.27802,8.1881,-3.1338,-2.5276,0 +0.93611,8.6413,-1.6351,-1.3043,0 +4.6352,-3.0087,2.6773,1.212,0 +1.5268,-5.5871,8.6564,-1.722,0 +0.95626,2.4728,4.4578,0.21636,0 +-2.7914,1.7734,6.7756,-0.39915,0 +5.2032,3.5116,-1.2538,1.0129,0 +3.1836,7.2321,-1.0713,-2.5909,0 +0.65497,5.1815,1.0673,-0.42113,0 +5.6084,10.3009,-4.8003,-4.3534,0 +1.105,7.4432,0.41099,-3.0332,0 +3.9292,-2.9156,2.2129,0.30817,0 +1.1558,6.4003,1.5506,0.6961,0 +2.5581,2.6218,1.8513,0.40257,0 +2.7831,10.9796,-3.557,-4.4039,0 +3.7635,2.7811,0.66119,0.34179,0 +-2.6479,10.1374,-1.331,-5.4707,0 +1.0652,8.3682,-1.4004,-1.6509,0 +-1.4275,11.8797,0.41613,-6.9978,0 +5.7456,10.1808,-4.7857,-4.3366,0 +5.086,3.2798,-1.2701,1.1189,0 +3.4092,5.4049,-2.5228,-0.89958,0 +-0.2361,9.3221,2.1307,-4.3793,0 +3.8197,8.9951,-4.383,-4.0327,0 +-1.1391,1.8127,6.9144,0.70127,0 +4.9249,0.68906,0.77344,1.2095,0 +2.5089,6.841,-0.029423,0.44912,0 +-0.2062,9.2207,-3.7044,-6.8103,0 +3.946,6.8514,-1.5443,-0.5582,0 +-0.278,8.1881,-3.1338,-2.5276,0 +1.8592,3.2074,-0.15966,-0.26208,0 +0.56953,7.6294,1.5754,-3.2233,0 +3.4626,-4.449,3.5427,0.15429,0 +3.3951,1.1484,2.1401,2.0862,0 +5.0429,-0.52974,0.50439,1.106,0 +3.7758,7.1783,-1.5195,0.40128,0 +4.6562,7.6398,-2.4243,-1.2384,0 +4.0948,-2.9674,2.3689,0.75429,0 +1.8384,6.063,0.54723,0.51248,0 +2.0153,0.43661,4.5864,-0.3151,0 +3.5251,0.7201,1.6928,0.64438,0 +3.757,-5.4236,3.8255,-1.2526,0 +2.5989,3.5178,0.7623,0.81119,0 +1.8994,0.97462,4.2265,0.81377,0 +3.6941,-3.9482,4.2625,1.1577,0 +4.4295,-2.3507,1.7048,0.90946,0 +6.8248,5.2187,-2.5425,0.5461,0 +1.8967,-2.5163,2.8093,-0.79742,0 +2.1526,-6.1665,8.0831,-0.34355,0 +3.3004,7.0811,-1.3258,0.22283,0 +2.7213,7.05,-0.58808,0.41809,0 +3.8846,-3.0336,2.5334,0.20214,0 +4.1665,-0.4449,0.23448,0.27843,0 +0.94225,5.8561,1.8762,-0.32544,0 +5.1321,-0.031048,0.32616,1.1151,0 +0.38251,6.8121,1.8128,-0.61251,0 +3.0333,-2.5928,2.3183,0.303,0 +2.9233,6.0464,-0.11168,-0.58665,0 +1.162,10.2926,-1.2821,-4.0392,0 +3.7791,2.5762,1.3098,0.5655,0 +0.77765,5.9781,1.1941,-0.3526,0 +-0.38388,-1.0471,8.0514,0.49567,0 +0.21084,9.4359,-0.094543,-1.859,0 +2.9571,-4.5938,5.9068,0.57196,0 +4.6439,-3.3729,2.5976,0.55257,0 +3.3577,-4.3062,6.0241,0.18274,0 +3.5127,2.9073,1.0579,0.40774,0 +2.6562,10.7044,-3.3085,-4.0767,0 +-1.3612,10.694,1.7022,-2.9026,0 +-0.278,8.1881,-3.1338,-2.5276,0 +1.04,-6.9321,8.2888,-1.2991,0 +2.1881,2.7356,1.3278,-0.1832,0 +4.2756,-2.6528,2.1375,0.94437,0 +-0.11996,6.8741,0.91995,-0.6694,0 +2.9736,8.7944,-3.6359,-1.3754,0 +3.7798,-3.3109,2.6491,0.066365,0 +5.3586,3.7557,-1.7345,1.0789,0 +1.8373,6.1292,0.84027,0.55257,0 +1.2262,0.89599,5.7568,-0.11596,0 +-0.048008,-0.56078,7.7215,0.453,0 +0.5706,-0.024841,1.2421,-0.56208,0 +4.3634,0.46351,1.4281,2.0202,0 +3.482,-4.1634,3.5008,-0.078462,0 +0.51947,-3.2633,3.0895,-0.98492,0 +2.3164,-2.628,3.1529,-0.08622,0 +-1.8348,11.0334,3.1863,-4.8888,0 +1.3754,8.8793,-1.9136,-0.53751,0 +-0.16682,5.8974,0.49839,-0.70044,0 +0.29961,7.1328,-0.31475,-1.1828,0 +0.25035,9.3262,-3.6873,-6.2543,0 +2.4673,1.3926,1.7125,0.41421,0 +0.77805,6.6424,-1.1425,-1.0573,0 +3.4465,2.9508,1.0271,0.5461,0 +2.2429,-4.1427,5.2333,-0.40173,0 +3.7321,-3.884,3.3577,-0.0060486,0 +4.3365,-3.584,3.6884,0.74912,0 +-2.0759,10.8223,2.6439,-4.837,0 +4.0715,7.6398,-2.0824,-1.1698,0 +0.76163,5.8209,1.1959,-0.64613,0 +-0.53966,7.3273,0.46583,-1.4543,0 +2.6213,5.7919,0.065686,-1.5759,0 +3.0242,-3.3378,2.5865,-0.54785,0 +5.8519,5.3905,-2.4037,-0.061652,0 +0.5706,-0.0248,1.2421,-0.5621,0 +3.9771,11.1513,-3.9272,-4.3444,0 +1.5478,9.1814,-1.6326,-1.7375,0 +0.74054,0.36625,2.1992,0.48403,0 +0.49571,10.2243,-1.097,-4.0159,0 +1.645,7.8612,-0.87598,-3.5569,0 +3.6077,6.8576,-1.1622,0.28231,0 +3.2403,-3.7082,5.2804,0.41291,0 +3.9166,10.2491,-4.0926,-4.4659,0 +3.9262,6.0299,-2.0156,-0.065531,0 +5.591,10.4643,-4.3839,-4.3379,0 +3.7522,-3.6978,3.9943,1.3051,0 +1.3114,4.5462,2.2935,0.22541,0 +3.7022,6.9942,-1.8511,-0.12889,0 +4.364,-3.1039,2.3757,0.78532,0 +3.5829,1.4423,1.0219,1.4008,0 +4.65,-4.8297,3.4553,-0.25174,0 +5.1731,3.9606,-1.983,0.40774,0 +3.2692,3.4184,0.20706,-0.066824,0 +2.4012,1.6223,3.0312,0.71679,0 +1.7257,-4.4697,8.2219,-1.8073,0 +4.7965,6.9859,-1.9967,-0.35001,0 +4.0962,10.1891,-3.9323,-4.1827,0 +2.5559,3.3605,2.0321,0.26809,0 +3.4916,8.5709,-3.0326,-0.59182,0 +0.5195,-3.2633,3.0895,-0.9849,0 +2.9856,7.2673,-0.409,-2.2431,0 +4.0932,5.4132,-1.8219,0.23576,0 +1.7748,-0.76978,5.5854,1.3039,0 +5.2012,0.32694,0.17965,1.1797,0 +-0.45062,-1.3678,7.0858,-0.40303,0 +4.8451,8.1116,-2.9512,-1.4724,0 +0.74841,7.2756,1.1504,-0.5388,0 +5.1213,8.5565,-3.3917,-1.5474,0 +3.6181,-3.7454,2.8273,-0.71208,0 +0.040498,8.5234,1.4461,-3.9306,0 +-2.6479,10.1374,-1.331,-5.4707,0 +0.37984,0.70975,0.75716,-0.44441,0 +-0.95923,0.091039,6.2204,-1.4828,0 +2.8672,10.0008,-3.2049,-3.1095,0 +1.0182,9.109,-0.62064,-1.7129,0 +-2.7143,11.4535,2.1092,-3.9629,0 +3.8244,-3.1081,2.4537,0.52024,0 +2.7961,2.121,1.8385,0.38317,0 +3.5358,6.7086,-0.81857,0.47886,0 +-0.7056,8.7241,2.2215,-4.5965,0 +4.1542,7.2756,-2.4766,-1.2099,0 +0.92703,9.4318,-0.66263,-1.6728,0 +1.8216,-6.4748,8.0514,-0.41855,0 +-2.4473,12.6247,0.73573,-7.6612,0 +3.5862,-3.0957,2.8093,0.24481,0 +0.66191,9.6594,-0.28819,-1.6638,0 +4.7926,1.7071,-0.051701,1.4926,0 +4.9852,8.3516,-2.5425,-1.2823,0 +0.75736,3.0294,2.9164,-0.068117,0 +4.6499,7.6336,-1.9427,-0.37458,0 +-0.023579,7.1742,0.78457,-0.75734,0 +0.85574,0.0082678,6.6042,-0.53104,0 +0.88298,0.66009,6.0096,-0.43277,0 +4.0422,-4.391,4.7466,1.137,0 +2.2546,8.0992,-0.24877,-3.2698,0 +0.38478,6.5989,-0.3336,-0.56466,0 +3.1541,-5.1711,6.5991,0.57455,0 +2.3969,0.23589,4.8477,1.437,0 +4.7114,2.0755,-0.2702,1.2379,0 +4.0127,10.1477,-3.9366,-4.0728,0 +2.6606,3.1681,1.9619,0.18662,0 +3.931,1.8541,-0.023425,1.2314,0 +0.01727,8.693,1.3989,-3.9668,0 +3.2414,0.40971,1.4015,1.1952,0 +2.2504,3.5757,0.35273,0.2836,0 +-1.3971,3.3191,-1.3927,-1.9948,1 +0.39012,-0.14279,-0.031994,0.35084,1 +-1.6677,-7.1535,7.8929,0.96765,1 +-3.8483,-12.8047,15.6824,-1.281,1 +-3.5681,-8.213,10.083,0.96765,1 +-2.2804,-0.30626,1.3347,1.3763,1 +-1.7582,2.7397,-2.5323,-2.234,1 +-0.89409,3.1991,-1.8219,-2.9452,1 +0.3434,0.12415,-0.28733,0.14654,1 +-0.9854,-6.661,5.8245,0.5461,1 +-2.4115,-9.1359,9.3444,-0.65259,1 +-1.5252,-6.2534,5.3524,0.59912,1 +-0.61442,-0.091058,-0.31818,0.50214,1 +-0.36506,2.8928,-3.6461,-3.0603,1 +-5.9034,6.5679,0.67661,-6.6797,1 +-1.8215,2.7521,-0.72261,-2.353,1 +-0.77461,-1.8768,2.4023,1.1319,1 +-1.8187,-9.0366,9.0162,-0.12243,1 +-3.5801,-12.9309,13.1779,-2.5677,1 +-1.8219,-6.8824,5.4681,0.057313,1 +-0.3481,-0.38696,-0.47841,0.62627,1 +0.47368,3.3605,-4.5064,-4.0431,1 +-3.4083,4.8587,-0.76888,-4.8668,1 +-1.6662,-0.30005,1.4238,0.024986,1 +-2.0962,-7.1059,6.6188,-0.33708,1 +-2.6685,-10.4519,9.1139,-1.7323,1 +-0.47465,-4.3496,1.9901,0.7517,1 +1.0552,1.1857,-2.6411,0.11033,1 +1.1644,3.8095,-4.9408,-4.0909,1 +-4.4779,7.3708,-0.31218,-6.7754,1 +-2.7338,0.45523,2.4391,0.21766,1 +-2.286,-5.4484,5.8039,0.88231,1 +-1.6244,-6.3444,4.6575,0.16981,1 +0.50813,0.47799,-1.9804,0.57714,1 +1.6408,4.2503,-4.9023,-2.6621,1 +0.81583,4.84,-5.2613,-6.0823,1 +-5.4901,9.1048,-0.38758,-5.9763,1 +-3.2238,2.7935,0.32274,-0.86078,1 +-2.0631,-1.5147,1.219,0.44524,1 +-0.91318,-2.0113,-0.19565,0.066365,1 +0.6005,1.9327,-3.2888,-0.32415,1 +0.91315,3.3377,-4.0557,-1.6741,1 +-0.28015,3.0729,-3.3857,-2.9155,1 +-3.6085,3.3253,-0.51954,-3.5737,1 +-6.2003,8.6806,0.0091344,-3.703,1 +-4.2932,3.3419,0.77258,-0.99785,1 +-3.0265,-0.062088,0.68604,-0.055186,1 +-1.7015,-0.010356,-0.99337,-0.53104,1 +-0.64326,2.4748,-2.9452,-1.0276,1 +-0.86339,1.9348,-2.3729,-1.0897,1 +-2.0659,1.0512,-0.46298,-1.0974,1 +-2.1333,1.5685,-0.084261,-1.7453,1 +-1.2568,-1.4733,2.8718,0.44653,1 +-3.1128,-6.841,10.7402,-1.0172,1 +-4.8554,-5.9037,10.9818,-0.82199,1 +-2.588,3.8654,-0.3336,-1.2797,1 +0.24394,1.4733,-1.4192,-0.58535,1 +-1.5322,-5.0966,6.6779,0.17498,1 +-4.0025,-13.4979,17.6772,-3.3202,1 +-4.0173,-8.3123,12.4547,-1.4375,1 +-3.0731,-0.53181,2.3877,0.77627,1 +-1.979,3.2301,-1.3575,-2.5819,1 +-0.4294,-0.14693,0.044265,-0.15605,1 +-2.234,-7.0314,7.4936,0.61334,1 +-4.211,-12.4736,14.9704,-1.3884,1 +-3.8073,-8.0971,10.1772,0.65084,1 +-2.5912,-0.10554,1.2798,1.0414,1 +-2.2482,3.0915,-2.3969,-2.6711,1 +-1.4427,3.2922,-1.9702,-3.4392,1 +-0.39416,-0.020702,-0.066267,-0.44699,1 +-1.522,-6.6383,5.7491,-0.10691,1 +-2.8267,-9.0407,9.0694,-0.98233,1 +-1.7263,-6.0237,5.2419,0.29524,1 +-0.94255,0.039307,-0.24192,0.31593,1 +-0.89569,3.0025,-3.6067,-3.4457,1 +-6.2815,6.6651,0.52581,-7.0107,1 +-2.3211,3.166,-1.0002,-2.7151,1 +-1.3414,-2.0776,2.8093,0.60688,1 +-2.258,-9.3263,9.3727,-0.85949,1 +-3.8858,-12.8461,12.7957,-3.1353,1 +-1.8969,-6.7893,5.2761,-0.32544,1 +-0.52645,-0.24832,-0.45613,0.41938,1 +0.0096613,3.5612,-4.407,-4.4103,1 +-3.8826,4.898,-0.92311,-5.0801,1 +-2.1405,-0.16762,1.321,-0.20906,1 +-2.4824,-7.3046,6.839,-0.59053,1 +-2.9098,-10.0712,8.4156,-1.9948,1 +-0.60975,-4.002,1.8471,0.6017,1 +0.83625,1.1071,-2.4706,-0.062945,1 +0.60731,3.9544,-4.772,-4.4853,1 +-4.8861,7.0542,-0.17252,-6.959,1 +-3.1366,0.42212,2.6225,-0.064238,1 +-2.5754,-5.6574,6.103,0.65214,1 +-1.8782,-6.5865,4.8486,-0.021566,1 +0.24261,0.57318,-1.9402,0.44007,1 +1.296,4.2855,-4.8457,-2.9013,1 +0.25943,5.0097,-5.0394,-6.3862,1 +-5.873,9.1752,-0.27448,-6.0422,1 +-3.4605,2.6901,0.16165,-1.0224,1 +-2.3797,-1.4402,1.1273,0.16076,1 +-1.2424,-1.7175,-0.52553,-0.21036,1 +0.20216,1.9182,-3.2828,-0.61768,1 +0.59823,3.5012,-3.9795,-1.7841,1 +-0.77995,3.2322,-3.282,-3.1004,1 +-4.1409,3.4619,-0.47841,-3.8879,1 +-6.5084,8.7696,0.23191,-3.937,1 +-4.4996,3.4288,0.56265,-1.1672,1 +-3.3125,0.10139,0.55323,-0.2957,1 +-1.9423,0.3766,-1.2898,-0.82458,1 +-0.75793,2.5349,-3.0464,-1.2629,1 +-0.95403,1.9824,-2.3163,-1.1957,1 +-2.2173,1.4671,-0.72689,-1.1724,1 +-2.799,1.9679,-0.42357,-2.1125,1 +-1.8629,-0.84841,2.5377,0.097399,1 +-3.5916,-6.2285,10.2389,-1.1543,1 +-5.1216,-5.3118,10.3846,-1.0612,1 +-3.2854,4.0372,-0.45356,-1.8228,1 +-0.56877,1.4174,-1.4252,-1.1246,1 +-2.3518,-4.8359,6.6479,-0.060358,1 +-4.4861,-13.2889,17.3087,-3.2194,1 +-4.3876,-7.7267,11.9655,-1.4543,1 +-3.3604,-0.32696,2.1324,0.6017,1 +-1.0112,2.9984,-1.1664,-1.6185,1 +0.030219,-1.0512,1.4024,0.77369,1 +-1.6514,-8.4985,9.1122,1.2379,1 +-3.2692,-12.7406,15.5573,-0.14182,1 +-2.5701,-6.8452,8.9999,2.1353,1 +-1.3066,0.25244,0.7623,1.7758,1 +-1.6637,3.2881,-2.2701,-2.2224,1 +-0.55008,2.8659,-1.6488,-2.4319,1 +0.21431,-0.69529,0.87711,0.29653,1 +-0.77288,-7.4473,6.492,0.36119,1 +-1.8391,-9.0883,9.2416,-0.10432,1 +-0.63298,-5.1277,4.5624,1.4797,1 +0.0040545,0.62905,-0.64121,0.75817,1 +-0.28696,3.1784,-3.5767,-3.1896,1 +-5.2406,6.6258,-0.19908,-6.8607,1 +-1.4446,2.1438,-0.47241,-1.6677,1 +-0.65767,-2.8018,3.7115,0.99739,1 +-1.5449,-10.1498,9.6152,-1.2332,1 +-2.8957,-12.0205,11.9149,-2.7552,1 +-0.81479,-5.7381,4.3919,0.3211,1 +0.50225,0.65388,-1.1793,0.39998,1 +0.74521,3.6357,-4.4044,-4.1414,1 +-2.9146,4.0537,-0.45699,-4.0327,1 +-1.3907,-1.3781,2.3055,-0.021566,1 +-1.786,-8.1157,7.0858,-1.2112,1 +-1.7322,-9.2828,7.719,-1.7168,1 +0.55298,-3.4619,1.7048,1.1008,1 +2.031,1.852,-3.0121,0.003003,1 +1.2279,4.0309,-4.6435,-3.9125,1 +-4.2249,6.2699,0.15822,-5.5457,1 +-2.5346,-0.77392,3.3602,0.00171,1 +-1.749,-6.332,6.0987,0.14266,1 +-0.539,-5.167,3.4399,0.052141,1 +1.5631,0.89599,-1.9702,0.65472,1 +2.3917,4.5565,-4.9888,-2.8987,1 +0.89512,4.7738,-4.8431,-5.5909,1 +-5.4808,8.1819,0.27818,-5.0323,1 +-2.8833,1.7713,0.68946,-0.4638,1 +-1.4174,-2.2535,1.518,0.61981,1 +0.4283,-0.94981,-1.0731,0.3211,1 +1.5904,2.2121,-3.1183,-0.11725,1 +1.7425,3.6833,-4.0129,-1.7207,1 +-0.23356,3.2405,-3.0669,-2.7784,1 +-3.6227,3.9958,-0.35845,-3.9047,1 +-6.1536,7.9295,0.61663,-3.2646,1 +-3.9172,2.6652,0.78886,-0.7819,1 +-2.2214,-0.23798,0.56008,0.05602,1 +-0.49241,0.89392,-1.6283,-0.56854,1 +0.26517,2.4066,-2.8416,-0.59958,1 +-0.10234,1.8189,-2.2169,-0.56725,1 +-1.6176,1.0926,-0.35502,-0.59958,1 +-1.8448,1.254,0.27218,-1.0728,1 +-1.2786,-2.4087,4.5735,0.47627,1 +-2.902,-7.6563,11.8318,-0.84268,1 +-4.3773,-5.5167,10.939,-0.4082,1 +-2.0529,3.8385,-0.79544,-1.2138,1 +0.18868,0.70148,-0.51182,0.0055892,1 +-1.7279,-6.841,8.9494,0.68058,1 +-3.3793,-13.7731,17.9274,-2.0323,1 +-3.1273,-7.1121,11.3897,-0.083634,1 +-2.121,-0.05588,1.949,1.353,1 +-1.7697,3.4329,-1.2144,-2.3789,1 +-0.0012852,0.13863,-0.19651,0.0081754,1 +-1.682,-6.8121,7.1398,1.3323,1 +-3.4917,-12.1736,14.3689,-0.61639,1 +-3.1158,-8.6289,10.4403,0.97153,1 +-2.0891,-0.48422,1.704,1.7435,1 +-1.6936,2.7852,-2.1835,-1.9276,1 +-1.2846,3.2715,-1.7671,-3.2608,1 +-0.092194,0.39315,-0.32846,-0.13794,1 +-1.0292,-6.3879,5.5255,0.79955,1 +-2.2083,-9.1069,8.9991,-0.28406,1 +-1.0744,-6.3113,5.355,0.80472,1 +-0.51003,-0.23591,0.020273,0.76334,1 +-0.36372,3.0439,-3.4816,-2.7836,1 +-6.3979,6.4479,1.0836,-6.6176,1 +-2.2501,3.3129,-0.88369,-2.8974,1 +-1.1859,-1.2519,2.2635,0.77239,1 +-1.8076,-8.8131,8.7086,-0.21682,1 +-3.3863,-12.9889,13.0545,-2.7202,1 +-1.4106,-7.108,5.6454,0.31335,1 +-0.21394,-0.68287,0.096532,1.1965,1 +0.48797,3.5674,-4.3882,-3.8116,1 +-3.8167,5.1401,-0.65063,-5.4306,1 +-1.9555,0.20692,1.2473,-0.3707,1 +-2.1786,-6.4479,6.0344,-0.20777,1 +-2.3299,-9.9532,8.4756,-1.8733,1 +0.0031201,-4.0061,1.7956,0.91722,1 +1.3518,1.0595,-2.3437,0.39998,1 +1.2309,3.8923,-4.8277,-4.0069,1 +-5.0301,7.5032,-0.13396,-7.5034,1 +-3.0799,0.60836,2.7039,-0.23751,1 +-2.2987,-5.227,5.63,0.91722,1 +-1.239,-6.541,4.8151,-0.033204,1 +0.75896,0.29176,-1.6506,0.83834,1 +1.6799,4.2068,-4.5398,-2.3931,1 +0.63655,5.2022,-5.2159,-6.1211,1 +-6.0598,9.2952,-0.43642,-6.3694,1 +-3.518,2.8763,0.1548,-1.2086,1 +-2.0336,-1.4092,1.1582,0.36507,1 +-0.69745,-1.7672,-0.34474,-0.12372,1 +0.75108,1.9161,-3.1098,-0.20518,1 +0.84546,3.4826,-3.6307,-1.3961,1 +-0.55648,3.2136,-3.3085,-2.7965,1 +-3.6817,3.2239,-0.69347,-3.4004,1 +-6.7526,8.8172,-0.061983,-3.725,1 +-4.577,3.4515,0.66719,-0.94742,1 +-2.9883,0.31245,0.45041,0.068951,1 +-1.4781,0.14277,-1.1622,-0.48579,1 +-0.46651,2.3383,-2.9812,-1.0431,1 +-0.8734,1.6533,-2.1964,-0.78061,1 +-2.1234,1.1815,-0.55552,-0.81165,1 +-2.3142,2.0838,-0.46813,-1.6767,1 +-1.4233,-0.98912,2.3586,0.39481,1 +-3.0866,-6.6362,10.5405,-0.89182,1 +-4.7331,-6.1789,11.388,-1.0741,1 +-2.8829,3.8964,-0.1888,-1.1672,1 +-0.036127,1.525,-1.4089,-0.76121,1 +-1.7104,-4.778,6.2109,0.3974,1 +-3.8203,-13.0551,16.9583,-2.3052,1 +-3.7181,-8.5089,12.363,-0.95518,1 +-2.899,-0.60424,2.6045,1.3776,1 +-0.98193,2.7956,-1.2341,-1.5668,1 +-0.17296,-1.1816,1.3818,0.7336,1 +-1.9409,-8.6848,9.155,0.94049,1 +-3.5713,-12.4922,14.8881,-0.47027,1 +-2.9915,-6.6258,8.6521,1.8198,1 +-1.8483,0.31038,0.77344,1.4189,1 +-2.2677,3.2964,-2.2563,-2.4642,1 +-0.50816,2.868,-1.8108,-2.2612,1 +0.14329,-1.0885,1.0039,0.48791,1 +-0.90784,-7.9026,6.7807,0.34179,1 +-2.0042,-9.3676,9.3333,-0.10303,1 +-0.93587,-5.1008,4.5367,1.3866,1 +-0.40804,0.54214,-0.52725,0.6586,1 +-0.8172,3.3812,-3.6684,-3.456,1 +-4.8392,6.6755,-0.24278,-6.5775,1 +-1.2792,2.1376,-0.47584,-1.3974,1 +-0.66008,-3.226,3.8058,1.1836,1 +-1.7713,-10.7665,10.2184,-1.0043,1 +-3.0061,-12.2377,11.9552,-2.1603,1 +-1.1022,-5.8395,4.5641,0.68705,1 +0.11806,0.39108,-0.98223,0.42843,1 +0.11686,3.735,-4.4379,-4.3741,1 +-2.7264,3.9213,-0.49212,-3.6371,1 +-1.2369,-1.6906,2.518,0.51636,1 +-1.8439,-8.6475,7.6796,-0.66682,1 +-1.8554,-9.6035,7.7764,-0.97716,1 +0.16358,-3.3584,1.3749,1.3569,1 +1.5077,1.9596,-3.0584,-0.12243,1 +0.67886,4.1199,-4.569,-4.1414,1 +-3.9934,5.8333,0.54723,-4.9379,1 +-2.3898,-0.78427,3.0141,0.76205,1 +-1.7976,-6.7686,6.6753,0.89912,1 +-0.70867,-5.5602,4.0483,0.903,1 +1.0194,1.1029,-2.3,0.59395,1 +1.7875,4.78,-5.1362,-3.2362,1 +0.27331,4.8773,-4.9194,-5.8198,1 +-5.1661,8.0433,0.044265,-4.4983,1 +-2.7028,1.6327,0.83598,-0.091393,1 +-1.4904,-2.2183,1.6054,0.89394,1 +-0.014902,-1.0243,-0.94024,0.64955,1 +0.88992,2.2638,-3.1046,-0.11855,1 +1.0637,3.6957,-4.1594,-1.9379,1 +-0.8471,3.1329,-3.0112,-2.9388,1 +-3.9594,4.0289,-0.35845,-3.8957,1 +-5.8818,7.6584,0.5558,-2.9155,1 +-3.7747,2.5162,0.83341,-0.30993,1 +-2.4198,-0.24418,0.70146,0.41809,1 +-0.83535,0.80494,-1.6411,-0.19225,1 +-0.30432,2.6528,-2.7756,-0.65647,1 +-0.60254,1.7237,-2.1501,-0.77027,1 +-2.1059,1.1815,-0.53324,-0.82716,1 +-2.0441,1.2271,0.18564,-1.091,1 +-1.5621,-2.2121,4.2591,0.27972,1 +-3.2305,-7.2135,11.6433,-0.94613,1 +-4.8426,-4.9932,10.4052,-0.53104,1 +-2.3147,3.6668,-0.6969,-1.2474,1 +-0.11716,0.60422,-0.38587,-0.059065,1 +-2.0066,-6.719,9.0162,0.099985,1 +-3.6961,-13.6779,17.5795,-2.6181,1 +-3.6012,-6.5389,10.5234,-0.48967,1 +-2.6286,0.18002,1.7956,0.97282,1 +-0.82601,2.9611,-1.2864,-1.4647,1 +0.31803,-0.99326,1.0947,0.88619,1 +-1.4454,-8.4385,8.8483,0.96894,1 +-3.1423,-13.0365,15.6773,-0.66165,1 +-2.5373,-6.959,8.8054,1.5289,1 +-1.366,0.18416,0.90539,1.5806,1 +-1.7064,3.3088,-2.2829,-2.1978,1 +-0.41965,2.9094,-1.7859,-2.2069,1 +0.37637,-0.82358,0.78543,0.74524,1 +-0.55355,-7.9233,6.7156,0.74394,1 +-1.6001,-9.5828,9.4044,0.081882,1 +-0.37013,-5.554,4.7749,1.547,1 +0.12126,0.22347,-0.47327,0.97024,1 +-0.27068,3.2674,-3.5562,-3.0888,1 +-5.119,6.6486,-0.049987,-6.5206,1 +-1.3946,2.3134,-0.44499,-1.4905,1 +-0.69879,-3.3771,4.1211,1.5043,1 +-1.48,-10.5244,9.9176,-0.5026,1 +-2.6649,-12.813,12.6689,-1.9082,1 +-0.62684,-6.301,4.7843,1.106,1 +0.518,0.25865,-0.84085,0.96118,1 +0.64376,3.764,-4.4738,-4.0483,1 +-2.9821,4.1986,-0.5898,-3.9642,1 +-1.4628,-1.5706,2.4357,0.49826,1 +-1.7101,-8.7903,7.9735,-0.45475,1 +-1.5572,-9.8808,8.1088,-1.0806,1 +0.74428,-3.7723,1.6131,1.5754,1 +2.0177,1.7982,-2.9581,0.2099,1 +1.164,3.913,-4.5544,-3.8672,1 +-4.3667,6.0692,0.57208,-5.4668,1 +-2.5919,-1.0553,3.8949,0.77757,1 +-1.8046,-6.8141,6.7019,1.1681,1 +-0.71868,-5.7154,3.8298,1.0233,1 +1.4378,0.66837,-2.0267,1.0271,1 +2.1943,4.5503,-4.976,-2.7254,1 +0.7376,4.8525,-4.7986,-5.6659,1 +-5.637,8.1261,0.13081,-5.0142,1 +-3.0193,1.7775,0.73745,-0.45346,1 +-1.6706,-2.09,1.584,0.71162,1 +-0.1269,-1.1505,-0.95138,0.57843,1 +1.2198,2.0982,-3.1954,0.12843,1 +1.4501,3.6067,-4.0557,-1.5966,1 +-0.40857,3.0977,-2.9607,-2.6892,1 +-3.8952,3.8157,-0.31304,-3.8194,1 +-6.3679,8.0102,0.4247,-3.2207,1 +-4.1429,2.7749,0.68261,-0.71984,1 +-2.6864,-0.097265,0.61663,0.061192,1 +-1.0555,0.79459,-1.6968,-0.46768,1 +-0.29858,2.4769,-2.9512,-0.66165,1 +-0.49948,1.7734,-2.2469,-0.68104,1 +-1.9881,0.99945,-0.28562,-0.70044,1 +-1.9389,1.5706,0.045979,-1.122,1 +-1.4375,-1.8624,4.026,0.55127,1 +-3.1875,-7.5756,11.8678,-0.57889,1 +-4.6765,-5.6636,10.969,-0.33449,1 +-2.0285,3.8468,-0.63435,-1.175,1 +0.26637,0.73252,-0.67891,0.03533,1 +-1.7589,-6.4624,8.4773,0.31981,1 +-3.5985,-13.6593,17.6052,-2.4927,1 +-3.3582,-7.2404,11.4419,-0.57113,1 +-2.3629,-0.10554,1.9336,1.1358,1 +-2.1802,3.3791,-1.2256,-2.6621,1 +-0.40951,-0.15521,0.060545,-0.088807,1 +-2.2918,-7.257,7.9597,0.9211,1 +-4.0214,-12.8006,15.6199,-0.95647,1 +-3.3884,-8.215,10.3315,0.98187,1 +-2.0046,-0.49457,1.333,1.6543,1 +-1.7063,2.7956,-2.378,-2.3491,1 +-1.6386,3.3584,-1.7302,-3.5646,1 +-0.41645,0.32487,-0.33617,-0.36036,1 +-1.5877,-6.6072,5.8022,0.31593,1 +-2.5961,-9.349,9.7942,-0.28018,1 +-1.5228,-6.4789,5.7568,0.87325,1 +-0.53072,-0.097265,-0.21793,1.0426,1 +-0.49081,2.8452,-3.6436,-3.1004,1 +-6.5773,6.8017,0.85483,-7.5344,1 +-2.4621,2.7645,-0.62578,-2.8573,1 +-1.3995,-1.9162,2.5154,0.59912,1 +-2.3221,-9.3304,9.233,-0.79871,1 +-3.73,-12.9723,12.9817,-2.684,1 +-1.6988,-7.1163,5.7902,0.16723,1 +-0.26654,-0.64562,-0.42014,0.89136,1 +0.33325,3.3108,-4.5081,-4.012,1 +-4.2091,4.7283,-0.49126,-5.2159,1 +-2.3142,-0.68494,1.9833,-0.44829,1 +-2.4835,-7.4494,6.8964,-0.64484,1 +-2.7611,-10.5099,9.0239,-1.9547,1 +-0.36025,-4.449,2.1067,0.94308,1 +1.0117,0.9022,-2.3506,0.42714,1 +0.96708,3.8426,-4.9314,-4.1323,1 +-5.2049,7.259,0.070827,-7.3004,1 +-3.3203,-0.02691,2.9618,-0.44958,1 +-2.565,-5.7899,6.0122,0.046968,1 +-1.5951,-6.572,4.7689,-0.94354,1 +0.7049,0.17174,-1.7859,0.36119,1 +1.7331,3.9544,-4.7412,-2.5017,1 +0.6818,4.8504,-5.2133,-6.1043,1 +-6.3364,9.2848,0.014275,-6.7844,1 +-3.8053,2.4273,0.6809,-1.0871,1 +-2.1979,-2.1252,1.7151,0.45171,1 +-0.87874,-2.2121,-0.051701,0.099985,1 +0.74067,1.7299,-3.1963,-0.1457,1 +0.98296,3.4226,-3.9692,-1.7116,1 +-0.3489,3.1929,-3.4054,-3.1832,1 +-3.8552,3.5219,-0.38415,-3.8608,1 +-6.9599,8.9931,0.2182,-4.572,1 +-4.7462,3.1205,1.075,-1.2966,1 +-3.2051,-0.14279,0.97565,0.045675,1 +-1.7549,-0.080711,-0.75774,-0.3707,1 +-0.59587,2.4811,-2.8673,-0.89828,1 +-0.89542,2.0279,-2.3652,-1.2746,1 +-2.0754,1.2767,-0.64206,-1.2642,1 +-3.2778,1.8023,0.1805,-2.3931,1 +-2.2183,-1.254,2.9986,0.36378,1 +-3.5895,-6.572,10.5251,-0.16381,1 +-5.0477,-5.8023,11.244,-0.3901,1 +-3.5741,3.944,-0.07912,-2.1203,1 +-0.7351,1.7361,-1.4938,-1.1582,1 +-2.2617,-4.7428,6.3489,0.11162,1 +-4.244,-13.0634,17.1116,-2.8017,1 +-4.0218,-8.304,12.555,-1.5099,1 +-3.0201,-0.67253,2.7056,0.85774,1 +-2.4941,3.5447,-1.3721,-2.8483,1 +-0.83121,0.039307,0.05369,-0.23105,1 +-2.5665,-6.8824,7.5416,0.70774,1 +-4.4018,-12.9371,15.6559,-1.6806,1 +-3.7573,-8.2916,10.3032,0.38059,1 +-2.4725,-0.40145,1.4855,1.1189,1 +-1.9725,2.8825,-2.3086,-2.3724,1 +-2.0149,3.6874,-1.9385,-3.8918,1 +-0.82053,0.65181,-0.48869,-0.52716,1 +-1.7886,-6.3486,5.6154,0.42584,1 +-2.9138,-9.4711,9.7668,-0.60216,1 +-1.8343,-6.5907,5.6429,0.54998,1 +-0.8734,-0.033118,-0.20165,0.55774,1 +-0.70346,2.957,-3.5947,-3.1457,1 +-6.7387,6.9879,0.67833,-7.5887,1 +-2.7723,3.2777,-0.9351,-3.1457,1 +-1.6641,-1.3678,1.997,0.52283,1 +-2.4349,-9.2497,8.9922,-0.50001,1 +-3.793,-12.7095,12.7957,-2.825,1 +-1.9551,-6.9756,5.5383,-0.12889,1 +-0.69078,-0.50077,-0.35417,0.47498,1 +0.025013,3.3998,-4.4327,-4.2655,1 +-4.3967,4.9601,-0.64892,-5.4719,1 +-2.456,-0.24418,1.4041,-0.45863,1 +-2.62,-6.8555,6.2169,-0.62285,1 +-2.9662,-10.3257,8.784,-2.1138,1 +-0.71494,-4.4448,2.2241,0.49826,1 +0.6005,0.99945,-2.2126,0.097399,1 +0.61652,3.8944,-4.7275,-4.3948,1 +-5.4414,7.2363,0.10938,-7.5642,1 +-3.5798,0.45937,2.3457,-0.45734,1 +-2.7769,-5.6967,5.9179,0.37671,1 +-1.8356,-6.7562,5.0585,-0.55044,1 +0.30081,0.17381,-1.7542,0.48921,1 +1.3403,4.1323,-4.7018,-2.5987,1 +0.26877,4.987,-5.1508,-6.3913,1 +-6.5235,9.6014,-0.25392,-6.9642,1 +-4.0679,2.4955,0.79571,-1.1039,1 +-2.564,-1.7051,1.5026,0.32757,1 +-1.3414,-1.9162,-0.15538,-0.11984,1 +0.23874,2.0879,-3.3522,-0.66553,1 +0.6212,3.6771,-4.0771,-2.0711,1 +-0.77848,3.4019,-3.4859,-3.5569,1 +-4.1244,3.7909,-0.6532,-4.1802,1 +-7.0421,9.2,0.25933,-4.6832,1 +-4.9462,3.5716,0.82742,-1.4957,1 +-3.5359,0.30417,0.6569,-0.2957,1 +-2.0662,0.16967,-1.0054,-0.82975,1 +-0.88728,2.808,-3.1432,-1.2035,1 +-1.0941,2.3072,-2.5237,-1.4453,1 +-2.4458,1.6285,-0.88541,-1.4802,1 +-3.551,1.8955,0.1865,-2.4409,1 +-2.2811,-0.85669,2.7185,0.044382,1 +-3.6053,-5.974,10.0916,-0.82846,1 +-5.0676,-5.1877,10.4266,-0.86725,1 +-3.9204,4.0723,-0.23678,-2.1151,1 +-1.1306,1.8458,-1.3575,-1.3806,1 +-2.4561,-4.5566,6.4534,-0.056479,1 +-4.4775,-13.0303,17.0834,-3.0345,1 +-4.1958,-8.1819,12.1291,-1.6017,1 +-3.38,-0.7077,2.5325,0.71808,1 +-2.4365,3.6026,-1.4166,-2.8948,1 +-0.77688,0.13036,-0.031137,-0.35389,1 +-2.7083,-6.8266,7.5339,0.59007,1 +-4.5531,-12.5854,15.4417,-1.4983,1 +-3.8894,-7.8322,9.8208,0.47498,1 +-2.5084,-0.22763,1.488,1.2069,1 +-2.1652,3.0211,-2.4132,-2.4241,1 +-1.8974,3.5074,-1.7842,-3.8491,1 +-0.62043,0.5587,-0.38587,-0.66423,1 +-1.8387,-6.301,5.6506,0.19567,1 +-3,-9.1566,9.5766,-0.73018,1 +-1.9116,-6.1603,5.606,0.48533,1 +-1.005,0.084831,-0.2462,0.45688,1 +-0.87834,3.257,-3.6778,-3.2944,1 +-6.651,6.7934,0.68604,-7.5887,1 +-2.5463,3.1101,-0.83228,-3.0358,1 +-1.4377,-1.432,2.1144,0.42067,1 +-2.4554,-9.0407,8.862,-0.86983,1 +-3.9411,-12.8792,13.0597,-3.3125,1 +-2.1241,-6.8969,5.5992,-0.47156,1 +-0.74324,-0.32902,-0.42785,0.23317,1 +-0.071503,3.7412,-4.5415,-4.2526,1 +-4.2333,4.9166,-0.49212,-5.3207,1 +-2.3675,-0.43663,1.692,-0.43018,1 +-2.5526,-7.3625,6.9255,-0.66811,1 +-3.0986,-10.4602,8.9717,-2.3427,1 +-0.89809,-4.4862,2.2009,0.50731,1 +0.56232,1.0015,-2.2726,-0.0060486,1 +0.53936,3.8944,-4.8166,-4.3418,1 +-5.3012,7.3915,0.029699,-7.3987,1 +-3.3553,0.35591,2.6473,-0.37846,1 +-2.7908,-5.7133,5.953,0.45946,1 +-1.9983,-6.6072,4.8254,-0.41984,1 +0.15423,0.11794,-1.6823,0.59524,1 +1.208,4.0744,-4.7635,-2.6129,1 +0.2952,4.8856,-5.149,-6.2323,1 +-6.4247,9.5311,0.022844,-6.8517,1 +-3.9933,2.6218,0.62863,-1.1595,1 +-2.659,-1.6058,1.3647,0.16464,1 +-1.4094,-2.1252,-0.10397,-0.19225,1 +0.11032,1.9741,-3.3668,-0.65259,1 +0.52374,3.644,-4.0746,-1.9909,1 +-0.76794,3.4598,-3.4405,-3.4276,1 +-3.9698,3.6812,-0.60008,-4.0133,1 +-7.0364,9.2931,0.16594,-4.5396,1 +-4.9447,3.3005,1.063,-1.444,1 +-3.5933,0.22968,0.7126,-0.3332,1 +-2.1674,0.12415,-1.0465,-0.86208,1 +-0.9607,2.6963,-3.1226,-1.3121,1 +-1.0802,2.1996,-2.5862,-1.2759,1 +-2.3277,1.4381,-0.82114,-1.2862,1 +-3.7244,1.9037,-0.035421,-2.5095,1 +-2.5724,-0.95602,2.7073,-0.16639,1 +-3.9297,-6.0816,10.0958,-1.0147,1 +-5.2943,-5.1463,10.3332,-1.1181,1 +-3.8953,4.0392,-0.3019,-2.1836,1 +-1.2244,1.7485,-1.4801,-1.4181,1 +-2.6406,-4.4159,5.983,-0.13924,1 +-4.6338,-12.7509,16.7166,-3.2168,1 +-4.2887,-7.8633,11.8387,-1.8978,1 +-3.3458,-0.50491,2.6328,0.53705,1 +-1.1188,3.3357,-1.3455,-1.9573,1 +0.55939,-0.3104,0.18307,0.44653,1 +-1.5078,-7.3191,7.8981,1.2289,1 +-3.506,-12.5667,15.1606,-0.75216,1 +-2.9498,-8.273,10.2646,1.1629,1 +-1.6029,-0.38903,1.62,1.9103,1 +-1.2667,2.8183,-2.426,-1.8862,1 +-0.49281,3.0605,-1.8356,-2.834,1 +0.66365,-0.045533,-0.18794,0.23447,1 +-0.72068,-6.7583,5.8408,0.62369,1 +-1.9966,-9.5001,9.682,-0.12889,1 +-0.97325,-6.4168,5.6026,1.0323,1 +-0.025314,-0.17383,-0.11339,1.2198,1 +0.062525,2.9301,-3.5467,-2.6737,1 +-5.525,6.3258,0.89768,-6.6241,1 +-1.2943,2.6735,-0.84085,-2.0323,1 +-0.24037,-1.7837,2.135,1.2418,1 +-1.3968,-9.6698,9.4652,-0.34872,1 +-2.9672,-13.2869,13.4727,-2.6271,1 +-1.1005,-7.2508,6.0139,0.36895,1 +0.22432,-0.52147,-0.40386,1.2017,1 +0.90407,3.3708,-4.4987,-3.6965,1 +-2.8619,4.5193,-0.58123,-4.2629,1 +-1.0833,-0.31247,1.2815,0.41291,1 +-1.5681,-7.2446,6.5537,-0.1276,1 +-2.0545,-10.8679,9.4926,-1.4116,1 +0.2346,-4.5152,2.1195,1.4448,1 +1.581,0.86909,-2.3138,0.82412,1 +1.5514,3.8013,-4.9143,-3.7483,1 +-4.1479,7.1225,-0.083404,-6.4172,1 +-2.2625,-0.099335,2.8127,0.48662,1 +-1.7479,-5.823,5.8699,1.212,1 +-0.95923,-6.7128,4.9857,0.32886,1 +1.3451,0.23589,-1.8785,1.3258,1 +2.2279,4.0951,-4.8037,-2.1112,1 +1.2572,4.8731,-5.2861,-5.8741,1 +-5.3857,9.1214,-0.41929,-5.9181,1 +-2.9786,2.3445,0.52667,-0.40173,1 +-1.5851,-2.1562,1.7082,0.9017,1 +-0.21888,-2.2038,-0.0954,0.56421,1 +1.3183,1.9017,-3.3111,0.065071,1 +1.4896,3.4288,-4.0309,-1.4259,1 +0.11592,3.2219,-3.4302,-2.8457,1 +-3.3924,3.3564,-0.72004,-3.5233,1 +-6.1632,8.7096,-0.21621,-3.6345,1 +-4.0786,2.9239,0.87026,-0.65389,1 +-2.5899,-0.3911,0.93452,0.42972,1 +-1.0116,-0.19038,-0.90597,0.003003,1 +0.066129,2.4914,-2.9401,-0.62156,1 +-0.24745,1.9368,-2.4697,-0.80518,1 +-1.5732,1.0636,-0.71232,-0.8388,1 +-2.1668,1.5933,0.045122,-1.678,1 +-1.1667,-1.4237,2.9241,0.66119,1 +-2.8391,-6.63,10.4849,-0.42113,1 +-4.5046,-5.8126,10.8867,-0.52846,1 +-2.41,3.7433,-0.40215,-1.2953,1 +0.40614,1.3492,-1.4501,-0.55949,1 +-1.3887,-4.8773,6.4774,0.34179,1 +-3.7503,-13.4586,17.5932,-2.7771,1 +-3.5637,-8.3827,12.393,-1.2823,1 +-2.5419,-0.65804,2.6842,1.1952,1 \ No newline at end of file diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.dot b/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.dot new file mode 100644 index 000000000..5b4b48a9b --- /dev/null +++ b/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.dot @@ -0,0 +1,57 @@ +digraph Tree { +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="#e5813908"] ; +1 [label="worst concave points <= 0.159\ngini = 0.067\nsamples = 259\nvalue = [[250, 9]\n[9, 250]]", fillcolor="#e58139db"] ; +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="#e58139ee"] ; +1 -> 2 ; +3 [label="radius error <= 0.643\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e58139fb"] ; +2 -> 3 ; +4 [label="gini = 0.0\nsamples = 239\nvalue = [[239, 0]\n[0, 239]]", fillcolor="#e58139ff"] ; +3 -> 4 ; +5 [label="worst symmetry <= 0.208\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#e5813913"] ; +3 -> 5 ; +6 [label="gini = 0.0\nsamples = 1\nvalue = [[0, 1]\n[1, 0]]", fillcolor="#e58139ff"] ; +5 -> 6 ; +7 [label="gini = 0.0\nsamples = 2\nvalue = [[2, 0]\n[0, 2]]", fillcolor="#e58139ff"] ; +5 -> 7 ; +8 [label="worst texture <= 29.455\ngini = 0.397\nsamples = 11\nvalue = [[8, 3]\n[3, 8]]", fillcolor="#e581392c"] ; +2 -> 8 ; +9 [label="gini = 0.0\nsamples = 8\nvalue = [[8, 0]\n[0, 8]]", fillcolor="#e58139ff"] ; +8 -> 9 ; +10 [label="gini = 0.0\nsamples = 3\nvalue = [[0, 3]\n[3, 0]]", fillcolor="#e58139ff"] ; +8 -> 10 ; +11 [label="mean texture <= 16.22\ngini = 0.278\nsamples = 6\nvalue = [[1, 5]\n[5, 1]]", fillcolor="#e581396b"] ; +1 -> 11 ; +12 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +11 -> 12 ; +13 [label="gini = 0.0\nsamples = 5\nvalue = [[0, 5]\n[5, 0]]", fillcolor="#e58139ff"] ; +11 -> 13 ; +14 [label="worst texture <= 20.645\ngini = 0.202\nsamples = 167\nvalue = [[19, 148]\n[148, 19]]", fillcolor="#e5813994"] ; +0 -> 14 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; +15 [label="worst radius <= 17.74\ngini = 0.375\nsamples = 16\nvalue = [[12, 4]\n[4, 12]]", fillcolor="#e5813938"] ; +14 -> 15 ; +16 [label="gini = 0.0\nsamples = 11\nvalue = [[11, 0]\n[0, 11]]", fillcolor="#e58139ff"] ; +15 -> 16 ; +17 [label="mean texture <= 13.745\ngini = 0.32\nsamples = 5\nvalue = [[1, 4]\n[4, 1]]", fillcolor="#e5813955"] ; +15 -> 17 ; +18 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +17 -> 18 ; +19 [label="gini = 0.0\nsamples = 4\nvalue = [[0, 4]\n[4, 0]]", fillcolor="#e58139ff"] ; +17 -> 19 ; +20 [label="mean concave points <= 0.049\ngini = 0.088\nsamples = 151\nvalue = [[7, 144]\n[144, 7]]", fillcolor="#e58139d0"] ; +14 -> 20 ; +21 [label="concave points error <= 0.01\ngini = 0.48\nsamples = 15\nvalue = [[6, 9]\n[9, 6]]", fillcolor="#e5813900"] ; +20 -> 21 ; +22 [label="gini = 0.0\nsamples = 9\nvalue = [[0, 9]\n[9, 0]]", fillcolor="#e58139ff"] ; +21 -> 22 ; +23 [label="gini = 0.0\nsamples = 6\nvalue = [[6, 0]\n[0, 6]]", fillcolor="#e58139ff"] ; +21 -> 23 ; +24 [label="worst smoothness <= 0.096\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e58139f7"] ; +20 -> 24 ; +25 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +24 -> 25 ; +26 [label="gini = 0.0\nsamples = 135\nvalue = [[0, 135]\n[135, 0]]", fillcolor="#e58139ff"] ; +24 -> 26 ; +} \ No newline at end of file diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.png b/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.png new file mode 100644 index 0000000000000000000000000000000000000000..2ceb5e1f87d923a1cbee266c6cdd1b116e2ed85a GIT binary patch literal 221561 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
    $SlJpzY(BB_TeUdD` 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 literal 0 HcmV?d00001 diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/ensembleoverview.png b/doc/pub/week45/ipynb/DataFiles/Datafiles/ensembleoverview.png new file mode 100644 index 0000000000000000000000000000000000000000..dce581ee65b3cb552589a0ad6361ae775a6183ed GIT binary patch literal 81932 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 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; +2 [label="gini = 0.48\nsamples = 10\nvalue = [4, 6, 0]", fillcolor="#39e58155"] ; +1 -> 2 ; +3 [label="gini = 0.0\nsamples = 4\nvalue = [0, 4, 0]", fillcolor="#39e581ff"] ; +1 -> 3 ; +4 [label="gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]", fillcolor="#8139e5ff"] ; +0 -> 4 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; +} \ No newline at end of file diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/rideclass.csv b/doc/pub/week45/ipynb/DataFiles/Datafiles/rideclass.csv new file mode 100644 index 000000000..a0831ac7e --- /dev/null +++ b/doc/pub/week45/ipynb/DataFiles/Datafiles/rideclass.csv @@ -0,0 +1,15 @@ +Day,Outlook,Temperature,Humidity,Wind,Ride +1,Sunny,Hot,High,Weak,0 +2,Sunny,Hot,High,Strong,1 +3,Overcast,Hot,High,Weak,1 +4,Rain,Mild,High,Weak,1 +5,Rain,Cool,Normal,Weak,1 +6,Rain,Cool,Normal,Strong,0 +7,Overcast,Cool,Normal,Strong,1 +8,Sunny,Mild,High,Weak,0 +9,Sunny,Cool,Normal,Weak,1 +10,Rain,Mild,Normal,Weak,1 +11,Sunny,Mild,Normal,Strong,1 +12,Overcast,Mild,High,Strong,1 +13,Overcast,Hot,Normal,Weak,1 +14,Rain,Mild,High,Strong,0 diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/zoo.csv b/doc/pub/week45/ipynb/DataFiles/Datafiles/zoo.csv new file mode 100644 index 000000000..ca71f7d21 --- /dev/null +++ b/doc/pub/week45/ipynb/DataFiles/Datafiles/zoo.csv @@ -0,0 +1,101 @@ +aardvark,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1 +antelope,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +bass,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +bear,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1 +boar,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +buffalo,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +calf,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +carp,0,0,1,0,0,1,0,1,1,0,0,1,0,1,1,0,4 +catfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +cavy,1,0,0,1,0,0,0,1,1,1,0,0,4,0,1,0,1 +cheetah,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +chicken,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 +chub,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +clam,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,7 +crab,0,0,1,0,0,1,1,0,0,0,0,0,4,0,0,0,7 +crayfish,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,7 +crow,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,2 +deer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +dogfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 +dolphin,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1 +dove,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 +duck,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,0,2 +elephant,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +flamingo,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,1,2 +flea,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,6 +frog,0,0,1,0,0,1,1,1,1,1,0,0,4,0,0,0,5 +frog,0,0,1,0,0,1,1,1,1,1,1,0,4,0,0,0,5 +fruitbat,1,0,0,1,1,0,0,1,1,1,0,0,2,1,0,0,1 +giraffe,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +girl,1,0,0,1,0,0,1,1,1,1,0,0,2,0,1,1,1 +gnat,0,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 +goat,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +gorilla,1,0,0,1,0,0,0,1,1,1,0,0,2,0,0,1,1 +gull,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 +haddock,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 +hamster,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,0,1 +hare,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,0,1 +hawk,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,2 +herring,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +honeybee,1,0,1,0,1,0,0,0,0,1,1,0,6,0,1,0,6 +housefly,1,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 +kiwi,0,1,1,0,0,0,1,0,1,1,0,0,2,1,0,0,2 +ladybird,0,0,1,0,1,0,1,0,0,1,0,0,6,0,0,0,6 +lark,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 +leopard,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +lion,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +lobster,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,7 +lynx,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +mink,1,0,0,1,0,1,1,1,1,1,0,0,4,1,0,1,1 +mole,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,0,1 +mongoose,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +moth,1,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 +newt,0,0,1,0,0,1,1,1,1,1,0,0,4,1,0,0,5 +octopus,0,0,1,0,0,1,1,0,0,0,0,0,8,0,0,1,7 +opossum,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,0,1 +oryx,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +ostrich,0,1,1,0,0,0,0,0,1,1,0,0,2,1,0,1,2 +parakeet,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 +penguin,0,1,1,0,0,1,1,0,1,1,0,0,2,1,0,1,2 +pheasant,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 +pike,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 +piranha,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +pitviper,0,0,1,0,0,0,1,1,1,1,1,0,0,1,0,0,3 +platypus,1,0,1,1,0,1,1,0,1,1,0,0,4,1,0,1,1 +polecat,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +pony,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +porpoise,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1 +puma,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +pussycat,1,0,0,1,0,0,1,1,1,1,0,0,4,1,1,1,1 +raccoon,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +reindeer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +rhea,0,1,1,0,0,0,1,0,1,1,0,0,2,1,0,1,2 +scorpion,0,0,0,0,0,0,1,0,0,1,1,0,8,1,0,0,7 +seahorse,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 +seal,1,0,0,1,0,1,1,1,1,1,0,1,0,0,0,1,1 +sealion,1,0,0,1,0,1,1,1,1,1,0,1,2,1,0,1,1 +seasnake,0,0,0,0,0,1,1,1,1,0,1,0,0,1,0,0,3 +seawasp,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,7 +skimmer,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 +skua,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 +slowworm,0,0,1,0,0,0,1,1,1,1,0,0,0,1,0,0,3 +slug,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,7 +sole,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 +sparrow,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 +squirrel,1,0,0,1,0,0,0,1,1,1,0,0,2,1,0,0,1 +starfish,0,0,1,0,0,1,1,0,0,0,0,0,5,0,0,0,7 +stingray,0,0,1,0,0,1,1,1,1,0,1,1,0,1,0,1,4 +swan,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,1,2 +termite,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,6 +toad,0,0,1,0,0,1,0,1,1,1,0,0,4,0,0,0,5 +tortoise,0,0,1,0,0,0,0,0,1,1,0,0,4,1,0,1,3 +tuatara,0,0,1,0,0,0,1,1,1,1,0,0,4,1,0,0,3 +tuna,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 +vampire,1,0,0,1,1,0,0,1,1,1,0,0,2,1,0,0,1 +vole,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,0,1 +vulture,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,1,2 +wallaby,1,0,0,1,0,0,0,1,1,1,0,0,2,1,0,1,1 +wasp,1,0,1,0,1,0,0,0,0,1,1,0,6,0,0,0,6 +wolf,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +worm,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,7 +wren,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 diff --git a/doc/pub/week45/ipynb/ipynb-week45-src.tar.gz b/doc/pub/week45/ipynb/ipynb-week45-src.tar.gz index 6c4948678610b14d918c45bb23557312c78476a1..b424739dd61d316bb7427a0faf89af3862acf9c4 100644 GIT binary patch literal 294340 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

    v;*N+zBhI-V|6PyXFN(GwAA+0HX7uI>$ED*&w% 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

    Zb&ZN~X_h)CmTJdPua)y`Xmm`= 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𝔩4Gq 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

    nuTnX2z#qD|rJxd2uF8?Guvo?dV; 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 literal 191 zcmV;w06_mAiwFQb4Xs}Q1MSaE3c@fD1>mlGia9|^nzUUDcHu%0@d7EG+E`6$lA^u6 z{Q+GmZi)!`HjglmFtg8B>unyny9*XW2uV4IF|#z8lEm|SLTLh&WeJOiUdDk?#!?yp zS#G75&N^X+Rq7Kei|TD}s8!X6f96x*nSbI?OADJ_?`o|;X@`Z@4crhLo\n", - "# Week 45: Random Forests and Boosting\n", - "\n", - " \n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "f3ea736a", + "metadata": { + "editable": true + }, + "source": [ + "# Week 45: Decisions Trees, Random Forests, Bagging and Boosting\n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", "\n", - "Date: **Nov 12, 2020**\n", - "\n", - "Copyright 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n", - "\n", - "\n", + "Date: **Nov 9, 2021**\n", "\n", + "Copyright 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license" + ] + }, + { + "cell_type": "markdown", + "id": "f4a62cf4", + "metadata": { + "editable": true + }, + "source": [ "## Overview of week 45\n", "\n", - "* **Thursday**: Wrapping up from last week. Bagging and Random forests. Boosting methods. [Link to video of lecture](https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/LectureNovember5.mp4?vrtx=view-as-webpage)\n", + "* Thursday: Basics of Decision Trees, Bagging and Voting\n", "\n", - "* **Friday**: Boosting and gradient boosting. [Link to video of lecture](https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/LectureNovember6.mp4?vrtx=view-as-webpage)\n", + "* Friday: More on Bagging, Voting, Random Forests and start Boosting\n", "\n", - "Geron's chapter 7. See also lecture from [STK-IN4300, lecture 9](https://www.uio.no/studier/emner/matnat/math/STK-IN4300/h20/slides/lecture_9.pdf). Chapter 10 (sections 10.1-10.10 are the most relevant ones) of Hastie et al contains also a good discussion.\n", + "**Videos.**\n", "\n", - "[Video on boosting methods by Hastie (the textbook author)](https://www.youtube.com/watch?v=wPqtzj5VZus&ab_channel=H2O.ai).\n", + "1. [Video on Decision trees](https://www.youtube.com/watch?v=RmajweUFKvM&ab_channel=Simplilearn)\n", "\n", - "## Thursday\n", + "[Video on boosting methods by Hastie](https://www.youtube.com/watch?v=wPqtzj5VZus&ab_channel=H2O.ai).\n", "\n", - "Bagging, voting and random forests.\n", - "The material on bagging and voting is a repeat from last week and can be found in the slides from week 44.\n", - "We repeat here the voting approach since this will serve as a motivation for boosting methods later.\n", + "**Reading.**\n", "\n", + "1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from [STK-IN4300, lecture 7](https://www.uio.no/studier/emner/matnat/math/STK-IN4300/h20/slides/lecture_7.pdf). Chapter 9.2 of Hastie et al contains also a good discussion." + ] + }, + { + "cell_type": "markdown", + "id": "7d7e0a30", + "metadata": { + "editable": true + }, + "source": [ + "## Decision trees, overarching aims\n", + "\n", + "We start here with the most basic algorithm, the so-called decision\n", + "tree. With this basic algorithm we can in turn build more complex\n", + "networks, spanning from homogeneous and heterogenous forests (bagging,\n", + "random forests and more) to one of the most popular supervised\n", + "algorithms nowadays, the extreme gradient boosting, or just\n", + "XGBoost. But let us start with the simplest possible ingredient.\n", + "\n", + "Decision trees are supervised learning algorithms used for both,\n", + "classification and regression tasks.\n", + "\n", + "The main idea of decision trees\n", + "is to find those descriptive features which contain the most\n", + "**information** regarding the target feature and then split the dataset\n", + "along the values of these features such that the target feature values\n", + "for the resulting underlying datasets are as pure as possible.\n", + "\n", + "The descriptive features which reproduce best the target/output features are normally said\n", + "to be the most informative ones. The process of finding the **most\n", + "informative** feature is done until we accomplish a stopping criteria\n", + "where we then finally end up in so called **leaf nodes**." + ] + }, + { + "cell_type": "markdown", + "id": "f448055c", + "metadata": { + "editable": true + }, + "source": [ + "## Basics of a tree\n", + "\n", + "A decision tree is typically divided into a **root node**, the **interior nodes**,\n", + "and the final **leaf nodes** or just **leaves**. These entities are then connected by so-called **branches**.\n", + "\n", + "The leaf nodes\n", + "contain the predictions we will make for new query instances presented\n", + "to our trained model. This is possible since the model has \n", + "learned the underlying structure of the training data and hence can,\n", + "given some assumptions, make predictions about the target feature value\n", + "(class) of unseen query instances." + ] + }, + { + "cell_type": "markdown", + "id": "0cacfbd6", + "metadata": { + "editable": true + }, + "source": [ + "## A Sketch of a Tree, Regression problem\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "09cac93a", + "metadata": { + "editable": true + }, + "source": [ + "## A Sketch of a Tree, Classification problem\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "9e7e3a96", + "metadata": { + "editable": true + }, + "source": [ + "## A typical Decision Tree with its pertinent Jargon, Classification Problem\n", + "\n", + "\n", + "\n", + "\n", + "

    Figure 1:

    \n", + "\n", + "\n", + "This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using **Scikit-Learn**'s decision tree classifier. Here we have used the so-called **gini** index (see below) to split the various branches." + ] + }, + { + "cell_type": "markdown", + "id": "260a1d3f", + "metadata": { + "editable": true + }, + "source": [ + "## General Features\n", + "\n", + "The overarching approach to decision trees is a top-down approach.\n", + "\n", + "* A leaf provides the classification of a given instance.\n", + "\n", + "* A node specifies a test of some attribute of the instance.\n", + "\n", + "* A branch corresponds to a possible values of an attribute.\n", + "\n", + "* An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.\n", + "\n", + "This process is then repeated for the subtree rooted at the new\n", + "node." + ] + }, + { + "cell_type": "markdown", + "id": "71e35330", + "metadata": { + "editable": true + }, + "source": [ + "## How do we set it up?\n", + "\n", + "In simplified terms, the process of training a decision tree and\n", + "predicting the target features of query instances is as follows:\n", + "\n", + "1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature\n", + "\n", + "2. Train the decision tree model by continuously splitting the target feature along the values of the descriptive features using a measure of information gain during the training process\n", + "\n", + "3. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the *predictions* we want to make for new query instances\n", + "\n", + "4. Show query instances to the tree and run down the tree until we arrive at leaf nodes\n", + "\n", + "Then we are essentially done!" + ] + }, + { + "cell_type": "markdown", + "id": "c999b0f7", + "metadata": { + "editable": true + }, + "source": [ + "## Decision trees and Regression" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "d3154072", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.preprocessing import PolynomialFeatures\n", + "from sklearn.linear_model import LinearRegression\n", + "\n", + "steps=250\n", + "\n", + "distance=0\n", + "x=0\n", + "distance_list=[]\n", + "steps_list=[]\n", + "while x\n", + "\n", + "Day Outlook Temperature Humidity Wind Ride \n", + "\n", + "\n", + " 1 Sunny Hot High Weak 0 \n", + " 2 Sunny Hot High Strong 1 \n", + " 3 Overcast Hot High Weak 1 \n", + " 4 Rain Mild High Weak 1 \n", + " 5 Rain Cool Normal Weak 1 \n", + " 6 Rain Cool Normal Strong 0 \n", + " 7 Overcast Cool Normal Strong 1 \n", + " 8 Sunny Mild High Weak 0 \n", + " 9 Sunny Cool Normal Weak 1 \n", + " 10 Rain Mild Normal Weak 1 \n", + " 11 Sunny Mild Normal Strong 1 \n", + " 12 Overcast Mild High Strong 1 \n", + " 13 Overcast Hot Normal Weak 1 \n", + " 14 Rain Mild High Strong 0 \n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "391b026f", + "metadata": { + "editable": true + }, + "source": [ + "## Simple Python Code to read in Data and perform Classification" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "5d786a97", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Common imports\n", + "import numpy as np\n", + "import pandas as pd\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')\n", + "\n", + "infile = open(data_path(\"rideclass.csv\"),'r')\n", + "\n", + "# Read the experimental data with Pandas\n", + "from IPython.display import display\n", + "ridedata = pd.read_csv(infile,names = ('Outlook','Temperature','Humidity','Wind','Ride'))\n", + "ridedata = pd.DataFrame(ridedata)\n", + "\n", + "# Features and targets\n", + "X = ridedata.loc[:, ridedata.columns != 'Ride'].values\n", + "y = ridedata.loc[:, ridedata.columns == 'Ride'].values\n", + "\n", + "# Create the encoder.\n", + "encoder = OneHotEncoder(handle_unknown=\"ignore\")\n", + "# Assume for simplicity all features are categorical.\n", + "encoder.fit(X) \n", + "# Apply the encoder.\n", + "X = encoder.transform(X)\n", + "print(X)\n", + "# Then do a Classification tree\n", + "tree_clf = DecisionTreeClassifier(max_depth=2)\n", + "tree_clf.fit(X, y)\n", + "print(\"Train set accuracy with Decision Tree: {:.2f}\".format(tree_clf.score(X,y)))\n", + "#transfer to a decision tree graph\n", + "export_graphviz(\n", + " tree_clf,\n", + " out_file=\"DataFiles/ride.dot\",\n", + " rounded=True,\n", + " filled=True\n", + ")\n", + "cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'\n", + "os.system(cmd)" + ] + }, + { + "cell_type": "markdown", + "id": "2ed48016", + "metadata": { + "editable": true + }, + "source": [ + "## Computing the Gini Factor\n", + "\n", + "The above functions (gini, entropy and misclassification error) are\n", + "important components of the so-called CART algorithm. We will discuss\n", + "this algorithm below after we have discussed the information gain\n", + "algorithm ID3.\n", + "\n", + "In the example here we have converted all our attributes into numerical values $0,1,2$ etc." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a3b26fd1", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Split a dataset based on an attribute and an attribute value\n", + "def test_split(index, value, dataset):\n", + "\tleft, right = list(), list()\n", + "\tfor row in dataset:\n", + "\t\tif row[index] < value:\n", + "\t\t\tleft.append(row)\n", + "\t\telse:\n", + "\t\t\tright.append(row)\n", + "\treturn left, right\n", + " \n", + "# Calculate the Gini index for a split dataset\n", + "def gini_index(groups, classes):\n", + "\t# count all samples at split point\n", + "\tn_instances = float(sum([len(group) for group in groups]))\n", + "\t# sum weighted Gini index for each group\n", + "\tgini = 0.0\n", + "\tfor group in groups:\n", + "\t\tsize = float(len(group))\n", + "\t\t# avoid divide by zero\n", + "\t\tif size == 0:\n", + "\t\t\tcontinue\n", + "\t\tscore = 0.0\n", + "\t\t# score the group based on the score for each class\n", + "\t\tfor class_val in classes:\n", + "\t\t\tp = [row[-1] for row in group].count(class_val) / size\n", + "\t\t\tscore += p * p\n", + "\t\t# weight the group score by its relative size\n", + "\t\tgini += (1.0 - score) * (size / n_instances)\n", + "\treturn gini\n", + "\n", + "# Select the best split point for a dataset\n", + "def get_split(dataset):\n", + "\tclass_values = list(set(row[-1] for row in dataset))\n", + "\tb_index, b_value, b_score, b_groups = 999, 999, 999, None\n", + "\tfor index in range(len(dataset[0])-1):\n", + "\t\tfor row in dataset:\n", + "\t\t\tgroups = test_split(index, row[index], dataset)\n", + "\t\t\tgini = gini_index(groups, class_values)\n", + "\t\t\tprint('X%d < %.3f Gini=%.3f' % ((index+1), row[index], gini))\n", + "\t\t\tif gini < b_score:\n", + "\t\t\t\tb_index, b_value, b_score, b_groups = index, row[index], gini, groups\n", + "\treturn {'index':b_index, 'value':b_value, 'groups':b_groups}\n", + " \n", + "dataset = [[0,0,0,0,0],\n", + " [0,0,0,1,1],\n", + " [1,0,0,0,1],\n", + " [2,1,0,0,1],\n", + " [2,2,1,0,1],\n", + " [2,2,1,1,0],\n", + " [1,2,1,1,1],\n", + " [0,1,0,0,0],\n", + " [0,2,1,0,1],\n", + " [2,1,1,0,1],\n", + " [0,1,1,1,1],\n", + " [1,1,0,1,1],\n", + " [1,0,1,0,1],\n", + " [2,1,0,1,0]]\n", + "\n", + "split = get_split(dataset)\n", + "print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))" + ] + }, + { + "cell_type": "markdown", + "id": "2896b4f4", + "metadata": { + "editable": true + }, + "source": [ + "## Entropy and the ID3 algorithm\n", + "\n", + "The ID3 algorithm learns decision trees by constructing\n", + "them in a top down way, beginning with the question **which attribute should be tested at the root of the tree**?\n", + "\n", + "1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.\n", + "\n", + "2. The best attribute is selected and used as the test at the root node of the tree.\n", + "\n", + "3. A descendant of the root node is then created for each possible value of this attribute.\n", + "\n", + "4. Training examples are sorted to the appropriate descendant node.\n", + "\n", + "5. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.\n", + "\n", + "6. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices. \n", + "\n", + "The ID3 algorithm selects which attribute to test at each node in the\n", + "tree.\n", + "\n", + "We would like to select the attribute that is most useful for classifying\n", + "examples.\n", + "\n", + "What is a good quantitative measure of the worth of an attribute?\n", + "\n", + "Information gain measures how well a given attribute separates the\n", + "training examples according to their target classification.\n", + "\n", + "The ID3 algorithm uses this information gain measure to select among the candidate\n", + "attributes at each step while growing the tree." + ] + }, + { + "cell_type": "markdown", + "id": "fea0e5e6", + "metadata": { + "editable": true + }, + "source": [ + "## Cancer Data again now with Decision Trees and other Methods" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "1dbc948a", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from sklearn.model_selection import train_test_split \n", + "from sklearn.datasets import load_breast_cancer\n", + "from sklearn.svm import SVC\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.tree import DecisionTreeClassifier\n", + "\n", + "# Load the data\n", + "cancer = load_breast_cancer()\n", + "\n", + "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", + "# 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", + "from sklearn.preprocessing import StandardScaler\n", + "scaler = StandardScaler()\n", + "scaler.fit(X_train)\n", + "X_train_scaled = scaler.transform(X_train)\n", + "X_test_scaled = scaler.transform(X_test)\n", + "# Logistic Regression\n", + "logreg.fit(X_train_scaled, y_train)\n", + "print(\"Test set accuracy Logistic Regression with scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))\n", + "# Support Vector Machine\n", + "svm.fit(X_train_scaled, y_train)\n", + "print(\"Test set accuracy SVM with scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))\n", + "# Decision Trees\n", + "deep_tree_clf.fit(X_train_scaled, y_train)\n", + "print(\"Test set accuracy with Decision Trees and scaled data: {:.2f}\".format(deep_tree_clf.score(X_test_scaled,y_test)))" + ] + }, + { + "cell_type": "markdown", + "id": "7b0d35e1", + "metadata": { + "editable": true + }, + "source": [ + "## Another example, the moons again" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ef709f87", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "from __future__ import division, print_function, unicode_literals\n", + "\n", + "# Common imports\n", + "import numpy as np\n", + "import os\n", + "\n", + "# to make this notebook's output stable across runs\n", + "np.random.seed(42)\n", + "\n", + "# To plot pretty figures\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", + "\n", + "from sklearn.svm import SVC\n", + "from sklearn import datasets\n", + "from sklearn.tree import DecisionTreeClassifier\n", + "from sklearn.datasets import make_moons\n", + "from sklearn.tree import export_graphviz\n", + "\n", + "Xm, ym = make_moons(n_samples=100, noise=0.25, random_state=53)\n", + "\n", + "deep_tree_clf1 = DecisionTreeClassifier(random_state=42)\n", + "deep_tree_clf2 = DecisionTreeClassifier(min_samples_leaf=4, random_state=42)\n", + "deep_tree_clf1.fit(Xm, ym)\n", + "deep_tree_clf2.fit(Xm, ym)\n", + "\n", + "\n", + "def plot_decision_boundary(clf, X, y, axes=[0, 7.5, 0, 3], iris=True, legend=False, plot_training=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 not iris:\n", + " custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50'])\n", + " plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8)\n", + " if plot_training:\n", + " plt.plot(X[:, 0][y==0], X[:, 1][y==0], \"yo\", label=\"Iris-Setosa\")\n", + " plt.plot(X[:, 0][y==1], X[:, 1][y==1], \"bs\", label=\"Iris-Versicolor\")\n", + " plt.plot(X[:, 0][y==2], X[:, 1][y==2], \"g^\", label=\"Iris-Virginica\")\n", + " plt.axis(axes)\n", + " if iris:\n", + " plt.xlabel(\"Petal length\", fontsize=14)\n", + " plt.ylabel(\"Petal width\", fontsize=14)\n", + " else:\n", + " plt.xlabel(r\"$x_1$\", fontsize=18)\n", + " plt.ylabel(r\"$x_2$\", fontsize=18, rotation=0)\n", + " if legend:\n", + " plt.legend(loc=\"lower right\", fontsize=14)\n", + "plt.figure(figsize=(11, 4))\n", + "plt.subplot(121)\n", + "plot_decision_boundary(deep_tree_clf1, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)\n", + "plt.title(\"No restrictions\", fontsize=16)\n", + "plt.subplot(122)\n", + "plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)\n", + "plt.title(\"min_samples_leaf = {}\".format(deep_tree_clf2.min_samples_leaf), fontsize=14)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "e7a8b237", + "metadata": { + "editable": true + }, + "source": [ + "## Playing around with regions" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c5be70d1", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "np.random.seed(6)\n", + "Xs = np.random.rand(100, 2) - 0.5\n", + "ys = (Xs[:, 0] > 0).astype(np.float32) * 2\n", + "\n", + "angle = np.pi/4\n", + "rotation_matrix = np.array([[np.cos(angle), -np.sin(angle)], [np.sin(angle), np.cos(angle)]])\n", + "Xsr = Xs.dot(rotation_matrix)\n", + "\n", + "tree_clf_s = DecisionTreeClassifier(random_state=42)\n", + "tree_clf_s.fit(Xs, ys)\n", + "tree_clf_sr = DecisionTreeClassifier(random_state=42)\n", + "tree_clf_sr.fit(Xsr, ys)\n", + "\n", + "plt.figure(figsize=(11, 4))\n", + "plt.subplot(121)\n", + "plot_decision_boundary(tree_clf_s, Xs, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)\n", + "plt.subplot(122)\n", + "plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "0c4d5dab", + "metadata": { + "editable": true + }, + "source": [ + "## Regression trees" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "0963d7fc", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Quadratic training set + noise\n", + "np.random.seed(42)\n", + "m = 200\n", + "X = np.random.rand(m, 1)\n", + "y = 4 * (X - 0.5) ** 2\n", + "y = y + np.random.randn(m, 1) / 10" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "689f738f", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "from sklearn.tree import DecisionTreeRegressor\n", + "\n", + "tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)\n", + "tree_reg.fit(X, y)" + ] + }, + { + "cell_type": "markdown", + "id": "f476fc1b", + "metadata": { + "editable": true + }, + "source": [ + "## Final regressor code" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "ec98869a", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "from sklearn.tree import DecisionTreeRegressor\n", + "\n", + "tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)\n", + "tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)\n", + "tree_reg1.fit(X, y)\n", + "tree_reg2.fit(X, y)\n", + "\n", + "def plot_regression_predictions(tree_reg, X, y, axes=[0, 1, -0.2, 1], ylabel=\"$y$\"):\n", + " x1 = np.linspace(axes[0], axes[1], 500).reshape(-1, 1)\n", + " y_pred = tree_reg.predict(x1)\n", + " plt.axis(axes)\n", + " plt.xlabel(\"$x_1$\", fontsize=18)\n", + " if ylabel:\n", + " plt.ylabel(ylabel, fontsize=18, rotation=0)\n", + " plt.plot(X, y, \"b.\")\n", + " plt.plot(x1, y_pred, \"r.-\", linewidth=2, label=r\"$\\hat{y}$\")\n", + "\n", + "plt.figure(figsize=(11, 4))\n", + "plt.subplot(121)\n", + "plot_regression_predictions(tree_reg1, X, y)\n", + "for split, style in ((0.1973, \"k-\"), (0.0917, \"k--\"), (0.7718, \"k--\")):\n", + " plt.plot([split, split], [-0.2, 1], style, linewidth=2)\n", + "plt.text(0.21, 0.65, \"Depth=0\", fontsize=15)\n", + "plt.text(0.01, 0.2, \"Depth=1\", fontsize=13)\n", + "plt.text(0.65, 0.8, \"Depth=1\", fontsize=13)\n", + "plt.legend(loc=\"upper center\", fontsize=18)\n", + "plt.title(\"max_depth=2\", fontsize=14)\n", + "\n", + "plt.subplot(122)\n", + "plot_regression_predictions(tree_reg2, X, y, ylabel=None)\n", + "for split, style in ((0.1973, \"k-\"), (0.0917, \"k--\"), (0.7718, \"k--\")):\n", + " plt.plot([split, split], [-0.2, 1], style, linewidth=2)\n", + "for split in (0.0458, 0.1298, 0.2873, 0.9040):\n", + " plt.plot([split, split], [-0.2, 1], \"k:\", linewidth=1)\n", + "plt.text(0.3, 0.5, \"Depth=2\", fontsize=13)\n", + "plt.title(\"max_depth=3\", fontsize=14)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "ae89b603", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "tree_reg1 = DecisionTreeRegressor(random_state=42)\n", + "tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)\n", + "tree_reg1.fit(X, y)\n", + "tree_reg2.fit(X, y)\n", + "\n", + "x1 = np.linspace(0, 1, 500).reshape(-1, 1)\n", + "y_pred1 = tree_reg1.predict(x1)\n", + "y_pred2 = tree_reg2.predict(x1)\n", + "\n", + "plt.figure(figsize=(11, 4))\n", + "\n", + "plt.subplot(121)\n", + "plt.plot(X, y, \"b.\")\n", + "plt.plot(x1, y_pred1, \"r.-\", linewidth=2, label=r\"$\\hat{y}$\")\n", + "plt.axis([0, 1, -0.2, 1.1])\n", + "plt.xlabel(\"$x_1$\", fontsize=18)\n", + "plt.ylabel(\"$y$\", fontsize=18, rotation=0)\n", + "plt.legend(loc=\"upper center\", fontsize=18)\n", + "plt.title(\"No restrictions\", fontsize=14)\n", + "\n", + "plt.subplot(122)\n", + "plt.plot(X, y, \"b.\")\n", + "plt.plot(x1, y_pred2, \"r.-\", linewidth=2, label=r\"$\\hat{y}$\")\n", + "plt.axis([0, 1, -0.2, 1.1])\n", + "plt.xlabel(\"$x_1$\", fontsize=18)\n", + "plt.title(\"min_samples_leaf={}\".format(tree_reg2.min_samples_leaf), fontsize=14)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "f4c99932", + "metadata": { + "editable": true + }, + "source": [ + "## Pros and cons of trees, pros\n", + "\n", + "* White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines)\n", + "\n", + "* Trees are very easy to explain to people. In fact, they are even easier to explain than linear regression!\n", + "\n", + "* No feature normalization needed\n", + "\n", + "* Tree models can handle both continuous and categorical data (Classification and Regression Trees)\n", + "\n", + "* Can model nonlinear relationships\n", + "\n", + "* Can model interactions between the different descriptive features\n", + "\n", + "* Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)" + ] + }, + { + "cell_type": "markdown", + "id": "bcc7fb3d", + "metadata": { + "editable": true + }, + "source": [ + "## Disadvantages\n", + "\n", + "* Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches\n", + "\n", + "* If continuous features are used the tree may become quite large and hence less interpretable\n", + "\n", + "* Decision trees are prone to overfit the training data and hence do not well generalize the data if no stopping criteria or improvements like pruning, boosting or bagging are implemented\n", + "\n", + "* Small changes in the data may lead to a completely different tree. This issue can be addressed by using ensemble methods like bagging, boosting or random forests\n", + "\n", + "* Unbalanced datasets where some target feature values occur much more frequently than others may lead to biased trees since the frequently occurring feature values are preferred over the less frequently occurring ones. \n", + "\n", + "* If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data\n", + "\n", + "* Features with many levels may be preferred over features with less levels since for them it is *more easy* to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain\n", + "\n", + "However, by aggregating many decision trees, using methods like\n", + "bagging, random forests, and boosting, the predictive performance of\n", + "trees can be substantially improved." + ] + }, + { + "cell_type": "markdown", + "id": "029c3b45", + "metadata": { + "editable": true + }, + "source": [ + "## Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods\n", + "\n", + "As stated above and seen in many of the examples discussed here about\n", + "a single decision tree, we often end up overfitting our training\n", + "data. This normally means that we have a high variance. Can we reduce\n", + "the variance of a statistical learning method?\n", + "\n", + "This leads us to a set of different methods that can combine different\n", + "machine learning algorithms or just use one of them to construct\n", + "forests and jungles of trees, homogeneous ones or heterogenous\n", + "ones. These methods are recognized by different names which we will\n", + "try to explain here. These are\n", + "\n", + "1. Voting classifiers\n", + "\n", + "2. Bagging and Pasting\n", + "\n", + "3. Random forests\n", + "\n", + "4. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)\n", + "\n", + "We discuss these methods here." + ] + }, + { + "cell_type": "markdown", + "id": "597ecf99", + "metadata": { + "editable": true + }, + "source": [ + "## An Overview of Ensemble Methods\n", + "\n", + "\n", + "\n", + "\n", + "

    Figure 1:

    \n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "34ccd8a6", + "metadata": { + "editable": true + }, + "source": [ + "## Bagging\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", + "\n", + "**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": "60285855", + "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": "da86704c", + "metadata": { + "editable": true + }, + "source": [ + "## Simple Voting Example, head or tail" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "86f01d7b", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "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": "66aa1558", + "metadata": { + "editable": true + }, + "source": [ + "## Using the Voting Classifier" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "1782fb88", + "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", + "\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": "f5aa4b7b", + "metadata": { + "editable": true + }, + "source": [ + "## Please, not the moons again! Voting and Bagging" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "3c1a494b", + "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": 18, + "id": "15cc6ef1", + "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": 19, + "id": "d5380589", + "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": 20, + "id": "2630974e", + "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": "4bb8f29b", + "metadata": { + "editable": true + }, + "source": [ + "## Bagging Examples" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "47d6424f", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "from sklearn.ensemble import BaggingClassifier\n", + "from sklearn.tree import DecisionTreeClassifier\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": 22, + "id": "554b7c3e", + "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": 23, + "id": "5cdabae8", + "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": 24, + "id": "511564a7", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "from matplotlib.colors import ListedColormap\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()" + ] + }, + { + "cell_type": "markdown", + "id": "2179d349", + "metadata": { + "editable": true + }, + "source": [ + "## Making your own Bootstrap: Changing the Level of the Decision Tree\n", + "\n", + "Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with\n", + "a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points $n$)." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "42afc36e", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.pipeline import make_pipeline\n", + "from sklearn.utils import resample\n", + "from sklearn.tree import DecisionTreeRegressor\n", + "\n", + "n = 100\n", + "n_boostraps = 100\n", + "maxdepth = 8\n", + "\n", + "# Make data set.\n", + "x = np.linspace(-3, 3, n).reshape(-1, 1)\n", + "y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n", + "error = np.zeros(maxdepth)\n", + "bias = np.zeros(maxdepth)\n", + "variance = np.zeros(maxdepth)\n", + "polydegree = np.zeros(maxdepth)\n", + "X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n", + "\n", + "from sklearn.preprocessing import StandardScaler\n", + "scaler = StandardScaler()\n", + "scaler.fit(X_train)\n", + "X_train_scaled = scaler.transform(X_train)\n", + "X_test_scaled = scaler.transform(X_test)\n", + "\n", + "# we produce a simple tree first as benchmark\n", + "simpletree = DecisionTreeRegressor(max_depth=3) \n", + "simpletree.fit(X_train_scaled, y_train)\n", + "simpleprediction = simpletree.predict(X_test_scaled)\n", + "for degree in range(1,maxdepth):\n", + " model = DecisionTreeRegressor(max_depth=degree) \n", + " y_pred = np.empty((y_test.shape[0], n_boostraps))\n", + " for i in range(n_boostraps):\n", + " x_, y_ = resample(X_train_scaled, y_train)\n", + " model.fit(x_, y_)\n", + " y_pred[:, i] = model.predict(X_test_scaled)#.ravel()\n", + "\n", + " polydegree[degree] = degree\n", + " error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )\n", + " bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )\n", + " variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) )\n", + " print('Polynomial degree:', degree)\n", + " print('Error:', error[degree])\n", + " print('Bias^2:', bias[degree])\n", + " print('Var:', variance[degree])\n", + " print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))\n", + " \n", + "mse_simpletree= np.mean( np.mean((y_test - simpleprediction)**2)\n", + "print(mse_simpletree)\n", + "plt.xlim(1,maxdepth)\n", + "plt.plot(polydegree, error, label='MSE')\n", + "plt.plot(polydegree, bias, label='bias')\n", + "plt.plot(polydegree, variance, label='Variance')\n", + "plt.legend()\n", + "save_fig(\"baggingboot\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "5b790359", + "metadata": { + "editable": true + }, + "source": [ "## Why Voting?\n", "\n", "The idea behind boosting, and voting as well can be phrased as follows:\n", @@ -46,8 +2184,16 @@ "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. \n", - "\n", + "Decision trees play an important role as our weak classifier. They serve as the basic method." + ] + }, + { + "cell_type": "markdown", + "id": "c3c7a9fd", + "metadata": { + "editable": true + }, + "source": [ "## Tossing coins\n", "\n", "The simplest case is a so-called voting ensemble. To illustrate this,\n", @@ -69,19 +2215,29 @@ "\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.\n", - "\n", + "numbers kicking in." + ] + }, + { + "cell_type": "markdown", + "id": "50fc15a0", + "metadata": { + "editable": true + }, + "source": [ "## Standard imports first" ] }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, + "execution_count": 26, + "id": "c0b99f8c", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ - "%matplotlib inline\n", - "\n", "# Common imports\n", "from IPython.display import Image \n", "from pydot import graph_from_dot_data\n", @@ -123,29 +2279,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "69f8628e", + "metadata": { + "editable": true + }, "source": [ "## Simple Voting Example, head or tail" ] }, { "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 27, + "id": "805d4227", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "\n", "# Common imports\n", @@ -174,7 +2324,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "49717d4a", + "metadata": { + "editable": true + }, "source": [ "## Using the Voting Classifier\n", "\n", @@ -183,24 +2336,13 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.872\n", - "SVC 0.888\n", - "VotingClassifier 0.896\n", - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.872\n", - "SVC 0.888\n", - "VotingClassifier 0.912\n" - ] - } - ], + "execution_count": 28, + "id": "34a0cc41", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -248,29 +2390,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "452d0656", + "metadata": { + "editable": true + }, "source": [ "## Voting and Bagging" ] }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", - " ('rf', RandomForestClassifier(random_state=42)),\n", - " ('svc', SVC(random_state=42))])" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 29, + "id": "de6fd29b", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -294,20 +2430,13 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.896\n", - "SVC 0.896\n", - "VotingClassifier 0.912\n" - ] - } - ], + "execution_count": 30, + "id": "37edc304", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -319,23 +2448,13 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", - " ('rf', RandomForestClassifier(random_state=42)),\n", - " ('svc', SVC(probability=True, random_state=42))],\n", - " voting='soft')" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 31, + "id": "e1f00841", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "log_clf = LogisticRegression(random_state=42)\n", "rnd_clf = RandomForestClassifier(random_state=42)\n", @@ -349,20 +2468,13 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.896\n", - "SVC 0.896\n", - "VotingClassifier 0.92\n" - ] - } - ], + "execution_count": 32, + "id": "08dced6b", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -374,7 +2486,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0ed0228e", + "metadata": { + "editable": true + }, "source": [ "## Random forests\n", "\n", @@ -394,7 +2509,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bc05ef74", + "metadata": { + "editable": true + }, "source": [ "$$\n", "m\\approx \\sqrt{p}.\n", @@ -403,7 +2521,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ffb4b144", + "metadata": { + "editable": true + }, "source": [ "In building a random forest, at\n", "each split in the tree, the algorithm is not even allowed to consider\n", @@ -420,9 +2541,16 @@ "lead to as large of a reduction in variance as averaging many\n", "uncorrelated quantities. In particular, this means that bagging will\n", "not lead to a substantial reduction in variance over a single tree in\n", - "this setting.\n", - "\n", - "\n", + "this setting." + ] + }, + { + "cell_type": "markdown", + "id": "c75cd923", + "metadata": { + "editable": true + }, + "source": [ "## Random Forest Algorithm\n", "The algorithm described here can be applied to both classification and regression problems.\n", "\n", @@ -439,92 +2567,28 @@ "\n", "3. split the node into daughter nodes\n", "\n", - "\n", - "\n", - "4. 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. \n", - "\n", + "4. 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." + ] + }, + { + "cell_type": "markdown", + "id": "2e732ead", + "metadata": { + "editable": true + }, + "source": [ "## Random Forests Compared with other Methods on the Cancer Data" ] }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Logistic Regression: 0.95\n", - "Test set accuracy with SVM: 0.63\n", - "Test set accuracy with Decision Trees: 0.92\n", - "Test set accuracy Logistic Regression with scaled data: 0.96\n", - "Test set accuracy SVM with scaled data: 0.96\n", - "Test set accuracy with Decision Trees and scaled data: 0.90\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", - "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", - "\n", - "Increase the number of iterations (max_iter) or scale the data as shown in:\n", - " https://scikit-learn.org/stable/modules/preprocessing.html\n", - "Please also refer to the documentation for alternative solver options:\n", - " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", - " extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1. 0.8 0.93333333 1. 1. 0.92857143\n", - " 1. 0.92857143 0.92857143 0.92857143]\n", - "Test set accuracy with Random Forests and scaled data: 0.97\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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j9q+9ZcpU4b+/fvj5+fH448/brscdrMiRYqwdOlSRo8eTUBAAPXr17d9yE+cOJGmTZvSvn172//B7Ro1ahRVqlQhJiaGKlWqMH78eMD6JXLcuHGA9RJq9+7dqVevHkFBQUyfPt121vX555/z/PPPU7t2bWrVqsXDDz9s2/bff/9Nu3btciXOHLnVzg1HPRq5emTeiZrH4uPj5cMPP5TixYsLICVLlpSpU6fm+2Gv2ZUf5qO400RFRYmIdThko0aNJDg42MER5S/33XefREREODqMPLdjxw55+umns9VWO7PzkYsXL9omfQfrPMpTpkyxXapQ6lYMGDCA/fv3ExsbS9++fTP9dn4n+vjjjwkLC8uT+Vjyk4sXLzJx4kSH7FsTxW1wc3OjfPny1KhRg2nTpvHII484OiRVAHz77beODiFfu1NL7d8YteUITpcoYorEg7971g3t2uECWQAAFClJREFUQERYuHAhTZo0oU6dOhhj+OabbyhdujTFixd3SExKKWVvTteZHVLlPKzukef7PXDgAO3ataN3794MGTLENqqlYsWKmiSUUgWa0yWKvBYbG8ubb76Jv78/f/75J25ubjz99NOODksppfKM0116ykurVq1i8ODBtnHbzz77LB988AFubm4OjkwppfKOnlFk4Pz583Ts2JHDhw9Tr1491q1bxxdffKFJQjmN48ePc9ddd1G/fn3q1atHnz59bCVIwFrGpEmTJray47Nnz071+vnz5+Pr64uPjw/16tWzlSXJT5YtW8aECRMcHUaGlixZgo+PD4UKFWL79u0Ztvvtt9+oW7cutWvXTlUu//Lly7Rv3x5PT0/at29PREQEAHv27OGZZ56xd/j/utVxtY562LMoYFJSklgsFtvypEmT5L333nOaAn72cPN4bBif6pGRWbO2p2rXv//yDNs6miPvebFnyfNjx46Jj4+PiFiP8cEHH5RvvvlGRETOnj0rHh4etns0wsPDpWHDhvLzzz+LiMjKlSulQYMGcvr0aRERuX79usyePTtX48uN8t/Nmze3lU3Pq33mxP79+yU0NFRatWol27ZtS7dNYmKi1KxZU44cOSJxcXHi7///7Z17dBRVnsc/PyAQBhByRDmREAEfkxBJCK8oyyOMbHQAIyoK6KKogCADLKzy0DkDh1knKI+zAxxEYDngMBIFBR+7jsIqD1E0CEF5CQjiBAKBZIZEgvLIb/+o6kon6e4UIel0kvs5p05Xdd2691e/rq5f3Ud9b7zu27dPVVWff/55TUtLU1XVtLQ0nTJlinPc3XffrcePH/dbbmmoSzLjVUVmZiY9evQoIVkwZcoUpk2bRsOGDavRsrqNW5lxf3LgV65c4bnnnqNjx47Ex8ezcOFCANq2bcusWbPo2bMna9euZc2aNXTs2JE77riDqVOn+rTFnzT41KlTWbx4sZNu5syZzJs3D4A5c+bQrVs34uPjmTFjhnNOpSXPx44dS9euXYmLi3PSgaU3FRMTQ8+ePZkwYYLzJrM/OXN/1K9fn+7du3PixAnA0rQaMWKE845Gy5YteeWVV5yn2bS0NObOnevoDIWHhzNq1Kgy+fqTdPeWmZg7d67zdrK3/PdLL71E27ZtHQWDwsJC2rRpw6VLl1xJqh86dIhGjRo5sunvv/8+SUlJJCYm0q9fP06fPu38HqNHjyYlJYXHH3+cM2fO8NBDD9GtWze6devG9u3bAf/X0LUQGxtbRverNF999RW33nor7du3p2HDhgwdOtT5Pd99912eeOIJAJ544glHchwswcj09PRrttEVFY0w1bVER0RU6iQ4+fn5OmnSJK1Xr54C2qlTpxK1irpOddco3MqM+5MDX7x4sT744IPOPo8s9c0336wvv/yyqqqeOHFC27Rpozk5OXrp0iXt27evrl+/vowt/qTBd+3apb1793bSxcbG6vHjx/Wjjz7SUaNGObWGAQMG6JYtW8pInnvbdfnyZe3Tp4/u2bNHL1y4oFFRUXr06FFVVR06dKgjOe1Pzry07zw1igsXLmhycrLu2bNHVVUfeOAB3bBhQ4n0//znPzUiIkJVfUuS+8KfpLunXFXVOXPm6IwZM1S1pPy3qmpqaqp+8sknqmrJfz/99NOq6k5SfcWKFTp58mRnOy8vz/nvLlu2zNk3Y8YM7dy5sxYWFqqq6rBhw3Tbtm2qakmxx8TEqKr/a8ib/Px8n5LjCQkJTi3AF4FqFGvXrnXOW1X19ddfdyTbmzdvXiJtixYtnPXPPvtMBw4c6DPPOv9m9g0FTeEv+2H+b8pPHABVZcOGDUyYMIGsrCzq1avHxIkTmTVrlhHvCzHcyIz7kwPftGkTY8aMoUED61L3yHxDsQx1RkYGycnJjq7RY489xtatWxk0aFAJO1R9S4MnJiaSk5PDyZMnOXPmDBEREURHR7NgwQI+/vhjEhMTAatGcvjwYaKjo0tIngO89dZbLF26lMuXL5Odnc3+/fspKiqiffv2tGvXDoBhw4Y5/Qj+5MxjY2NL2Pz999/TqVMnDh8+zODBg4mPj3fOxdd1frXXvj9J90B4/O5Zf/PNN+nbty/p6ek8++yzriXVS0uOZ2VlMWTIELKzs7l48aLjN7BE+Dyqq5s2bWL//v3Ovvz8fAoKCvxeQ940a9YsaJLj5XHjjTdy8uTJSrXFHzUuUFQGZ8+e5cknn+SDDz4AoGvXrrz22mtGKsEFqjPKTwSMHt2F0aO7VEqZbmTG/cmB+7shQkkZal98+eWXPPPMM4A1k1peXp5PaXCwBALXrVvHqVOnGDp0qJPv9OnTnTw8/PDDDyUkx48dO8bcuXPJyMggIiKCESNGBJQc9+TtS868NLfccguZmZlkZ2eTnJzMe++9R2pqKnFxcezcubPE/Btff/01HTp0AKyAXFqS3C2BJMehpNx7amoq06dPJy8vzynv/PnzriTVGzduzLlz55zt8ePHM3nyZFJTU9m8ebPT3FW6zKKiIr744osyct3jx4/3eQ15U1BQQK9evXza88Ybbzj+uxr8SY6DNctgdnY2kZGRZGdnc+ONxbN7BlNyvE72UTRr1owjR45w3XXXsWjRInbs2GGCRA3Hnxx4SkoKS5YscQJKXl5emWOTkpLYsmULZ8+e5cqVK6xZs4Y+ffqQlJTkSEqnpqb6lQYHS3I8PT2ddevWMXjwYMCSHF+xYoUzpeeJEyfIySmrfJyfn0+TJk1o3rw5p0+f5sMPPwQsSe+jR486tSbv6Vrdypl7iIyMZPbs2aSlpQEwbtw4Vq5c6dyMc3NzmTp1KlOmTAFg+vTpTJkyhVOnTgHWE/2CBQvK5OtL0r1Vq1bk5OSQm5vLL7/84jyQ+aJp06Z0796diRMnMnDgQOrXr+9aUt1bchxKXgOrVq3yW2ZKSgqLFi1ytj0+CCQp78FTo/C1VCRIgKUYfPjwYY4dO8bFixdJT093AnhqaqpzLqtWrao2yfEaFyiOt8yDeclXfdz27dsdHf5GjRqRnp7OwYMHGTdunJm3uhbgTw585MiRREdHO5LivnSUIiMjSUtLo2/fviQkJNC5c+cSf0gP/qTBwXoCLygooHXr1o5sd0pKCo8++ih33XUXHTt2ZPDgwRQUFJTJNyEhgcTEROLi4njqqaecWd4aN27M4sWLuffee+nZsyetWrVyJMfdypl7M2jQIAoLC9m2bRuRkZGsXr2aUaNGERMTQ48ePXjqqaec2eH69+/PuHHj6NevH3FxcXTp0sXnJFG+JN3DwsKcObIHDhxYrnz3kCFDWL16dYkmKTeS6r1792b37t1OsJw5cyYPP/wwvXr1cjq4fbFgwQJ27txJfHw8HTp0YMmSJUBgSfmKsn79eqKiopxJpDwz6J08edLRhmvQoAGLFi3innvuITY2lkceeYS4uDgApk2bxsaNG7ntttvYuHEj06ZNc/L+9NNPGTBgQKXYWS4V7dyoruVqh8eePXtWR44cqUCJDiODO4zMePXikRwvKirSsWPH6vz586vZotBiwoQJunHjxuo2I+j8/PPPmpSU5He4rxke6xJVZdWqVcTExLB8+XLCwsK46aabArb7GgyhxrJly+jUqRNxcXGcO3euTH9HXeeFF16gsLCwus0IOj/++COzZ892BmlUNVLTbpzya1H9LrDNBw8eZMyYMWzZsgWwxm6/+uqrlTaDVV3iwIEDZUbSGAyG0MbX/1ZEvlbVrhXJr9aNesrKyiIhIYGLFy/SsmVL5s2bx/Dhw82Q12tAA4wcMhgMoUVVPPzXukARFRXF8OHDqVevHrNnzy4xbt5w9YSHh5Obm8v1119vgoXBEOKoKrm5uYSHh1dqvjW+6Sk7O5tJkyYxZswYZ9xzUVER9erV2u6XoHLp0iWysrLKjIU3GAyhSXh4OFFRUYSFhZX4vk41PXU52gZuWMSVU2N59dVXefHFF8nPz+fIkSNkZGQgIiZIVCJhYWEl3nA1GAx1jyq9o4rIvSLynYgcEZFpPvaLiCyw938jIq7eett1+e/ceeedjB8/nvz8fO677z7efvtt0zRiMBgMVUCVNT2JSH3gEPCvQBaQAQxT1f1eafoD44H+QBLwZ1UNOHN6q3rN9KyepwglKiqKhQsXcv/995sgYTAYDAG4lqanqqxRdAeOqOpRVb0IpAOlX3e9H3jdfh9kB9BCRCIDZZqnhQjC5MmTOXDgAIMGDTJBwmAwGKqQquyjaA383Ws7C6vWUF6a1kC2dyIRGQ2Mtjd/AfbOnz+f+fPnV6rBNZCWwNnqNiJEML4oxviiGOOLYgIrSAagKgOFr8f80u1cbtKgqkuBpQAisrOi1afahvFFMcYXxRhfFGN8UYyI+J+LtRyqsukpC2jjtR0FlBZPd5PGYDAYDNVIVQaKDOA2EWknIg2BocB7pdK8Bzxuj366EzinqtmlMzIYDAZD9VFlTU+qellEfgd8BNQHVqjqPhEZY+9fAvwv1oinI0Ah8KSLrJdWkck1EeOLYowvijG+KMb4opgK+6LGvZltMBgMhuBiXmE2GAwGQ0BMoDAYDAZDQEI2UFSV/EdNxIUvHrN98I2IfC4iCdVhZzAozxde6bqJyBURGRxM+4KJG1+ISLKIZIrIPhHZEmwbg4WL/0hzEXlfRPbYvnDTH1rjEJEVIpIjInv97K/YfbOiU+NV5YLV+f090B5oCOwBOpRK0x/4EOtdjDuBL6vb7mr0RQ8gwl7/bV32hVe6T7AGSwyubrur8bpoAewHou3tG6vb7mr0xQvAy/b6DUAe0LC6ba8CX/QGOgN7/eyv0H0zVGsUVSL/UUMp1xeq+rmq/sPe3IH1PkptxM11AZZ+2NtATjCNCzJufPEo8I6q/gigqrXVH258oUAzsfR+mmIFisvBNbPqUdWtWOfmjwrdN0M1UPiT9rjaNLWBqz3Pp7GeGGoj5fpCRFoDDwBLgmhXdeDmurgdiBCRzSLytYg8HjTrgosbXywCYrFe6P0WmKiqRcExL6So0H0zVOejqDT5j1qA6/MUkb5YgaJnlVpUfbjxxX8BU1X1Si0Xi3TjiwZAF+BuoDHwhYjsUNVDVW1ckHHji3uATOA3wC3ARhHZpqr5VW1ciFGh+2aoBgoj/1GMq/MUkXhgOfBbVc0Nkm3Bxo0vugLpdpBoCfQXkcuquiE4JgYNt/+Rs6p6HjgvIluBBCz5/9qEG188CcxWq6H+iIgcA2KAr4JjYshQoftmqDY9GfmPYsr1hYhEA+8Aw2vh06I35fpCVdupaltVbQusA56thUEC3P1H3gV6iUgDEfkVlnrzgSDbGQzc+OJHrJoVItIKS0n1aFCtDA0qdN8MyRqFVp38R43DpS/+AFwPLLafpC9rLVTMdOmLOoEbX6jqARH5G/ANUAQsV1WfwyZrMi6viz8CK0XkW6zml6mqWuvkx0VkDZAMtBSRLGAGEAbXdt80Eh4Gg8FgCEioNj0ZDAaDIUQwgcJgMBgMATGBwmAwGAwBMYHCYDAYDAExgcJgMBgMATGBwhCS2MqvmV5L2wBpf6qE8laKyDG7rF0iclcF8lguIh3s9RdK7fv8Wm208/H4Za+thtqinPSdRKR/ZZRtqLuY4bGGkEREflLVppWdNkAeK4EPVHWdiKQAc1U1/hryu2abystXRFYBh1T1pQDpRwBdVfV3lW2Loe5gahSGGoGINBWR/7Of9r8VkTKqsSISKSJbvZ64e9nfp4jIF/axa0WkvBv4VuBW+9jJdl57ReTf7e+aiMj/2HMb7BWRIfb3m0Wkq4jMBhrbdvzV3veT/fmm9xO+XZN5SETqi8gcEckQa56AZ1y45QtsQTcR6S7WXCS77c9f228pzwKG2LYMsW1fYZez25cfDYYyVLd+ulnM4msBrmCJuGUC67FUBK6z97XEerPUUyP+yf78D+BFe70+0MxOuxVoYn8/FfiDj/JWYs9dATwMfIklqPct0ARLmnofkAg8BCzzOra5/bkZ6+ndsckrjcfGB4BV9npDLCXPxsBo4Pf2942AnUA7H3b+5HV+a4F77e3rgAb2ej/gbXt9BLDI6/g/Af9mr7fA0n1qUt2/t1lCewlJCQ+DAbigqp08GyISBvxJRHpjyVG0BloBp7yOyQBW2Gk3qGqmiPQBOgDbbXmThlhP4r6YIyK/B85gqfDeDaxXS1QPEXkH6AX8DZgrIi9jNVdtu4rz+hBYICKNgHuBrap6wW7uipfiGfmaA7cBx0od31hEMoG2wNfARq/0q0TkNiw10DA/5acAqSLynL0dDkRTOzWgDJWECRSGmsJjWDOTdVHVSyLyA9ZNzkFVt9qBZADwFxGZA/wD2Kiqw1yU8byqrvNsiEg/X4lU9ZCIdMHSzEkTkY9VdZabk1DVn0VkM5bs9RBgjac4YLyqflROFhdUtZOINAc+AMYBC7C0jD5V1Qfsjv/Nfo4X4CFV/c6NvQYDmD4KQ82hOZBjB4m+wM2lE4jIzXaaZcB/Y00JuQP4FxHx9Dn8SkRud1nmVmCQfUwTrGajbSJyE1CoqquBuXY5pblk12x8kY4lxtYLS8gO+3Os5xgRud0u0yeqeg6YADxnH9McOGHvHuGVtACrCc7DR8B4satXIpLorwyDwYMJFIaawl+BriKyE6t2cdBHmmQgU0R2Y/Uj/FlVz2DdONeIyDdYgSPGTYGqugur7+IrrD6L5aq6G+gIfGU3Ab0I/KePw5cC33g6s0vxMdbcxpvUmroTrLlE9gO7RGQv8Brl1PhtW/ZgyWq/glW72Y7Vf+HhU6CDpzMbq+YRZtu21942GAJihscaDAaDISCmRmEwGAyGgJhAYTAYDIaAmEBhMBgMhoCYQGEwGAyGgJhAYTAYDIaAmEBhMBgMhoCYQGEwGAyGgPw/7oIVUk8IZpUAAAAASUVORK5CYII=\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 33, + "id": "befbdbd7", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -596,7 +2660,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9173c1f7", + "metadata": { + "editable": true + }, "source": [ "Recall that the cumulative gains curve shows the percentage of the\n", "overall number of cases in a given category *gained* by targeting a\n", @@ -604,16 +2671,27 @@ "\n", "Similarly, the receiver operating characteristic curve, or ROC curve,\n", "displays the diagnostic ability of a binary classifier system as its\n", - "discrimination threshold is varied. It plots the true positive rate against the false positive rate.\n", - "\n", - "\n", + "discrimination threshold is varied. It plots the true positive rate against the false positive rate." + ] + }, + { + "cell_type": "markdown", + "id": "9cb41a55", + "metadata": { + "editable": true + }, + "source": [ "## Compare Bagging on Trees with Random Forests" ] }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, + "execution_count": 34, + "id": "d83311e2", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "bag_clf = BaggingClassifier(\n", @@ -623,20 +2701,13 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.9790209790209791" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 35, + "id": "8cd7ddc3", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "bag_clf.fit(X_train, y_train)\n", "y_pred = bag_clf.predict(X_test)\n", @@ -649,7 +2720,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "27c06676", + "metadata": { + "editable": true + }, "source": [ "## Boosting, a Bird's Eye View\n", "\n", @@ -661,9 +2735,16 @@ "This is done by applying in an iterative way a weak (or a standard\n", "classifier like decision trees) to modify the data. In each iteration\n", "we emphasize those observations which are misclassified by weighting\n", - "them with a factor.\n", - "\n", - "\n", + "them with a factor." + ] + }, + { + "cell_type": "markdown", + "id": "42ba5198", + "metadata": { + "editable": true + }, + "source": [ "## What is boosting? Additive Modelling/Iterative Fitting\n", "\n", "Boosting is a way of fitting an additive expansion in a set of\n", @@ -673,7 +2754,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7d10fac1", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n", @@ -682,7 +2766,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9e3039f9", + "metadata": { + "editable": true + }, "source": [ "where $\\beta_m$ are the expansion parameters to be determined in a\n", "minimization process and $b(x;\\gamma_m)$ are some simple functions of\n", @@ -696,7 +2783,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "afc02aa3", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sigma(t) = \\frac{1}{1+\\exp{(-t)}},\n", @@ -705,7 +2795,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a614ac0d", + "metadata": { + "editable": true + }, "source": [ "where $t=\\gamma_0+\\gamma_1 x$ and the parameters $\\gamma_0$ and\n", "$\\gamma_1$ were determined by the Logistic Regression fitting\n", @@ -716,7 +2809,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a8df1b75", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\frac{1}{n} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -725,7 +2821,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f5fc30cf", + "metadata": { + "editable": true + }, "source": [ "In this case the function $f(x)$ was replaced by the design matrix\n", "$\\boldsymbol{X}$ and the unknown linear regression parameters $\\boldsymbol{\\beta}$,\n", @@ -735,7 +2834,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c7fe95ae", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{\\beta}=\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n", @@ -744,11 +2846,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2c6f0083", + "metadata": { + "editable": true + }, + "source": [ + "In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters $\\beta_m$ and $\\gamma_m$." + ] + }, + { + "cell_type": "markdown", + "id": "b73d8c2d", + "metadata": { + "editable": true + }, "source": [ - "In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters $\\beta_m$ and $\\gamma_m$.\n", - "\n", - "\n", "## Iterative Fitting, Regression and Squared-error Cost Function\n", "\n", "The way we proceed is as follows (here we specialize to the squared-error cost function)\n", @@ -765,12 +2877,18 @@ "\n", "c. Determine then the new values $f_m(x)=f_{m-1}(x) +\\beta_m b(x;\\gamma_m)$\n", "\n", - "\n", "We could use any of the algorithms we have discussed till now. If we\n", "use trees, $\\gamma$ parameterizes the split variables and split points\n", - "at the internal nodes, and the predictions at the terminal nodes.\n", - "\n", - "\n", + "at the internal nodes, and the predictions at the terminal nodes." + ] + }, + { + "cell_type": "markdown", + "id": "5c6f971b", + "metadata": { + "editable": true + }, + "source": [ "## Squared-Error Example and Iterative Fitting\n", "\n", "To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.\n", @@ -782,7 +2900,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e0ed27b3", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\beta_m,\\gamma_m) = \\mathrm{argmin}_{\\beta,\\lambda}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta b(x;\\gamma))^2=\\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta(1+\\gamma x_i))^2.\n", @@ -791,7 +2912,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "fc9f5f4f", + "metadata": { + "editable": true + }, "source": [ "We start our iteration by simply setting $f_0(x)=0$. \n", "Taking the derivatives with respect to $\\beta$ and $\\gamma$ we obtain" @@ -799,7 +2923,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "02c2ec22", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial {\\cal C}}{\\partial \\beta} = -2\\sum_{i}(1+\\gamma x_i)(y_i-\\beta(1+\\gamma x_i))=0,\n", @@ -808,14 +2935,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e2288bd2", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "98153a85", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial {\\cal C}}{\\partial \\gamma} =-2\\sum_{i}\\beta x_i(y_i-\\beta(1+\\gamma x_i))=0.\n", @@ -824,14 +2957,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c39e24a0", + "metadata": { + "editable": true + }, "source": [ "We can then rewrite these equations as (defining $\\boldsymbol{w}=\\boldsymbol{e}+\\gamma \\boldsymbol{x})$ with $\\boldsymbol{e}$ being the unit vector)" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "afdfb641", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\gamma \\boldsymbol{w}^T(\\boldsymbol{y}-\\beta\\gamma \\boldsymbol{w})=0,\n", @@ -840,14 +2979,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3039d39b", + "metadata": { + "editable": true + }, "source": [ "which gives us $\\beta = \\boldsymbol{w}^T\\boldsymbol{y}/(\\boldsymbol{w}^T\\boldsymbol{w})$. Similarly we have" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "2ce0aa48", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\beta\\gamma \\boldsymbol{x}^T(\\boldsymbol{y}-\\beta(1+\\gamma \\boldsymbol{x}))=0,\n", @@ -856,16 +3001,25 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "119b9640", + "metadata": { + "editable": true + }, "source": [ "which leads to $\\gamma =(\\boldsymbol{x}^T\\boldsymbol{y}-\\beta\\boldsymbol{x}^T\\boldsymbol{e})/(\\beta\\boldsymbol{x}^T\\boldsymbol{x})$. Inserting\n", "for $\\beta$ gives us an equation for $\\gamma$. This is a non-linear equation in the unknown $\\gamma$ and has to be solved numerically. \n", "\n", "The solution to these two equations gives us in turn $\\beta_1$ and $\\gamma_1$ leading to the new expression for $f_1(x)$ as\n", - "$f_1(x) = \\beta_1(1+\\gamma_1x)$. Doing this $M$ times results in our final estimate for the function $f$. \n", - "\n", - "\n", - "\n", + "$f_1(x) = \\beta_1(1+\\gamma_1x)$. Doing this $M$ times results in our final estimate for the function $f$." + ] + }, + { + "cell_type": "markdown", + "id": "419822da", + "metadata": { + "editable": true + }, + "source": [ "## Iterative Fitting, Classification and AdaBoost\n", "\n", "Let us consider a binary classification problem with two outcomes $y_i \\in \\{-1,1\\}$ and $i=0,1,2,\\dots,n-1$ as our set of\n", @@ -877,7 +3031,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1430356a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{\\overline{err}}=\\frac{1}{n} \\sum_{i=0}^{n-1} I(y_i\\ne G(x_i)).\n", @@ -886,7 +3043,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c3a81493", + "metadata": { + "editable": true + }, "source": [ "The iterative procedure starts with defining a weak classifier whose\n", "error rate is barely better than random guessing. The iterative\n", @@ -899,7 +3059,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "190028df", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n", @@ -908,14 +3071,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bbbca2ac", + "metadata": { + "editable": true + }, "source": [ "will be a function of" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "7aee5d30", + "metadata": { + "editable": true + }, "source": [ "$$\n", "G_M(x) = \\mathrm{sign} \\sum_{i=1}^M \\alpha_m G_m(x).\n", @@ -924,7 +3093,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "16cc7ab6", + "metadata": { + "editable": true + }, "source": [ "## Adaptive Boosting, AdaBoost\n", "\n", @@ -933,7 +3105,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0e525c09", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_m(x) = f_{m-1}(x)+\\beta_mG_m(x).\n", @@ -942,7 +3117,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "df0326b4", + "metadata": { + "editable": true + }, "source": [ "The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the\n", "exponential cost/loss function defined as" @@ -950,7 +3128,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "07d19584", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}\\exp{(-y_i(f_{m-1}(x_i)+\\beta G(x_i))}.\n", @@ -959,7 +3140,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "76774593", + "metadata": { + "editable": true + }, "source": [ "We optimize $\\beta$ and $G$ for each value of $m=1:M$ as we did in the regression case.\n", "This is normally done in two steps. Let us however first rewrite the cost function as" @@ -967,7 +3151,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bb66a839", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}w_i^{m}\\exp{(-y_i\\beta G(x_i))},\n", @@ -976,10 +3163,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bcd0b507", + "metadata": { + "editable": true + }, + "source": [ + "where we have defined $w_i^m= \\exp{(-y_if_{m-1}(x_i))}$." + ] + }, + { + "cell_type": "markdown", + "id": "0c203949", + "metadata": { + "editable": true + }, "source": [ - "where we have defined $w_i^m= \\exp{(-y_if_{m-1}(x_i))}$.\n", - "\n", "## Building up AdaBoost\n", "\n", "First, for any $\\beta > 0$, we optimize $G$ by setting" @@ -987,7 +3185,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "415377f0", + "metadata": { + "editable": true + }, "source": [ "$$\n", "G_m(x) = \\mathrm{sign} \\sum_{i=0}^{n-1} w_i^m I(y_i \\ne G_(x_i)),\n", @@ -996,7 +3197,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "daaca279", + "metadata": { + "editable": true + }, "source": [ "which is the classifier that minimizes the weighted error rate in predicting $y$.\n", "\n", @@ -1005,7 +3209,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f7bfba93", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\exp{-(\\beta)}\\sum_{y_i=G(x_i)}w_i^m+\\exp{(\\beta)}\\sum_{y_i\\ne G(x_i)}w_i^m,\n", @@ -1014,14 +3221,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4f6a2f84", + "metadata": { + "editable": true + }, "source": [ "which can be rewritten as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "6858be89", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\exp{(\\beta)}-\\exp{-(\\beta)})\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i))+\\exp{(-\\beta)}\\sum_{i=0}^{n-1}w_i^m=0,\n", @@ -1030,14 +3243,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "eecfcfb5", + "metadata": { + "editable": true + }, "source": [ "which leads to" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "cd73a579", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\beta_m = \\frac{1}{2}\\log{\\frac{1-\\mathrm{\\overline{err}}}{\\mathrm{\\overline{err}}}},\n", @@ -1046,14 +3265,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "33302d95", + "metadata": { + "editable": true + }, "source": [ "where we have redefined the error as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "ce21db0f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{\\overline{err}}_m=\\frac{1}{n}\\frac{\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i)}{\\sum_{i=0}^{n-1}w_i^m},\n", @@ -1062,14 +3287,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1fd9965f", + "metadata": { + "editable": true + }, "source": [ "which leads to an update of" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "2a092b92", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_m(x) = f_{m-1}(x) +\\beta_m G_m(x).\n", @@ -1078,14 +3309,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1553ca38", + "metadata": { + "editable": true + }, "source": [ "This leads to the new weights" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "60bd5373", + "metadata": { + "editable": true + }, "source": [ "$$\n", "w_i^{m+1} = w_i^m \\exp{(-y_i\\beta_m G_m(x_i))}\n", @@ -1094,7 +3331,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "eace9c52", + "metadata": { + "editable": true + }, "source": [ "## Adaptive boosting: AdaBoost, Basic Algorithm\n", "\n", @@ -1111,7 +3351,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8cb0caec", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{err}=\\frac{1}{n}\\sum_{i=0}^{n-1}I(y_i\\ne G(x_i)),\n", @@ -1120,10 +3363,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4545fb70", + "metadata": { + "editable": true + }, + "source": [ + "where the function $I()$ is one if we misclassify and zero if we classify correctly." + ] + }, + { + "cell_type": "markdown", + "id": "c8c0b69c", + "metadata": { + "editable": true + }, "source": [ - "where the function $I()$ is one if we misclassify and zero if we classify correctly. \n", - "\n", "## Basic Steps of AdaBoost\n", "\n", "With the above definitions we are now ready to set up the algorithm for AdaBoost.\n", @@ -1135,7 +3389,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9a715091", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{\\overline{err}}_m=\\frac{\\sum_{i=0}^{n-1}w_i^m I(y_i\\ne G(x_i))}{\\sum_{i=0}^{n-1}w_i},\n", @@ -1144,7 +3401,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ebec62af", + "metadata": { + "editable": true + }, "source": [ "1. Then we start looping over all attempts at classifying, namely we start an iterative process for $m=1:M$, where $M$ is the final number of classifications. Our given classifier could for example be a plain decision tree.\n", "\n", @@ -1156,7 +3416,6 @@ "\n", "d. Set the new weights to $w_i = w_i\\times \\exp{(\\alpha_m I(y_i\\ne G(x_i)}$.\n", "\n", - "\n", "5. Compute the new classifier $G(x)= \\sum_{i=0}^{n-1}\\alpha_m I(y_i\\ne G(x_i)$.\n", "\n", "For the iterations with $m \\le 2$ the weights are modified\n", @@ -1165,10 +3424,16 @@ "classified properly. As this proceeds, the observations which were\n", "difficult to classifiy correctly are given a larger influence. Each\n", "new classification step $m$ is then forced to concentrate on those\n", - "observations that are missed in the previous iterations.\n", - "\n", - "\n", - "\n", + "observations that are missed in the previous iterations." + ] + }, + { + "cell_type": "markdown", + "id": "6df3a47f", + "metadata": { + "editable": true + }, + "source": [ "## AdaBoost Examples\n", "\n", "Using **Scikit-Learn** it is easy to apply the adaptive boosting algorithm, as done here." @@ -1176,46 +3441,13 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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OTmZcuXK4ePjw2233ZbjScLFxYXGjRvj6+vLQw89RGRkpO25ffv20aFDB+688048PT159913SX2BxsqVK2nevDne3t54eXkxYsSIHI3NkXr37k2jRo2YMmWKXe0ddbmxiDB06FDq1atHo0aN2LlzZ6btOnTowOXLlx0SR06YP38+np6eeHp6Mn/+/AzbnDhxgoCAABo1akT79u05deqU7blRo0bh6+uLr68vixYtsq3v1asXhw8fdnj8TiMi+erBnYjKPSEhIZk+d+zYMQkODpaIiAixWCwOi6FUqVK2n/v27SvvvfeeiIjExMRInTp1ZNWqVSIicvXqVencubPMnDlTRET27NkjderUkf3794uISGJiosyaNStHY0tMTMzR7V0TFhYmNWrUuKHXpH6fctIvv/winTt3FovFIlu2bJEWLVpk2O7nn3+WYcOG3dC2k5KSciJEu1y8eFFq164tFy9elIiICKldu7ZERESka/f444/Ll19+KSIia9eulaeeekpErMd33333SWJiokRHR0uzZs0kKipKREQ2bNggzz33XK4dS3Yy+rsFdshNfu7q+QFlFxHBGJPmUbt2bfz8/KhYsSJFihRJ97y9jxvRunVrTp8+DcC3337LXXfdxf333w9AyZIlmTlzJh9++CEAEyZM4I033sDLywsAV1dXBg0alG6b0dHR9O/fn4YNG9KoUSMWL7aWMkv9Df3HH3/k6aefBuDpp5/m5Zdf5t577+XVV1+lVq1aaXo59erV49y5c4SHh9O9e3f8/f3x9/fnr7/+SrfvuLg4276bNGnC+vXrAbj//vs5f/48jRs3ZtOmTWlec+7cObp164afnx9+fn5s3rw53fEEBATQtGlTGjZsyLJlywC4evUqXbp0wc/PL8034tdee40GDRrQqFGjDHtcy5Yto2/fvhhjaNWqFZGRkYSFhaVrt2DBAh555BHb8qOPPkqzZs3w8fHhk08+sa0vXbo0b775Ji1btmTLli188803tGjRgsaNGzNgwACSk5MBGDhwIM2bN8fHx4e33nor3f5u1KpVq+jYsSMVK1akQoUKdOzYkd9++y1du5CQEAICrGfe7733Xtv7FxISQrt27XB1daVUqVL4+fnZXt+2bVvWrFlDUlLSLceZJ91shnHWQ3sUuSskJETi4uLk0KFDgvWy6Bx/ZOfaN+WkpCR5/PHH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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 36, + "id": "a762adfc", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.ensemble import AdaBoostClassifier\n", "\n", @@ -1242,7 +3474,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "38d12d89", + "metadata": { + "editable": true + }, "source": [ "## Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent\n", "\n", @@ -1252,8 +3487,16 @@ "\n", "In order to understand the method, let us illustrate its basics by\n", "bringing back the essential steps in linear regression, where our cost\n", - "function was the least squares function.\n", - "\n", + "function was the least squares function." + ] + }, + { + "cell_type": "markdown", + "id": "1b792064", + "metadata": { + "editable": true + }, + "source": [ "## The Squared-Error again! Steepest Descent\n", "\n", "We start again with our cost function ${\\cal C}(\\boldsymbol{y}m\\boldsymbol{f})=\\sum_{i=0}^{n-1}{\\cal L}(y_i, f(x_i))$ where we want to minimize\n", @@ -1262,7 +3505,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "beaf036c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\hat{\\boldsymbol{f}}) = \\mathrm{argmin}_{\\boldsymbol{f}}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -1271,14 +3517,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "702b65a0", + "metadata": { + "editable": true + }, "source": [ "We define a real function $h_m(x)$ that defines our final function $f_M(x)$ as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "2652a1da", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_M(x) = \\sum_{m=0}^M h_m(x).\n", @@ -1287,14 +3539,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "be287ca2", + "metadata": { + "editable": true + }, "source": [ "In the steepest decent approach we approximate $h_m(x) = -\\rho_m g_m(x)$, where $\\rho_m$ is a scalar and $g_m(x)$ the gradient defined as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "ff3901b6", + "metadata": { + "editable": true + }, "source": [ "$$\n", "g_m(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{m-1}(x_i)}.\n", @@ -1303,7 +3561,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5228f5fd", + "metadata": { + "editable": true + }, "source": [ "With the new gradient we can update $f_m(x) = f_{m-1}(x) -\\rho_m g_m(x)$. Using the above squared-error function we see that\n", "the gradient is $g_m(x_i) = -2(y_i-f(x_i))$.\n", @@ -1313,7 +3574,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1e30448f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\rho_1) = \\mathrm{argmin}_{\\rho}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i+2\\rho y_i)^2.\n", @@ -1322,7 +3586,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5bd43cc1", + "metadata": { + "editable": true + }, "source": [ "## Steepest Descent Example\n", "\n", @@ -1331,7 +3598,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "acaae452", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_1(x) = f_{0}(x) -\\rho_1 g_1(x)=-y_i.\n", @@ -1340,14 +3610,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "022645ac", + "metadata": { + "editable": true + }, "source": [ "We can then proceed and compute" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "8e6bbfb4", + "metadata": { + "editable": true + }, "source": [ "$$\n", "g_2(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i,\n", @@ -1356,10 +3632,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "66ce0709", + "metadata": { + "editable": true + }, + "source": [ + "and find a new value for $\\rho_2=-1/2$ and continue till we have reached $m=M$. We can modify the steepest descent method, or steepest boosting, by introducing what is called **gradient boosting**." + ] + }, + { + "cell_type": "markdown", + "id": "8ac79309", + "metadata": { + "editable": true + }, "source": [ - "and find a new value for $\\rho_2=-1/2$ and continue till we have reached $m=M$. We can modify the steepest descent method, or steepest boosting, by introducing what is called **gradient boosting**. \n", - "\n", "## Gradient Boosting, algorithm\n", "\n", "Steepest descent is however not much used, since it only optimizes $f$ at a fixed set of $n$ points,\n", @@ -1371,7 +3658,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d562f162", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f})=\\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -1380,7 +3670,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9e609544", + "metadata": { + "editable": true + }, "source": [ "The way we proceed in an iterative fashion is to\n", "1. Initialize our estimate $f_0(x)$.\n", @@ -1393,77 +3686,28 @@ "\n", "c. update the estimate $f_m(x) = f_{m-1}(x)+h_m(u_m,x)$;\n", "\n", - "\n", - "4. The final estimate is then $f_M(x) = \\sum_{m=1}^M h_m(u_m,x)$.\n", - "\n", + "4. The final estimate is then $f_M(x) = \\sum_{m=1}^M h_m(u_m,x)$." + ] + }, + { + "cell_type": "markdown", + "id": "eced6bdc", + "metadata": { + "editable": true + }, + "source": [ "## Gradient Boosting, Examples of Regression" ] }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Max depth: 1\n", - "Error: 0.5620020701766795\n", - "Bias^2: 0.28821372634522713\n", - "Var: 0.27378834383145245\n", - "0.5620020701766795 >= 0.28821372634522713 + 0.27378834383145245 = 0.5620020701766796\n", - "Max depth: 2\n", - "Error: 0.5645226135245849\n", - "Bias^2: 0.28840851151708147\n", - "Var: 0.2761141020075034\n", - "0.5645226135245849 >= 0.28840851151708147 + 0.2761141020075034 = 0.5645226135245849\n", - "Max depth: 3\n", - "Error: 0.5645244314282715\n", - "Bias^2: 0.2884085290035272\n", - "Var: 0.27611590242474426\n", - "0.5645244314282715 >= 0.2884085290035272 + 0.27611590242474426 = 0.5645244314282715\n", - "Max depth: 4\n", - "Error: 0.5645244314282715\n", - "Bias^2: 0.2884085290035272\n", - "Var: 0.27611590242474426\n", - "0.5645244314282715 >= 0.2884085290035272 + 0.27611590242474426 = 0.5645244314282715\n", - "Max depth: 5\n", - "Error: 0.5645244314282715\n", - "Bias^2: 0.2884085290035272\n", - "Var: 0.27611590242474426\n", - "0.5645244314282715 >= 0.2884085290035272 + 0.27611590242474426 = 0.5645244314282715\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 37, + "id": "613e05cd", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -1515,64 +3759,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "77c76d85", + "metadata": { + "editable": true + }, "source": [ "## Gradient Boosting, Classification Example" ] }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "[1. 0.86666667 0.93333333 0.92857143 1. 0.92857143\n", - " 1. 0.92857143 0.85714286 0.92857143]\n", - "Test set accuracy with Random Forests and scaled data: 0.97\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAATgAAAEWCAYAAADy2YssAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deZwU5Z3H8c93QBSRUxA5BE9EMR4RvKJGY7IBj2CixnjgnajxiDnX3USNxmxMolmzWaMSY0wk8Uq8FTExIYqrQURRUUFUUC4BDwREkeG3f1QN9owz010wPT1d8337qpddVU8/z1PdzW+ep6qepxQRmJnlUU2lK2BmVi4OcGaWWw5wZpZbDnBmllsOcGaWWw5wZpZbDnBtgKSJkk5LXx8n6cEWzn9LSSGpY0vmW2LZnSXdI2mppNvWI58W/1wqQdJ4SSdWuh7tRbsIcJJmS3pDUpeCbadJmljBajUqIv4YEf/W2uVKOlbSFEnLJS1I/yHu2wJZHwn0BTaNiKPWNZNyfS6SDkiD/+0Ntu+Sbp9YYj4/lDSuWLqIGBURv1/H6lpG7SLApToC31jfTJTI1ecm6VvAlcB/kQSjQcCvgdEtkP1gYGZErG6BvMplMbCPpE0Ltp0IzGypAvL4u6kKEZH7BZgNnA+8BfRIt50GTCxIsw/wBLA0/f8+BfsmAj8GHgVWAtsCAXwdeAlYBvwI2AZ4DHgXuBXolL6/J3AvyT+kt9PXAxvkf1r6+iRgUvr6e8DyguVD4IZ0X3fgt8ACYB5wKdAh3dcBuBxYArwCnJXWt2Mjn033NO+jmvn8NiQJgPPT5Upgw3TfAcBc4NvAorQ+J6f7LgZWpfVeDpwK/BAYV5D3loV1S4//lfQzfRU4ruHnUuL39aP0+1oGPAj0buLY6up/DXBWwec3F7iQ+r+RXwKvp9/vk8B+6faRDY5zWjO/m8Lv+mrgzwX5/xR4CFCl/83kZal4BVrlIJMA91ngduDSdNvaAAf0Igk8Y0haesek65um+ycCrwHD0v0bpP8o7wa6pds/SH+cW6dB43ngxPT9mwJHABsDXYHbgDsL6lf4o6/3D7kgzRYkweXgdP1O4FqgC7AZMBk4Pd13BvBi+p5ewD9oOsCNBFY3tq8gzSXA42k5fYD/A36U7jsgff8l6edyMPAe0DPd/0PqB7SG61vW1S09lneB7dN9/YBhDT+XEr+vl4EhQOd0/bImju0AkmC2D/CvdNvBwAQ+/kfw+PS77EgS0BcCGzV2XM38bgq/641JWoknAfuR/EEa2NT34CX70t6azBcC50jq02D7IcBLEXFjRKyOiJtIAsRhBWluiIjp6f4P020/jYh3I2I68BzwYES8EhFLgfHAbgAR8WZE/CUi3ouIZSR/1T9daqUldSYJaL+MiPsl9QVGAedFxIqIWAT8N/CV9C1fBq6MiNcj4i3gJ81kvymwJJrvQh4HXBIRiyJiMUnLbEzB/g/T/R9GxP0krZjtSz2+BtYAO0nqHBEL0s+2oVK+r99FxMyIWEnSmt61uUIj4v+AXpK2B04A/tBImnHpd7k6Iq4gadkWO87Gfjd1+b1HEjR/AYwDzomIuUXyswzaVYCLiOdIuofnN9jVH5jTYNscYEDB+uuNZPlGweuVjaxvAiBpY0nXSpoj6V3gYaCHpA4lVv23wIyI+Gm6PpikNbBA0juS3iFpzW1WcDyF9W14bIXeBHoXucLa8POZk25bm0eDAPke6bFnERErgKNJWqALJN0naWgJ9amrU+H3tXAd6nMjcDZwIHBHw52Svi3phfSK8DskLfXeRfJs7HezVkRMJumSiyQQWwtqVwEudRHwVer/Y5hPEjQKDSI5t1VnfaZd+TbJX/o9I6IbsH+6XcXeKOn89L2nFmx+naRL3DsieqRLt4gYlu5fQNI9rTOomSIeA94HDm8mTcPPZ1C6bV2sIOma1dm8cGdETIiIz5F0T18EflNCferqNK+RtFncSHJe9f60dbWWpP2AfydpHfeMiB4k5//qvsOmfh/N/m4knUXSEpxPcs7VWlC7C3ARMQu4BTi3YPP9wJD0VomOko4GdiRp7bWEriQtunck9SIJskVJGpXW8/C0q1V3DAtITpxfIambpBpJ20iq6/beCpwraaCknny8xUpBXktJuu5XSTo8bW1uIGmUpJ+lyW4CfiCpj6Teafqit0Q04Wlgf0mDJHUH/qPgePtK+kJ6O88HJF3d2kbyKMv3FRGvkpw6+H4ju7uSnGtcDHSUdCHJ+dc6bwBbZrlSKmkIycWh40m6/N+T1GxX2rJpdwEudQnJCW0gOUcGHErS0nqT5C/poRGxpIXKu5LkZPcSkpP1D5T4vqNJTuq/kN6ftlzSNem+E4BOJBcz3gb+TNLqgaTVMwGYBkwlubjSpIj4BfAt4Ack/4BfJ+mq3ZkmuRSYAjwDPJvmeWmJx9CwrL+S/IF5huRKZGFQqiH5DuaTXPH+NEmLqmEeZfu+ImJSRDTWOp1Acl51Jkl3+H3qdz/rbmJ+U9LUYuWkpwTGkZzHnRYRLwH/CdwoacP1OQb7iCI84aWZ5VN7bcGZWTvgAGdmueUAZ2a55QBnZrnV6tPnNEcbbBzaqEelq2EZ7Lxdv+KJrM14/bU5vLlkSdH7L5vTodvgiNUriycEYuXiCRExcn3KWx9tK8Bt1IMNd/tqpathGTw0/oJKV8EyOGi/Pdc7j1i9kg23/3JJad9/+qpiIz3Kqk0FODOrBoIqmfnJAc7MshFQU+ow6spygDOz7LRep/FajQOcmWXkLqqZ5ZlbcGaWS8ItODPLK7kFZ2Y55quoZpZPvshgZnkl3EU1sxxzC87M8sldVDPLKwEdfJHBzPLK5+DMLJ/cRTWzPHMLzsxyyy04M8sleaiWmeWZh2qZWT75IoOZ5Zm7qGaWS54Pzszyy11UM8szX2Qws9zyOTgzyyW5i2pmeeYWnJnllRzgzCyPkhnLHeDMLI8kVOMAZ2Y55RacmeWWA5yZ5ZYDnJnlk9KlCjjAmVkmQm7BmVl+1dR4JIOZ5VS1tOCqIwybWduhDEuxrKReku6QtELSHEnHNpFOki6VNE/SUkkTJQ0rlr8DnJllJqmkpQRXAauAvsBxwNVNBK6jgFOA/YBewGPAjcUyd4Azs0zqLjKsb4CT1AU4ArggIpZHxCTgbmBMI8m3AiZFxCsRUQuMA3YsVlcHODPLTDUqaSliCFAbETMLtk0DGmvB3QxsK2mIpA2AE4EHihXgiwxmlo0yXWToLWlKwfrYiBibvt4EWNog/VKgayP5LAAeAWYAtcDrwGeKFe4AZ2aZZQhwSyJieBP7lgPdGmzrBixrJO1FwAhgC2AhcDzwd0nDIuK9pgp3F9XMMmuhiwwzgY6StivYtgswvZG0uwC3RMTciFgdETcAPSlyHs4BzswyaamLDBGxArgduERSF0mfAkbT+NXRJ4CjJPWVVCNpDLABMKu5MtxFNbPsWu4+368D1wOLgDeBMyNiuqRBwPPAjhHxGvBTYDPgaaALSWA7IiLeaS5zBzgzy0YtN1QrIt4CDm9k+2skFyHq1t8HzkqXkjnAmVlm1TJUywHOzLKrjvjmiwzr43N7bMu0cefw3J/O5TvH7fux/T022YhbLv0Kk393Jo9c+1V23GqzevtrasRj153BXy5rdPidlcFDf53AnrsNY8TOQ/nlFT/72P6I4D++cx4jdh7K/nvuxrSnp67dt/Sddzj5uKPZa7ed2PuTn+CJfz3WmlVvU1pwqFZZlTXASRopaYakWZLOL2dZra2mRlz5zUMY/d1x7HbCVRx10CcYOrhPvTTfG7M/02YtZI+Tr+bUH9/B5eeOqrf/7CP3Ysacxa1Z7XattraWf//Wudxy+z08OuUZbr/tZma88Hy9NH978AFeeXkWk6e9wC9+dTXfPe/stfv+83vf5DOf+zcef+o5/vn4kwzZfofWPoQ2odTglusAJ6kDyUDaUST3qhwjqejYsWoxYocBvDzvLWYveJsPV9dy20PPcei+Q+ulGbplHyY++QoAM19bwuDNe7BZzy4ADOjTjZF7D+F39039WN5WHlOnTGarrbdhy622plOnTnzxyKMZf9899dKMv/duvnzM8Uhi+B57sXTpUhYuXMCyd9/lsUcncfyJpwDQqVMnuvfoUYnDaBPafYAD9gBmpYNjV5GMJRtdxvJaVf/e3Zi76KNRJvMWL2VAn/ojTJ6dtZDR+yd/5YfvMIBBfbszoE9y4/bPzxnJ969+kDVrovUq3c4tmD+f/gMHrl3vP2AAC+bPq59mwXwGFKbpn6SZPfsVNu3dm3POOJUD9xnON876GitWrGi1urc1LTQWtezKGeAGkIwXqzM33VaPpK9JmiJpSnzY5IiLNqexP07RIFZd/sdJ9Ojamcd/ewZnfmlPpr20kNW1axi19xAWvb2Cp2YuaJ3KGpCcX2uoYSujqTSrV6/mmaef4uTTTucf/zeFLht34X8aOYfXXlRLC66cV1EbO7qP/XrSgbdjAWq69q+a5sy8xe8ycLPua9cH9OnO/CX1h9Ate+8DTr/szrXrL95yHrMXvMNRB32CQz+1PSP32o4NO3WkW5cNuf4HX+KUS29vtfq3R/0HDGD+3Llr1+fPm8fm/frXT9N/APMK08xP0kii/4CB7D5iTwAOO/wIfvmLdhrgsg22r6hytuDmkgyMrTMQmF/G8lrVlBfns+3AXgzu14MNOnbgqIN24r5HX6yXpvsmG7FBxw4AnHzo7kyaNodl733AhWP/xrZH/oKhR1/JCRf/mYlTX3VwawW77T6CV16exZzZr7Jq1Sru+PMtjDz40HppRh5yGLfeNI6IYMrkx+nWrRubb96Pvn03Z8CAgbw0cwYAD0/8O9sPbacXGUh6MKUslVbOFtwTwHaStgLmAV8BcnM/RG3tGr555f3cc/kYOtTU8Pv7n+KF2Ys57QvJxAnX3T2FoYN7c933v0Rt7RpenLOYMy67q8K1bt86duzIZVf8kqMOP4Q1tbUcO+Ykhu44jN9ddy0AJ592Op/7/Cj+NmE8I3YeSufOnfmfa65b+/6fXHElZ5x6Ah+uWsXgrbbmV1df11RROdc2up+lUGPnHFosc+lg4EqgA3B9RPy4ufQ1XfvHhrt9tWz1sZY3d/wFla6CZXDQfnvy9NQn1ys6bbT5kBh84q9KSjvzZyOfbGa6pLIr60iGiLgfuL+cZZhZK2sj3c9SeKiWmWUikhvdq4EDnJll5hacmeVWtVxkcIAzs2x8Ds7M8kqoxSa8LDcHODPLzC04M8stn4Mzs3zyOTgzy6tkLGp1RDgHODPLrErimwOcmWXnkQxmlk9VNB+cA5yZZVI3H1w1cIAzs4yqZz44Bzgzy6xK4psDnJllJF9kMLOc8n1wZpZrDnBmlltVEt8c4MwsO7fgzCyfPNjezPIqmfCyOiKcA5yZZVZTJU246ph32MzaFKm0pXg+6iXpDkkrJM2RdGwzabeWdK+kZZKWSPpZsfzdgjOzTNSyg+2vAlYBfYFdgfskTYuI6fXLVCfgr2n6o4FaYEixzB3gzCyzljgFJ6kLcASwU0QsByZJuhsYA5zfIPlJwPyI+EXBtmeKldFkgJP0KyCa2h8R5xbL3MzyKcNFht6SphSsj42IsenrIUBtRMws2D8N+HQj+ewFzJY0HhgBPAecExHPNld4cy24Kc3sM7N2SiRXUku0JCKGN7FvE2Bpg21Lga6NpB0IHAh8AXgI+AZwl6ShEbGqqcKbDHAR8fvCdUldImJFU+nNrP1oobtElgPdGmzrBixrJO1KYFJEjAeQdDnwA2AHklZf4/UsVgNJe0t6HnghXd9F0q9Lqr6Z5Y+S+eBKWYqYCXSUtF3Btl2A6Y2kfYZmTpk1pZTbRK4EPg+8CRAR04D9sxZkZvnREreJpD3C24FLJHWR9ClgNHBjI8nHAXtJ+qykDsB5wBLShldTSroPLiJeb7CptpT3mVn+iORG31KWEnwd6AwsAm4CzoyI6ZIGSVouaRBARMwAjgeuAd4mCYRfaO78G5R2m8jrkvYBIr0X5VyKRE0zy7eWGqoVEW8Bhzey/TWSixCF224nafGVrJQW3BnAWcAAYB7JzXhnZSnEzPKj1O5pWxjNVbQFFxFLgONaoS5mViVyMxY1Hf91j6TFkhZJukvS1q1ROTNrm1TiUmmldFH/BNwK9AP6A7eRnAw0s3aqhW4TKbtSApwi4saIWJ0u41iH+1HMLB+Sq6ilLZXW3FjUXunLf0g6H7iZJLAdDdzXCnUzs7ZI+Zjw8kmSgFZ3JKcX7AvgR+WqlJm1bW2h+1mK5saibtWaFTGz6lDXRa0GJc0HJ2knYEdgo7ptEfGHclXKzNq2qm/B1ZF0EXAASYC7HxgFTAIc4MzaqeoIb6VdRT0SOAhYGBEnk4z237CstTKzNkuCDjUqaam0UrqoKyNijaTVkrqRDIr1jb5m7VhuuqjAFEk9gN+QXFldDkwua63MrE2rkvhW0ljUr6cvr5H0ANAtIoo+7MHM8kmUPBVSxTV3o+8nm9sXEVPLUyUza9PayEwhpWiuBXdFM/sC+EwL14XdhvTn0b9f3NLZWhn1HHF2patgGXwwo+Hcteum6s/BRcSBrVkRM6sOAjpUe4AzM2tKG7gDpCQOcGaWmQOcmeVSMh15dUS4Umb0laTjJV2Yrg+StEf5q2ZmbVW1zAdXylCtXwN7A8ek68uAq8pWIzNr83Lz0Blgz4j4pKSnACLi7fTxgWbWDgno2BaiVwlKCXAfpk+SDgBJfYA1Za2VmbVpVRLfSgpw/wPcAWwm6ccks4v8oKy1MrM2S6U/tb7iShmL+kdJT5JMmSTg8Ijwk+3N2rEqiW8lTXg5CHgPuKdwW0S8Vs6KmVnb1RaukJailC7qfXz08JmNgK2AGcCwMtbLzNooQZuYzLIUpXRRP1G4ns4ycnoTyc0s79rIPW6lyDySISKmShpRjsqYWXVQlTyVoZRzcN8qWK0BPgksLluNzKxNy9tjA7sWvF5Nck7uL+WpjplVg1wEuPQG300i4rutVB8zqwLVMti+uSnLO0bE6uamLjez9id5bGCla1Ga5qpZ9+SspyXdLWmMpC/VLa1ROTNrm2rS0QzFlmIk9ZJ0h6QVkuZIOraE9/xdUkgqeoqtlHNwvYA3SZ7BUHc/XAC3l/BeM8uZFr7IcBWwCugL7ArcJ2laRExvtGzpODLc/dFcws3SK6jP8VFgqxOlFmBm+dMSp+AkdQGOAHaKiOXAJEl3A2OA8xtJ3x24CDgBeKyUMpoLcB2ATaDRG14c4MzaLVFT+n1wvSVNKVgfGxFj09dDgNqImFmwfxrw6Sby+i/gamBhqYU3F+AWRMQlpWZkZu2DyNSCWxIRw5vYtwmwtMG2pdS/NS0pUxoOfAr4BjCw1MKbC3DVcR3YzFqXoGPLnIRbDnRrsK0byazhHxUn1ZDMLP6N9M6Okgto7irqQSXnYmbtRl0LrgWmLJ8JdJS0XcG2XYCGFxi6AcOBWyQtBJ5It8+VtF9zBTT34Oe3ilbPzNqllpjwMiJWSLoduETSaSRXUUcD+zRIuhToX7C+BcltbLtTZNioHxtoZpm14ECGrwPXA4tIbkc7MyKmp/NQPg/smM49ufbCgqSN0pdvRMTq5jJ3gDOzTERpj+MrRdpTPLyR7a+RXIRo7D2zKfEagQOcmWWjlumitgYHODPLJBnJ4ABnZjlVHeHNAc7M1kGVNOAc4MwsK1X/fHBmZo1pyauo5eYAZ2aZ+SKDmeWTcjBluZlZY9xFNbNccwvOzHKrOsKbA5yZZSSgg1twZpZXVRLfHODMLCuhKumkOsCZWWZuwZlZLiW3iVRHhHOAM7NsSnveQpvgAGdmmXmolpnlUjLhZaVrURoHODPLzFdRzSy3qqSHWjVjZtukByc8wM7DtmfY0G35+c8u+9j+iOBb553LsKHbMmK3nXlq6tS1+04/7RQG9d+M3XfdqTWr3O59bp8dmHbHBTx310V85+TPfWx/j66dueWKrzL5lv/gkRu/w47b9Fu776xjDmDKbf/Jk3/+Pmcfe0Ar1rrtUYn/VVrZApyk6yUtkvRcucqopNraWs479yzuumc8Tz3zPLfdfBMvPP98vTQTHhjPy7Ne4rkXXuJ/rx7LuWefuXbfmBNP4q57H2jtardrNTXiyvO/zOizf81uR1zKUSN3Z+jWm9dL871TP8+0GXPZ4+ifcOoFN3L5d48EYMdt+nHyl/ZhvzE/Z4+jf8Ko/Xdim0F9KnEYFVd3Dq6UpdLK2YK7ARhZxvwr6onJk9lmm23Zauut6dSpE0cd/RXuveeuemnuvfsujj3+BCSx5157sXTpOyxYsACAfffbn169elWi6u3WiJ225OXXlzB73pt8uLqW2yZM5dADdq6XZujWmzNx8gwAZs5+g8H9e7FZr64M3WpzJj87m5Xvf0ht7RoeeXIWow/cpRKHUXkSNSUulVa2ABcRDwNvlSv/Sps/fx4DB26xdn3AgIHMmzevaJr5DdJY6+m/WXfmvvH22vV5b7zNgD7d66V5duY8Rh+0KwDDhw1mUL9eDOjbg+kvz2ffT25Lr+5d6LzRBozcdxgDN+/ZqvVvS1TiUmkVv8gg6WvA1wC2GDSowrUpXUR8bFvDObJKSWOtp7FzQg2/oct/91cu/+6RPH7z+Ux/aT7TZsxlde0aZrz6Blfc8FfuvfpsVqz8gGdmzmP16trWqXgb4+eiZhARY4GxALvvPvzjEaGNGjBgIHPnvr52fd68ufTv379omn4N0ljrmbfoHQb2/ajVNaBvT+YvXlovzbIV73P6D8etXX/xvouZPe9NAH5/52P8/s7HALj47MOY98Y7rVDrtqk6wpuvoq6z4SNGMGvWS8x+9VVWrVrFbbfczCGHfqFemkMO+wJ/GvcHIoJ/Pf443bp1p1+/fk3kaOU2Zfocth3Uh8H9N2WDjh046vOf5L6Jz9RL032TzmzQsQMAJ39xHyZNncWyFe8D0KfnJgBssXlPRn9mF259YErrHkBbUiV91Iq34KpVx44d+e9f/i+HHfJ5amtrOfGkU9hx2DB+c+01AHz19DMYOepgJoy/n2FDt2Xjzhtz7XW/W/v+E44/hkf+OZElS5awzZYDueDCiznplFMrdTjtQm3tGr7501u559dn0aFG/P6ux3nhlYWcduS+AFz350kM3XpzrvvRGGpr1/DiKws54+I/rn3/TZefRq8eXfhwdS3nXXYr7yxbWalDqbhq6aKqsfNELZKxdBNwANAbeAO4KCJ+29x7dt99eDz6r3b8V7EK9RxxdqWrYBl8MONW1ry3aL2i0w6f2C3+cNfEktLusU2PJyNi+PqUtz7K1oKLiGPKlbeZVVh1NODcRTWzbJLTa9UR4RzgzCwbzwdnZnlWJfHNt4mYWVZCKm0pmpPUS9IdklZImiPp2CbSnSjpSUnvSpor6WeSijbQHODMLDOptKUEVwGrgL7AccDVkoY1km5j4DySuzL2BA4CvlMsc3dRzSyTlrqHV1IX4Ahgp4hYDkySdDcwBji/MG1EXF2wOk/SH4EDi5XhFpyZZdcyIxmGALURMbNg2zSgsRZcQ/sD04slcgvOzDLLcJtIb0mFd++PTcefA2wCLG2QfinQtdmypZOB4cBpxQp3gDOzzDLcJrKkmZEMy4FuDbZ1A5Y1Xa4OBy4DPhsRS4oV7i6qmWVT4gWGEoLgTKCjpO0Ktu1CE11PSSOB3wCHRcSzpVTVAc7MMmuJZzJExArgduASSV0kfQoYDdz4sfKkzwB/BI6IiMml1tMBzswyES16m8jXgc7AIuAm4MyImC5pkKTlkupmwb0A6A7cn25fLml8scx9Ds7MMmupkQwR8RZweCPbXyO5CFG3XvSWkMY4wJlZdlUyVssBzswyq5YJLx3gzCyz6ghvDnBmti6qJMI5wJlZJp7w0szyyxNemlmeVUl8c4Azs6xKm8yyLXCAM7PMqiS+OcCZWTZt5KH1JXGAM7PsqiTCOcCZWWa+TcTMcsvn4MwsnwQ1DnBmll/VEeEc4Mwsk7oJL6uBA5yZZVYl8c0BzsyycwvOzHLLQ7XMLLeqI7w5wJlZRhmemFVxDnBmlplHMphZflVHfHOAM7PsqiS+OcCZWVbyYwPNLJ+qaSRDTaUrYGZWLm7BmVlm1dKCc4Azs8x8m4iZ5ZNv9DWzvKqmiwwOcGaWmbuoZpZbbsGZWW5VSXxzgDOzdVAlEc4BzswyEVTNUC1FRKXrsJakxcCcStejDHoDSypdCcskr9/Z4Ijosz4ZSHqA5PMpxZKIGLk+5a2PNhXg8krSlIgYXul6WOn8neWDx6KaWW45wJlZbjnAtY6xla6AZebvLAd8Ds7McsstODPLLQc4M8stB7gykjRS0gxJsySdX+n6WHGSrpe0SNJzla6LrT8HuDKR1AG4ChgF7AgcI2nHytbKSnADULEbU61lOcCVzx7ArIh4JSJWATcDoytcJysiIh4G3qp0PaxlOMCVzwDg9YL1uek2M2slDnDl09hoZN+TY9aKHODKZy6wRcH6QGB+hepi1i45wJXPE8B2kraS1An4CnB3hetk1q44wJVJRKwGzgYmAC8At0bE9MrWyoqRdBPwGLC9pLmSTq10nWzdeaiWmeWWW3BmllsOcGaWWw5wZpZbDnBmllsOcGaWWw5wVURSraSnJT0n6TZJG69HXjdIOjJ9fV1zEwFIOkDSPutQxmxJH3v6UlPbG6RZnrGsH0r6TtY6Wr45wFWXlRGxa0TsBKwCzijcmc5gkllEnBYRzzeT5AAgc4AzqzQHuOr1CLBt2rr6h6Q/Ac9K6iDp55KekPSMpNMBlPhfSc9Lug/YrC4jSRMlDU9fj5Q0VdI0SQ9J2pIkkH4zbT3uJ6mPpL+kZTwh6VPpezeV9KCkpyRdSwnPP5d0p6QnJU2X9LUG+65I6/KQpD7ptm0kPZC+5xFJQ1viw7R88pPtq5CkjiTzzD2QbtoD2CkiXk2DxNKIGCFpQ+BRSQ8CuwHbA58A+gLPA9c3yLcP8Btg/zSvXhHxlqRrgOURcXma7k/Af0fEJEmDSEZr7ABcBEyKiEskHQLUC1hNOCUtozPwhKS/RMSbQBdgakR8W2So3agAAAHGSURBVNKFad5nkzwM5oyIeEnSnsCvgc+sw8do7YADXHXpLOnp9PUjwG9Juo6TI+LVdPu/ATvXnV8DugPbAfsDN0VELTBf0t8byX8v4OG6vCKiqXnRPgvsKK1toHWT1DUt40vpe++T9HYJx3SupC+mr7dI6/omsAa4Jd0+Drhd0ibp8d5WUPaGJZRh7ZQDXHVZGRG7Fm5I/6GvKNwEnBMRExqkO5ji0zWphDSQnNrYOyJWNlKXksf+STqAJFjuHRHvSZoIbNRE8kjLfafhZ2DWFJ+Dy58JwJmSNgCQNERSF+Bh4CvpObp+wIGNvPcx4NOStkrf2yvdvgzoWpDuQZLuImm6uoDzMHBcum0U0LNIXbsDb6fBbShJC7JODVDXCj2WpOv7LvCqpKPSMiRplyJlWDvmAJc/15GcX5uaPjjlWpKW+h3AS8CzwNXAPxu+MSIWk5w3u13SND7qIt4DfLHuIgNwLjA8vYjxPB9dzb0Y2F/SVJKu8mtF6voA0FHSM8CPgMcL9q0Ahkl6kuQc2yXp9uOAU9P6TcfTwFszPJuImeWWW3BmllsOcGaWWw5wZpZbDnBmllsOcGaWWw5wZpZbDnBmllv/D5RuXA3+U8upAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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//d//ydPPvmkiIh8/PHHtjkSzp49K15eXiIi8uabb8rXX38tIiJXr14VLy8viYyMlC+//FIqVqwoly9fFhHrt9zEMhjh4eFSo0YNsVgssm3bNgkMDJSoqCi5fv261KxZ0zYHRIsWLeTw4cMiIvLnn3/Ko48+miLepO/DyZMnJTAwUG7duiUiIiVLlpRr164la79kyRLp3Lmz7Nq1K1PfVmNiYqRatWqydevWZO9P0v2KiLRv395WsgOwnZnExsaKp6enREZGioh1zomvv/5awsPD5eGHH7at/89//iPvvvtuiv336tVLli5daltOfD9FRJ599lnbc82aNbPNW3L79m0JDg6Wixcvioi1ZEifPn1ExHrWleitt96STz/9NMU+165dK4GBgSkewcHB6b5X6Z1RvPzyy7bfExGR559/XhYtWiTbtm2Tli1b2tZv2LAh2dwZ7733nnz00Ufp7lfEyeajUNb7IN566y2uXbtGmzZtmDp1KjVq1HB0WE6lWrVqtr4bX19fWrZsiTEGf3//ZNNUJkqtDPfVq1epUqUKTZo0AazlvXv06IGLiwtly5alWbNmbNu2jY4dOybbVkREBL179+bIkSMYY2xVert160br1q159913+f7773nqqacA67fipUuX2s4CoqOjCQsLA6B169aUKlUKSLsU+B9//EGnTp1sVUgTv21HRkayadMm237A2teVmoULF7Ju3ToOHTrErFmzKFSoUJrvrUjapdpTc+jQIcqXL28rC56Zm+uSlhXPnz8/ISEhLFu2jK5du7J8+XI+/PBDfvvtN/bv38+DDz4IwO3btwkODk6xrXPnzuHh4WFbXrduHR9++CFRUVFcuXIFX19f23uWWO790KFD7N2711aePj4+3vaNf+/evbz99ttcu3aNyMjIZEX+Ej366KP3VCwxNZJK6aTMljLP6EzSHjRR2MHNmzfJnz8/rq6ulCxZkunTpxMfH89TTz3l/GXAw1/JuA1ALz/rIxskXgoB6wQxicv58uW7q3nAkw43Tu0PEqwTCc2aNQuAFStWMGrUKB599FF+/PFHTpw4QfPmzQGoWLEi7u7u7N69m4ULF9om7BERfvjhhxQVYLds2ZJs/0lLgRcoUICqVasSHR2dZlwWi4USJUpk6gOre/fuTJkyhc2bN9O+fXvatm1LuXLlqFOnDqGhobRo8U/15R07dlCnTh1q1qxJWFhYivky7pRWYklaYhySl2VPWlY8Mb6pU6dSqlQpgoKCKFasGCJC69at+e6779I9tsKFC9u2HR0dzcCBA9m+fTuenp6MGTMm2X4T328RwdfXl82bN6fY3nPPPceSJUsIDAxk7ty5tstlSa1bt44hQ4akWF+kSBE2bdqUbrxpSatkeaVKlTh9+nSK9YkcVcrc6foocrulS5dSp04dPvzwQ9u6Ll260K1bN+dPEk4iozLcYC3vvXDhQuLj4wkPD2fDhg00atSIl19+2VaqukKFCkRERFCxorU6fmKtrURPP/00H374IREREbYznjZt2vDZZ5/ZPvD/+uuvVGNMqxT4Qw89xLJly4iOjiYyMtI2G13x4sWpVq0aixYtAqwffol376clODiYnj17MnnyZACGDx/OiBEjuHz5MmAtez537lwGDhxIkSJFeOGFFxg8eDC3b98GrN/ev/nmm2Tb9Pb25uzZs2zbtg2AGzduEBcXR9WqVdm5cycWi4VTp06lex29efPm7Nixg1mzZtm+9Tdp0oSNGzdy9OhRAKKiomzl4ZPy8fGxtUlMCqVLlyYyMpLFixenur/atWsTHh5uSxSxsbG2/qUbN25Qvnx5YmNjU50pD/45o7jzkdUkAdZS5gsWLCAmJobjx49z5MgRGjVqRPny5SlWrBh//vknIsK8efPo1OmfaXwOHz6Mn1/2fAG7G06XKIrEFIBdFx0dRgphYWE88cQTdOrUibCwMH799ddk37BUzpk8eTLr1q3D39+fBg0aJOt0TtS5c2cCAgIIDAykRYsWfPjhh5QrVy5Fu+HDh/Pmm2/y4IMPEh8fn+y5rl27smDBgmSds6NGjSI2NpaAgAD8/PwYNWpUqjE+88wzbN++nYYNGzJ//ny8vb0BCAoKomPHjgQGBvLkk0/SsGFD2wx28+fPZ86cOQQGBuLr65usAzwtI0aM4Msvv+TGjRt07NiR559/nqZNm+Lt7c1LL73EN998Y7sM89577+Hh4UGdOnXw8/PjiSeeSHaZB6BgwYIsXLiQQYMGERgYSOvWrYmOjubBBx+0XSIcNmwY9evXTzMmFxcXOnTowMqVK20z6nl4eDB37lx69OhBQEAATZo0SfUSS/v27W3f+kuUKMFLL72Ev78/TzzxhO1y2J0KFizI4sWLGTFiBIGBgdStW9f2IT9u3DgaN25M69atbf8H92r48OFUqlSJqKgoKlWqxJgxYwDrl8jRo0cD1kuo3bp1o06dOoSEhDB16lTbWdfnn3/Oiy++SM2aNalRowZt27a1bXvjxo20atUqW+K8K1nt3HDUo0F+z/Q7UXPY7du3ZeLEiVKkSBEBpFixYjJ58uRcP+w1s3LDfBT3mxs3boiIdThkgwYNJDQ01MER5S4PPvigXL161dFh5LgdO3bIs88+m6m22pmdi1y6dMk26TtY51GeNGmS7VKFUlnRt29f9u/fT3R0NL1790732/n96L///S9hYWE5Mh9LbnLp0iXGjRvnkH1rorgH7u7ulC5dmmrVqjFlyhTatWvn6JBUHvDtt986OoRc7X4ttZ84assRnC5RRBW8DQEeGTe0AxFh/vz5NGrUiFq1amGM4ZtvvsHNzY0iRYo4JCallLI3p+vMPlDpAqzpnuP7PXTojLbwHwAAE/lJREFUEK1ataJnz54MHDjQNqqlfPnymiSUUnma0yWKnBYdHc0777xDQEAAa9euxd3dnWeffdbRYSmlVI5xuktPOWn16tUMGDDANm77+eef58MPP8Td3d3BkSmlVM7RM4o0XLhwgQ4dOnD06FHq1KnDhg0bmDNnjiYJ5TROnDhB4cKFqVu3LnXq1KFXr162EiRgLWPSqFEjW9nxmTNnJnv9vHnz8PPzw9fXlzp16tjKkuQmS5YsYezYsY4OI02LFi3C19eXfPnysX379jTb/fLLL9SuXZuaNWsmK5d/5coVWrdujZeXF61bt+bq1asA7Nmzh+eee87e4f8jq+NqHfWwZ1HA+Ph4sVgstuUJEybI+PHjnaaAnz3cOR4bxiR7pGXGjO3J2r300tI02zqaI+95sWfJ8+PHj4uvr6+IWI/x0UcflW+++UZERM6dOyeenp62ezTCw8Olfv368vPPP4uIyIoVK6RevXpy5swZERG5deuWzJw5M1vjy47y38HBwbay6Tm1z7uxf/9+OXjwoDRr1ky2bduWapu4uDipXr26/P333xITEyMBAQGyb98+ERF5/fXXZfz48SIiMn78eBk+fLjtdS1btpSTJ0+mud87cT+VGbeXnTt30rRp02QlC4YPH87/t3fu0VFUeR7//IBAGMCQI8KJhIj4mIRIQnhFXR5hho0OYARFAV0EERBkgIV1DeicwcOuA0rg7EQOILAccBiJgoKPXUdhlYcIGuShCAgI6gSCIclIokF55Ld/VHWlk3R3ipB0OuF+zqnTVV237v3Vr6vrV/dR3ztz5kyaNm1ah5Zd3biVGfcnB37p0iWefPJJunTpQkJCAi+++CIAHTt2ZM6cOfTu3Zt169axdu1aunTpwm233UZ6erpPW/xJg6enp7N48WIn3bPPPsuCBQsAmD9/Pj179iQhIYHZs2c751RR8nzSpEn06NGD+Ph4Jx1YelOxsbH07t2bqVOnOm8y+5Mz90fjxo3p1asXJ0+eBCxNqzFjxjjvaLRp04YXXnjBeZqdO3cuGRkZjs5QeHg448ePr5SvP0l3b5mJjIwM5+1kb/nv5557jo4dOzoKBiUlJXTo0IELFy64klQ/cuQIzZo1c2TT3377bZKTk0lKSmLAgAF8//33zu8xYcIEUlNTeeSRRzhz5gz3338/PXv2pGfPnuzYsQPwfw1dCXFxcZV0vyry6aefcvPNN9OpUyeaNm3KiBEjnN/zzTffZPTo0QCMHj3akRwHSzAyKyvrim10RXUjTF0tMZGRNToJTlFRkU6fPl0bNWqkgHbt2rVcreJqp65rFG5lxv3JgS9evFjvu+8+Z59HlvqGG27Q559/XlVVT548qR06dNC8vDy9cOGC9u/fXzds2FDJFn/S4Hv27NG+ffs66eLi4vTbb7/V9957T8ePH+/UGgYNGqRbt26tJHnubdfFixe1X79+un//fj137pxGR0fr8ePHVVV1xIgRjuS0Pznzir7z1CjOnTunKSkpun//flVVHTp0qG7cuLFc+h9++EEjIyNV1bckuS/8Sbp7ylVVnT9/vs6ePVtVy8t/q6qmpaXpBx98oKqW/Pdjjz2mqu4k1VeuXKkzZsxwtgsLC53/7vLly519s2fP1m7dumlJSYmqqo4cOVK3b9+uqpYUe2xsrKr6v4a8KSoq8ik5npiY6NQCfBGoRrFu3TrnvFVVX375ZUeyPSIiolza1q1bO+sfffSRDh482GeeV/2b2dcVt4S/HISFv6k6cQBUlY0bNzJ16lRycnJo1KgR06ZNY86cOUa8L8RwIzPuTw588+bNTJw4kSZNrEvdI/MNZTLU2dnZpKSkOLpGDz/8MNu2bWPIkCHl7FD1LQ2elJREXl4ep06d4syZM0RGRhITE0NmZibvv/8+SUlJgFUjOXr0KDExMeUkzwFee+01li1bxsWLF8nNzeXgwYOUlpbSqVMnbrzxRgBGjhzp9CP4kzOPi4srZ/PXX39N165dOXr0KMOGDSMhIcE5F1/X+eVe+/4k3QPh8btn/dVXX6V///5kZWXxxBNPuJZUryg5npOTw/Dhw8nNzeX8+fOO38AS4fOorm7evJmDBw86+4qKiiguLvZ7DXnTqlWroEmOV0Xbtm05depUjdrij3oXKGqC/Px8Hn30Ud555x0AevTowUsvvWSkElygOrvqRMCECd2ZMKF7jZTpRmbcnxy4vxsilJeh9sUnn3zC448/DlgzqRUWFvqUBgdLIHD9+vWcPn2aESNGOPnOmjXLycPDN998U05y/MSJE2RkZJCdnU1kZCRjxowJKDnuyduXnHlFbrrpJvbt20dubi4pKSm89dZbpKWlER8fz+7du8vNv/HZZ5/RuXNnwArIFSXJ3RJIchzKy72npaUxa9YsCgsLnfJ++uknV5LqzZs35+zZs872lClTmDFjBmlpaWzZssVp7qpYZmlpKTt37qwk1z1lyhSf15A3xcXF9OnTx6c9r7zyiuO/y8Gf5DhYswzm5uYSFRVFbm4ubduWze4ZTMnxq7KPolWrVhw7doxrrrmGRYsWsWvXLhMk6jn+5MBTU1NZunSpE1AKCwsrHZucnMzWrVvJz8/n0qVLrF27ln79+pGcnOxISqelpfmVBgdLcjwrK4v169czbNgwwJIcX7lypTOl58mTJ8nLq6x8XFRURIsWLYiIiOD777/n3XffBSxJ7+PHjzu1Ju/pWt3KmXuIiopi3rx5zJ07F4DJkyezatUq52ZcUFBAeno6Tz31FACzZs3iqaee4vTp04D1RJ+ZmVkpX1+S7u3atSMvL4+CggJ++eUX54HMFy1btqRXr15MmzaNwYMH07hxY9eS6t6S41D+Gli9erXfMlNTU1m0aJGz7fFBIEl5D54aha+lOkECLMXgo0ePcuLECc6fP09WVpYTwNPS0pxzWb16dZ1Jjte7QPFtm0JYkHLZx+3YscPR4W/WrBlZWVkcPnyYyZMnm3mrGwD+5MDHjRtHTEyMIynuS0cpKiqKuXPn0r9/fxITE+nWrVu5P6QHf9LgYD2BFxcX0759e0e2OzU1lYceeog77riDLl26MGzYMIqLiyvlm5iYSFJSEvHx8YwdO9aZ5a158+YsXryYu+++m969e9OuXTtHctytnLk3Q4YMoaSkhO3btxMVFcWaNWsYP348sbGx3HnnnYwdO9aZHW7gwIFMnjyZAQMGEB8fT/fu3X1OEuVL0j0sLMyZI3vw4MFVyncPHz6cNWvWlGuSciOp3rdvX/bu3esEy2effZYHHniAPn36OB3cvsjMzGT37t0kJCTQuXNnli5dCgSWlK8uGzZsIDo62plEyjOD3qlTpxxtuCZNmrBo0SLuuusu4uLiePDBB4mPjwdg5syZbNq0iVtuuYVNmzYxc+ZMJ+8PP/yQQYMG1YidVVLdzo26Wi53eGx+fr6OGzdOgXIdRgZ3GJnxusUjOV5aWqqTJk3ShQsX1rFFocXUqVN106ZNdW1G0Pn55581OTnZ73BfMzzWJarK6tWriY2NZcWKFYSFhXH99dcHbPc1GEKN5cuX07VrV+Lj4zl79myl/o6rnaeffpqSkpK6NiPofPfdd8ybN88ZpFHbSH27ccqvRfWrwDYfPnyYiRMnsnXrVsAau71kyZIam8HqauLQoUOVRtIYDIbQxtf/VkQ+U9Ue1cmvwY16ysnJITExkfPnz9OmTRsWLFjAqFGjzJDXK0ADjBwyGAyhRW08/De4QBEdHc2oUaNo1KgR8+bNKzdu3nD5hIeHU1BQwLXXXmuChcEQ4qgqBQUFhIeH12i+9b7pKTc3l+nTpzNx4kRn3HNpaSmNGjXY7pegcuHCBXJyciqNhTcYDKFJeHg40dHRhIWFlfv+qmp66n68A1y3iEunJ7FkyRKeeeYZioqKOHbsGNnZ2YiICRI1SFhYWLk3XA0Gw9VHrd5RReRuEflKRI6JyEwf+0VEMu39n4uIq7fe9lz8O7fffjtTpkyhqKiIe+65h9dff900jRgMBkMtUGtNTyLSGDgC/DOQA2QDI1X1oFeagcAUYCCQDPxZVQPOnN6uUSvN158oRYmOjubFF1/k3nvvNUHCYDAYAnAlTU+1WaPoBRxT1eOqeh7IAiq+7nov8LL9PsguoLWIRAXKtFBLEIQZM2Zw6NAhhgwZYoKEwWAw1CK12UfRHvi713YOVq2hqjTtgVzvRCIyAZhgb/4CHFi4cCELFy6sUYPrIW2A/Lo2IkQwvijD+KIM44syAitIBqA2A4Wvx/yK7Vxu0qCqy4BlACKyu7rVp4aG8UUZxhdlGF+UYXxRhoj4n4u1Cmqz6SkH6OC1HQ1UFE93k8ZgMBgMdUhtBops4BYRuVFEmgIjgLcqpHkLeMQe/XQ7cFZVcytmZDAYDIa6o9aanlT1ooj8HngPaAysVNUvRWSivX8p8L9YI56OASXAoy6yXlZLJtdHjC/KML4ow/iiDOOLMqrti3r3ZrbBYDAYgot5hdlgMBgMATGBwmAwGAwBCdlAUVvyH/URF7542PbB5yLysYgk1oWdwaAqX3il6ykil0RkWDDtCyZufCEiKSKyT0S+FJGtwbYxWLj4j0SIyNsist/2hZv+0HqHiKwUkTwROeBnf/Xum9WdGq82F6zO76+BTkBTYD/QuUKagcC7WO9i3A58Utd216Ev7gQi7fXfXc2+8Er3AdZgiWF1bXcdXhetgYNAjL3dtq7trkNfPA08b69fBxQCTeva9lrwRV+gG3DAz/5q3TdDtUZRK/If9ZQqfaGqH6vqP+zNXVjvozRE3FwXYOmHvQ7kBdO4IOPGFw8Bb6jqdwCq2lD94cYXCrQSS++nJVaguBhcM2sfVd2GdW7+qNZ9M1QDhT9pj8tN0xC43PN8DOuJoSFSpS9EpD0wFFgaRLvqAjfXxa1ApIhsEZHPROSRoFkXXNz4YhEQh/VC7xfANFUtDY55IUW17puhOh9Fjcl/NABcn6eI9McKFL1r1aK6w40v/gtIV9VLDVws0o0vmgDdgd8CzYGdIrJLVY/UtnFBxo0v7gL2Ab8BbgI2ich2VS2qbeNCjGrdN0M1UBj5jzJcnaeIJAArgN+pakGQbAs2bnzRA8iyg0QbYKCIXFTVjcExMWi4/Y/kq+pPwE8isg1IxJL/b0i48cWjwDy1GuqPicgJIBb4NDgmhgzVum+GatOTkf8oo0pfiEgM8AYwqgE+LXpTpS9U9UZV7aiqHYH1wBMNMEiAu//Im0AfEWkiIr/CUm8+FGQ7g4EbX3yHVbNCRNphKakeD6qVoUG17pshWaPQ2pP/qHe49MUfgWuBxfaT9EVtgIqZLn1xVeDGF6p6SET+BnwOlAIrVNXnsMn6jMvr4j+AVSLyBVbzS7qqNjj5cRFZC6QAbUQkB5gNhMGV3TeNhIfBYDAYAhKqTU8Gg8FgCBFMoDAYDAZDQEygMBgMBkNATKAwGAwGQ0BMoDAYDAZDQEygMIQktvLrPq+lY4C0P9ZAeatE5IRd1h4RuaMaeawQkc72+tMV9n18pTba+Xj8csBWQ21dRfquIjKwJso2XL2Y4bGGkEREflTVljWdNkAeq4B3VHW9iKQCGaqacAX5XbFNVeUrIquBI6r6XID0Y4Aeqvr7mrbFcPVgahSGeoGItBSR/7Of9r8QkUqqsSISJSLbvJ64+9jfp4rITvvYdSJS1Q18G3CzfewMO68DIvKv9nctROR/7LkNDojIcPv7LSLSQ0TmAc1tO/5q7/vR/nzV+wnfrsncLyKNRWS+iGSLNU/A4y7cshNb0E1Eeok1F8le+/PX9lvKc4Dhti3DbdtX2uXs9eVHg6ESda2fbhaz+FqAS1gibvuADVgqAtfY+9pgvVnqqRH/aH/+G/CMvd4YaGWn3Qa0sL9PB/7oo7xV2HNXAA8An2AJ6n0BtMCSpv4SSALuB5Z7HRthf27Benp3bPJK47FxKLDaXm+KpeTZHJgA/MH+vhmwG7jRh50/ep3fOuBue/saoIm9PgB43V4fAyzyOv5PwL/Y662xdJ9a1PXvbZbQXkJSwsNgAM6palfPhoiEAX8Skb5YchTtgXbAaa9jsoGVdtqNqrpPRPoBnYEdtrxJU6wncV/MF5E/AGewVHh/C2xQS1QPEXkD6AP8DcgQkeexmqu2X8Z5vQtkikgz4G5gm6qes5u7EqRsRr4I4BbgRIXjm4vIPqAj8BmwySv9ahG5BUsNNMxP+alAmog8aW+HAzE0TA0oQw1hAoWhvvAw1sxk3VX1goh8g3WTc1DVbXYgGQT8RUTmA/8ANqnqSBdl/LuqrvdsiMgAX4lU9YiIdMfSzJkrIu+r6hw3J6GqP4vIFizZ6+HAWk9xwBRVfa+KLM6palcRiQDeASYDmVhaRh+q6lC743+Ln+MFuF9Vv3Jjr8EApo/CUH+IAPLsINEfuKFiAhG5wU6zHPhvrCkhdwH/JCKePodficitLsvcBgyxj2mB1Wy0XUSuB0pUdQ2QYZdTkQt2zcYXWVhibH2whOywPyd5jhGRW+0yfaKqZ4GpwJP2MRHASXv3GK+kxVhNcB7eA6aIXb0SkSR/ZRgMHkygMNQX/gr0EJHdWLWLwz7SpAD7RGQvVj/Cn1X1DNaNc62IfI4VOGLdFKiqe7D6Lj7F6rNYoap7gS7Ap3YT0DPAf/o4fBnwuaczuwLvY81tvFmtqTvBmkvkILBHRA4AL1FFjd+2ZT+WrPYLWLWbHVj9Fx4+BDp7OrOxah5htm0H7G2DISBmeKzBYDAYAmJqFAaDwWAIiAkUBoPBYAiICRQGg8FgCIgJFAaDwWAIiAkUBoPBYAiICRQGg8FgCIgJFAaDwWAIyP8DSJa/PhvaFwAAAAAASUVORK5CYII=\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 38, + "id": "af5a3843", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -1618,11 +3821,13 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0ca37c1d", + "metadata": { + "editable": true + }, "source": [ "## XGBoost: Extreme Gradient Boosting\n", "\n", - "\n", "[XGBoost](https://github.com/dmlc/xgboost) or Extreme Gradient\n", "Boosting, is an optimized distributed gradient boosting library\n", "designed to be highly efficient, flexible and portable. It implements\n", @@ -1634,113 +3839,28 @@ "boosting system. It has a theoretically justified weighted quantile\n", "sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning.\n", "\n", - "It is now the algorithm which wins essentially all ML competitions!!!\n", - "\n", + "It is now the algorithm which wins essentially all ML competitions!!!" + ] + }, + { + "cell_type": "markdown", + "id": "b2dd3360", + "metadata": { + "editable": true + }, + "source": [ "## Regression Case" ] }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 0\n", - "Error: 0.20883861595352154\n", - "Bias^2: 0.2088386097729888\n", - "Var: 3.552713678800501e-15\n", - "0.20883861595352154 >= 0.2088386097729888 + 3.552713678800501e-15 = 0.20883860977299235\n", - "[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 1\n", - "Error: 0.2554272992317659\n", - "Bias^2: 0.21734101860306584\n", - "Var: 0.038086287677288055\n", - "0.2554272992317659 >= 0.21734101860306584 + 0.038086287677288055 = 0.2554273062803539\n", - "[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 2\n", - "Error: 0.2590142804912797\n", - "Bias^2: 0.218512270336423\n", - "Var: 0.04050201177597046\n", - "0.2590142804912797 >= 0.218512270336423 + 0.04050201177597046 = 0.25901428211239347\n", - "[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 3\n", - "Error: 0.25897623190991886\n", - "Bias^2: 0.21849670172888386\n", - "Var: 0.040479518473148346\n", - "0.25897623190991886 >= 0.21849670172888386 + 0.040479518473148346 = 0.2589762202020322\n", - "[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 4\n", - "Error: 0.25897623190991886\n", - "Bias^2: 0.21849670172888386\n", - "Var: 0.040479518473148346\n", - "0.25897623190991886 >= 0.21849670172888386 + 0.040479518473148346 = 0.2589762202020322\n", - "[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 5\n", - "Error: 0.25897623190991886\n", - "Bias^2: 0.21849670172888386\n", - "Var: 0.040479518473148346\n", - "0.25897623190991886 >= 0.21849670172888386 + 0.040479518473148346 = 0.2589762202020322\n" - ] - }, - { - "data": { - "image/png": "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ei8iIicl+xjEFVdcMeBHXc844wzuuOMOLrnkEtydOXPmMHfu3MEudUhE/ZjrCuBB4CNgH7Dc3VvMrI7UMYVz3X038FngnYz5DgPvAvVABXA78HkgCbwNNLq7vgshIkUhmUwGp+/atavfx9dccw3XXHPi18Pa29sLVVosIgWEu+8HGgPTd5M6iN3zeBd97DJy91bggryqFBGRIadTbYiISJACQkREghQQIiISpIAQEZEgBYSIiAQpIERE0nbt2sXkyZNPmL506VLeeuutGCqKl65JLSIygB//+NN5hQJtQYiIZOjq6uLaa69l6tSpXHXVVfzlL39h1qxZNDc3A7B8+XIaGhqYNGkSN998c+98q1ev5txzz2Xq1KnccMMNcZVfUNqCEJHi89xq+ODNwvb511PgKwNfIW7Hjh2sW7eOmTNnsmTJEu67777jnv/e977HqFGjSCaTXHrppfz+979n3LhxPPHEE7z99tuYGR9//HFha4+JtiBERDKceeaZzJw5E4Cvfe1rvdeA6PHoo4/yhS98gfPOO4+WlhbeeustampqqKqqYunSpWzatIlTTz01jtILTlsQIlJ8IqzpD5bUOUfDj9955x3uuusu3njjDUaOHMnixYvp6OggkUiwdetWXnzxRTZu3MiPfvQjXnrppaEuveC0BSEikmH37t29lwfdsGEDF110Ue9zBw4coLq6mtNOO40PP/yQ5557DkidlK+trY05c+Zwzz33DHhd61KhLQgRkQznnHMODz/8MN/4xjcYP348y5cv5+mnnwZg2rRpnHfeeUyaNImzzz67d1fUwYMHmTt3Lh0dHbg7d999d5xvoWAUECIiafX19cHvO7zyyiu99x966KHgvFu3bh2kquKjXUwiIhKkgBARkSAFhIiIBCkgREQkSAEhIiJBCggREQlSQIiIALNmzeKFF144bto999zDihUrIs1/0003sXnz5sEoLTYKCBERYMGCBWzcuPG4aRs3bmTBggUDzptMJmlqauKyyy4brPJioYAQEQGuuuoqnnnmGY4cOQKkLh703nvvsX79+uDpvevr62lqauKiiy7iscceY/HixTz++OMANDU1ccEFFzB58mSWLVuGuwOprZRVq1Zx4YUXMmHCBH7xi18AqYC54YYbmDJlClOnTuWHP/whANu2bePiiy/m/PPPZ/bs2bz//vtDOST6JrWI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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 39, + "id": "4bf9f894", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -1792,7 +3912,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "00b1f1af", + "metadata": { + "editable": true + }, "source": [ "## Xgboost on the Cancer Data\n", "\n", @@ -1801,88 +3924,13 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Random Forests and scaled data: 1.00\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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fX3ZtWtXpu1atWrFtWvXbBJHbggKCqJMmTJ06NAh0zZxcXF0796dOnXq0KRJE44fP25978svv8Td3R13d3e+/PJL6/oePXpw5MgRW4ZuXyLiUC/qIirvHDhwINP3jh07JiEhIXL58mVJSkqyWQwlSpSw/ty7d2959913RUQkJiZGatWqJb/88ouIiFy/fl2CgoJkxowZIiKyd+9eqVWrlhw8eFBEROLj42XmzJm5Glt8fHyubu+Ws2fPSrVq1e7oMym/p9z0448/SlBQkCQlJcmWLVskMDAww3Y//PCDvPLKK3e07YSEhNwIMdvWrl0rq1atkvbt22faZubMmTJgwAAREfnmm2+kW7duIiJy6dIlqVmzply6dEkuX74sNWvWlMuXL4uIyIYNG+Sll16y/QFkU0b/b4GdktPfuzn9oL1emijy1q1/cElJSYLlbrdcf91Oyl+An376qQwaNEhERObPny+9evVK1TYsLEyqVq0qIiK9evWSzz777Lbbj4qKkueff168vb3Fx8dHli9fnm6/y5Ytkz59+oiISJ8+fWT48OHSsmVLeeWVV6R69epy5coVa9vatWvLuXPn5MKFC/L0009L48aNpXHjxvLXX3+l2/eNGzes+27QoIH8/vvvIiLi4+MjxYoVEz8/P9m4cWOqz5w7d06eeuop8fX1FV9fX9m0aVOqeKOioqRVq1bSsGFD8fb2lpUrV4qISHR0tDzxxBPi6+srXl5esmTJEhERGTVqlHh6eoqPj4+89tpr6WLs37+/fP3119blunXrypkzZ9K169mzp6xfv9663KlTJ/H395f69evLnDlzrOtLlCghY8aMkcDAQPnzzz/lq6++koCAAPHz85P+/ftbk8fAgQOlUaNGUr9+fRk7dmy6/eXU+vXrs0wUjz32mGzevFlELCcCLi4ukpSUJF9//bX079/f2i7l95KYmCg1atSw2YnDncrtRJGdB+7UPS4uLo7wcLtMaJhKYmIi69at48UXXwQsl53SFhGsXbs20dHRXLt2jX379vHaa6/ddrvvvPMOpUuXZu/evQDWQfmshIaGsnbtWpycnEhKSmLFihX07duXbdu2UaNGDSpWrMj//d//MXz4cB566CHCw8Np164dBw+mnkV45syZAOzdu5dDhw7x2GOPERoayqpVq+jQoQO7d+9Ot+9hw4bRokULVqxYQWJi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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "ename": "ExecutableNotFound", - "evalue": "failed to execute ['dot', '-Tpng'], make sure the Graphviz executables are on your systems' PATH", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/graphviz/backend.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(cmd, input, capture_output, check, encoding, quiet, **kwargs)\u001b[0m\n\u001b[1;32m 163\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 164\u001b[0;31m \u001b[0mproc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msubprocess\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mPopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcmd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstartupinfo\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mget_startupinfo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 165\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mOSError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.6/subprocess.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)\u001b[0m\n\u001b[1;32m 728\u001b[0m \u001b[0merrread\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrwrite\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 729\u001b[0;31m restore_signals, start_new_session)\n\u001b[0m\u001b[1;32m 730\u001b[0m \u001b[0;32mexcept\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.6/subprocess.py\u001b[0m in \u001b[0;36m_execute_child\u001b[0;34m(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session)\u001b[0m\n\u001b[1;32m 1363\u001b[0m \u001b[0merr_msg\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;34m': '\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mrepr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merr_filename\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1364\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mchild_exception_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merrno_num\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr_msg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr_filename\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1365\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mchild_exception_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merr_msg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'dot': 'dot'", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mExecutableNotFound\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 43\u001b[0;31m \u001b[0mxgb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot_tree\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxg_clf\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mnum_trees\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 44\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrcParams\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'figure.figsize'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;36m50\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m10\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[0msave_fig\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"xgtree\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/xgboost/plotting.py\u001b[0m in \u001b[0;36mplot_tree\u001b[0;34m(booster, fmap, num_trees, rankdir, ax, **kwargs)\u001b[0m\n\u001b[1;32m 246\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 247\u001b[0m \u001b[0ms\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mBytesIO\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 248\u001b[0;31m \u001b[0ms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpipe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'png'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 249\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mseek\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 250\u001b[0m \u001b[0mimg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mimage\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/graphviz/files.py\u001b[0m in \u001b[0;36mpipe\u001b[0;34m(self, format, renderer, formatter, quiet)\u001b[0m\n\u001b[1;32m 136\u001b[0m out = backend.pipe(self._engine, format, data,\n\u001b[1;32m 137\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mrenderer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mformatter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mformatter\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 138\u001b[0;31m quiet=quiet)\n\u001b[0m\u001b[1;32m 139\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 140\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/graphviz/backend.py\u001b[0m in \u001b[0;36mpipe\u001b[0;34m(engine, format, data, renderer, formatter, quiet)\u001b[0m\n\u001b[1;32m 242\u001b[0m \"\"\"\n\u001b[1;32m 243\u001b[0m \u001b[0mcmd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcommand\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mformat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mformatter\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 244\u001b[0;31m \u001b[0mout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcmd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcapture_output\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcheck\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mquiet\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mquiet\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 245\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 246\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/graphviz/backend.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(cmd, input, capture_output, check, encoding, quiet, **kwargs)\u001b[0m\n\u001b[1;32m 165\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mOSError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 166\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merrno\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0merrno\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mENOENT\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 167\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mExecutableNotFound\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcmd\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 168\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 169\u001b[0m \u001b[0;32mraise\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mExecutableNotFound\u001b[0m: failed to execute ['dot', '-Tpng'], make sure the Graphviz executables are on your systems' PATH" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 40, + "id": "4454900b", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "\n", "import matplotlib.pyplot as plt\n", @@ -1939,25 +3987,7 @@ ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.8" - } - }, + "metadata": {}, "nbformat": 4, - "nbformat_minor": 4 + "nbformat_minor": 5 } diff --git a/doc/src/week45/Datafiles/bank.csv b/doc/src/week45/Datafiles/bank.csv new file mode 100644 index 000000000..930337395 --- /dev/null +++ b/doc/src/week45/Datafiles/bank.csv @@ -0,0 +1,1372 @@ +3.6216,8.6661,-2.8073,-0.44699,0 +4.5459,8.1674,-2.4586,-1.4621,0 +3.866,-2.6383,1.9242,0.10645,0 +3.4566,9.5228,-4.0112,-3.5944,0 +0.32924,-4.4552,4.5718,-0.9888,0 +4.3684,9.6718,-3.9606,-3.1625,0 +3.5912,3.0129,0.72888,0.56421,0 +2.0922,-6.81,8.4636,-0.60216,0 +3.2032,5.7588,-0.75345,-0.61251,0 +1.5356,9.1772,-2.2718,-0.73535,0 +1.2247,8.7779,-2.2135,-0.80647,0 +3.9899,-2.7066,2.3946,0.86291,0 +1.8993,7.6625,0.15394,-3.1108,0 +-1.5768,10.843,2.5462,-2.9362,0 +3.404,8.7261,-2.9915,-0.57242,0 +4.6765,-3.3895,3.4896,1.4771,0 +2.6719,3.0646,0.37158,0.58619,0 +0.80355,2.8473,4.3439,0.6017,0 +1.4479,-4.8794,8.3428,-2.1086,0 +5.2423,11.0272,-4.353,-4.1013,0 +5.7867,7.8902,-2.6196,-0.48708,0 +0.3292,-4.4552,4.5718,-0.9888,0 +3.9362,10.1622,-3.8235,-4.0172,0 +0.93584,8.8855,-1.6831,-1.6599,0 +4.4338,9.887,-4.6795,-3.7483,0 +0.7057,-5.4981,8.3368,-2.8715,0 +1.1432,-3.7413,5.5777,-0.63578,0 +-0.38214,8.3909,2.1624,-3.7405,0 +6.5633,9.8187,-4.4113,-3.2258,0 +4.8906,-3.3584,3.4202,1.0905,0 +-0.24811,-0.17797,4.9068,0.15429,0 +1.4884,3.6274,3.308,0.48921,0 +4.2969,7.617,-2.3874,-0.96164,0 +-0.96511,9.4111,1.7305,-4.8629,0 +-1.6162,0.80908,8.1628,0.60817,0 +2.4391,6.4417,-0.80743,-0.69139,0 +2.6881,6.0195,-0.46641,-0.69268,0 +3.6289,0.81322,1.6277,0.77627,0 +4.5679,3.1929,-2.1055,0.29653,0 +3.4805,9.7008,-3.7541,-3.4379,0 +4.1711,8.722,-3.0224,-0.59699,0 +-0.2062,9.2207,-3.7044,-6.8103,0 +-0.0068919,9.2931,-0.41243,-1.9638,0 +0.96441,5.8395,2.3235,0.066365,0 +2.8561,6.9176,-0.79372,0.48403,0 +-0.7869,9.5663,-3.7867,-7.5034,0 +2.0843,6.6258,0.48382,-2.2134,0 +-0.7869,9.5663,-3.7867,-7.5034,0 +3.9102,6.065,-2.4534,-0.68234,0 +1.6349,3.286,2.8753,0.087054,0 +4.3239,-4.8835,3.4356,-0.5776,0 +5.262,3.9834,-1.5572,1.0103,0 +3.1452,5.825,-0.51439,-1.4944,0 +2.549,6.1499,-1.1605,-1.2371,0 +4.9264,5.496,-2.4774,-0.50648,0 +4.8265,0.80287,1.6371,1.1875,0 +2.5635,6.7769,-0.61979,0.38576,0 +5.807,5.0097,-2.2384,0.43878,0 +3.1377,-4.1096,4.5701,0.98963,0 +-0.78289,11.3603,-0.37644,-7.0495,0 +2.888,0.44696,4.5907,-0.24398,0 +0.49665,5.527,1.7785,-0.47156,0 +4.2586,11.2962,-4.0943,-4.3457,0 +1.7939,-1.1174,1.5454,-0.26079,0 +5.4021,3.1039,-1.1536,1.5651,0 +2.5367,2.599,2.0938,0.20085,0 +4.6054,-4.0765,2.7587,0.31981,0 +2.4235,9.5332,-3.0789,-2.7746,0 +1.0009,7.7846,-0.28219,-2.6608,0 +0.12326,8.9848,-0.9351,-2.4332,0 +3.9529,-2.3548,2.3792,0.48274,0 +4.1373,0.49248,1.093,1.8276,0 +4.7181,10.0153,-3.9486,-3.8582,0 +4.1654,-3.4495,3.643,1.0879,0 +4.4069,10.9072,-4.5775,-4.4271,0 +2.3066,3.5364,0.57551,0.41938,0 +3.7935,7.9853,-2.5477,-1.872,0 +0.049175,6.1437,1.7828,-0.72113,0 +0.24835,7.6439,0.9885,-0.87371,0 +1.1317,3.9647,3.3979,0.84351,0 +2.8033,9.0862,-3.3668,-1.0224,0 +4.4682,2.2907,0.95766,0.83058,0 +5.0185,8.5978,-2.9375,-1.281,0 +1.8664,7.7763,-0.23849,-2.9634,0 +3.245,6.63,-0.63435,0.86937,0 +4.0296,2.6756,0.80685,0.71679,0 +-1.1313,1.9037,7.5339,1.022,0 +0.87603,6.8141,0.84198,-0.17156,0 +4.1197,-2.7956,2.0707,0.67412,0 +3.8027,0.81529,2.1041,1.0245,0 +1.4806,7.6377,-2.7876,-1.0341,0 +4.0632,3.584,0.72545,0.39481,0 +4.3064,8.2068,-2.7824,-1.4336,0 +2.4486,-6.3175,7.9632,0.20602,0 +3.2718,1.7837,2.1161,0.61334,0 +-0.64472,-4.6062,8.347,-2.7099,0 +2.9543,1.076,0.64577,0.89394,0 +2.1616,-6.8804,8.1517,-0.081048,0 +3.82,10.9279,-4.0112,-5.0284,0 +-2.7419,11.4038,2.5394,-5.5793,0 +3.3669,-5.1856,3.6935,-1.1427,0 +4.5597,-2.4211,2.6413,1.6168,0 +5.1129,-0.49871,0.62863,1.1189,0 +3.3397,-4.6145,3.9823,-0.23751,0 +4.2027,0.22761,0.96108,0.97282,0 +3.5438,1.2395,1.997,2.1547,0 +2.3136,10.6651,-3.5288,-4.7672,0 +-1.8584,7.886,-1.6643,-1.8384,0 +3.106,9.5414,-4.2536,-4.003,0 +2.9163,10.8306,-3.3437,-4.122,0 +3.9922,-4.4676,3.7304,-0.1095,0 +1.518,5.6946,0.094818,-0.026738,0 +3.2351,9.647,-3.2074,-2.5948,0 +4.2188,6.8162,-1.2804,0.76076,0 +1.7819,6.9176,-1.2744,-1.5759,0 +2.5331,2.9135,-0.822,-0.12243,0 +3.8969,7.4163,-1.8245,0.14007,0 +2.108,6.7955,-0.1708,0.4905,0 +2.8969,0.70768,2.29,1.8663,0 +0.9297,-3.7971,4.6429,-0.2957,0 +3.4642,10.6878,-3.4071,-4.109,0 +4.0713,10.4023,-4.1722,-4.7582,0 +-1.4572,9.1214,1.7425,-5.1241,0 +-1.5075,1.9224,7.1466,0.89136,0 +-0.91718,9.9884,1.1804,-5.2263,0 +2.994,7.2011,-1.2153,0.3211,0 +-2.343,12.9516,3.3285,-5.9426,0 +3.7818,-2.8846,2.2558,-0.15734,0 +4.6689,1.3098,0.055404,1.909,0 +3.4663,1.1112,1.7425,1.3388,0 +3.2697,-4.3414,3.6884,-0.29829,0 +5.1302,8.6703,-2.8913,-1.5086,0 +2.0139,6.1416,0.37929,0.56938,0 +0.4339,5.5395,2.033,-0.40432,0 +-1.0401,9.3987,0.85998,-5.3336,0 +4.1605,11.2196,-3.6136,-4.0819,0 +5.438,9.4669,-4.9417,-3.9202,0 +5.032,8.2026,-2.6256,-1.0341,0 +5.2418,10.5388,-4.1174,-4.2797,0 +-0.2062,9.2207,-3.7044,-6.8103,0 +2.0911,0.94358,4.5512,1.234,0 +1.7317,-0.34765,4.1905,-0.99138,0 +4.1736,3.3336,-1.4244,0.60429,0 +3.9232,-3.2467,3.4579,0.83705,0 +3.8481,10.1539,-3.8561,-4.2228,0 +0.5195,-3.2633,3.0895,-0.9849,0 +3.8584,0.78425,1.1033,1.7008,0 +1.7496,-0.1759,5.1827,1.2922,0 +3.6277,0.9829,0.68861,0.63403,0 +2.7391,7.4018,0.071684,-2.5302,0 +4.5447,8.2274,-2.4166,-1.5875,0 +-1.7599,11.9211,2.6756,-3.3241,0 +5.0691,0.21313,0.20278,1.2095,0 +3.4591,11.112,-4.2039,-5.0931,0 +1.9358,8.1654,-0.023425,-2.2586,0 +2.486,-0.99533,5.3404,-0.15475,0 +2.4226,-4.5752,5.947,0.21507,0 +3.9479,-3.7723,2.883,0.019813,0 +2.2634,-4.4862,3.6558,-0.61251,0 +1.3566,4.2358,2.1341,0.3211,0 +5.0452,3.8964,-1.4304,0.86291,0 +3.5499,8.6165,-3.2794,-1.2009,0 +0.17346,7.8695,0.26876,-3.7883,0 +2.4008,9.3593,-3.3565,-3.3526,0 +4.8851,1.5995,-0.00029081,1.6401,0 +4.1927,-3.2674,2.5839,0.21766,0 +1.1166,8.6496,-0.96252,-1.8112,0 +1.0235,6.901,-2.0062,-2.7125,0 +-1.803,11.8818,2.0458,-5.2728,0 +0.11739,6.2761,-1.5495,-2.4746,0 +0.5706,-0.0248,1.2421,-0.5621,0 +4.0552,-2.4583,2.2806,1.0323,0 +-1.6952,1.0657,8.8294,0.94955,0 +-1.1193,10.7271,2.0938,-5.6504,0 +1.8799,2.4707,2.4931,0.37671,0 +3.583,-3.7971,3.4391,-0.12501,0 +0.19081,9.1297,-3.725,-5.8224,0 +3.6582,5.6864,-1.7157,-0.23751,0 +-0.13144,-1.7775,8.3316,0.35214,0 +2.3925,9.798,-3.0361,-2.8224,0 +1.6426,3.0149,0.22849,-0.147,0 +-0.11783,-1.5789,8.03,-0.028031,0 +-0.69572,8.6165,1.8419,-4.3289,0 +2.9421,7.4101,-0.97709,-0.88406,0 +-1.7559,11.9459,3.0946,-4.8978,0 +-1.2537,10.8803,1.931,-4.3237,0 +3.2585,-4.4614,3.8024,-0.15087,0 +1.8314,6.3672,-0.036278,0.049554,0 +4.5645,-3.6275,2.8684,0.27714,0 +2.7365,-5.0325,6.6608,-0.57889,0 +0.9297,-3.7971,4.6429,-0.2957,0 +3.9663,10.1684,-4.1131,-4.6056,0 +1.4578,-0.08485,4.1785,0.59136,0 +4.8272,3.0687,0.68604,0.80731,0 +-2.341,12.3784,0.70403,-7.5836,0 +-1.8584,7.886,-1.6643,-1.8384,0 +4.1454,7.257,-1.9153,-0.86078,0 +1.9157,6.0816,0.23705,-2.0116,0 +4.0215,-2.1914,2.4648,1.1409,0 +5.8862,5.8747,-2.8167,-0.30087,0 +-2.0897,10.8265,2.3603,-3.4198,0 +4.0026,-3.5943,3.5573,0.26809,0 +-0.78689,9.5663,-3.7867,-7.5034,0 +4.1757,10.2615,-3.8552,-4.3056,0 +0.83292,7.5404,0.65005,-0.92544,0 +4.8077,2.2327,-0.26334,1.5534,0 +5.3063,5.2684,-2.8904,-0.52716,0 +2.5605,9.2683,-3.5913,-1.356,0 +2.1059,7.6046,-0.47755,-1.8461,0 +2.1721,-0.73874,5.4672,-0.72371,0 +4.2899,9.1814,-4.6067,-4.3263,0 +3.5156,10.1891,-4.2759,-4.978,0 +2.614,8.0081,-3.7258,-1.3069,0 +0.68087,2.3259,4.9085,0.54998,0 +4.1962,0.74493,0.83256,0.753,0 +6.0919,2.9673,-1.3267,1.4551,0 +1.3234,3.2964,0.2362,-0.11984,0 +1.3264,1.0326,5.6566,-0.41337,0 +-0.16735,7.6274,1.2061,-3.6241,0 +-1.3,10.2678,-2.953,-5.8638,0 +-2.2261,12.5398,2.9438,-3.5258,0 +2.4196,6.4665,-0.75688,0.228,0 +1.0987,0.6394,5.989,-0.58277,0 +4.6464,10.5326,-4.5852,-4.206,0 +-0.36038,4.1158,3.1143,-0.37199,0 +1.3562,3.2136,4.3465,0.78662,0 +0.5706,-0.0248,1.2421,-0.5621,0 +-2.6479,10.1374,-1.331,-5.4707,0 +3.1219,-3.137,1.9259,-0.37458,0 +5.4944,1.5478,0.041694,1.9284,0 +-1.3389,1.552,7.0806,1.031,0 +-2.3361,11.9604,3.0835,-5.4435,0 +2.2596,-0.033118,4.7355,-0.2776,0 +0.46901,-0.63321,7.3848,0.36507,0 +2.7296,2.8701,0.51124,0.5099,0 +2.0466,2.03,2.1761,-0.083634,0 +-1.3274,9.498,2.4408,-5.2689,0 +3.8905,-2.1521,2.6302,1.1047,0 +3.9994,0.90427,1.1693,1.6892,0 +2.3952,9.5083,-3.1783,-3.0086,0 +3.2704,6.9321,-1.0456,0.23447,0 +-1.3931,1.5664,7.5382,0.78403,0 +1.6406,3.5488,1.3964,-0.36424,0 +2.7744,6.8576,-1.0671,0.075416,0 +2.4287,9.3821,-3.2477,-1.4543,0 +4.2134,-2.806,2.0116,0.67412,0 +1.6472,0.48213,4.7449,1.225,0 +2.0597,-0.99326,5.2119,-0.29312,0 +0.3798,0.7098,0.7572,-0.4444,0 +1.0135,8.4551,-1.672,-2.0815,0 +4.5691,-4.4552,3.1769,0.0042961,0 +0.57461,10.1105,-1.6917,-4.3922,0 +0.5734,9.1938,-0.9094,-1.872,0 +5.2868,3.257,-1.3721,1.1668,0 +4.0102,10.6568,-4.1388,-5.0646,0 +4.1425,-3.6792,3.8281,1.6297,0 +3.0934,-2.9177,2.2232,0.22283,0 +2.2034,5.9947,0.53009,0.84998,0 +3.744,0.79459,0.95851,1.0077,0 +3.0329,2.2948,2.1135,0.35084,0 +3.7731,7.2073,-1.6814,-0.94742,0 +3.1557,2.8908,0.59693,0.79825,0 +1.8114,7.6067,-0.9788,-2.4668,0 +4.988,7.2052,-3.2846,-1.1608,0 +2.483,6.6155,-0.79287,-0.90863,0 +1.594,4.7055,1.3758,0.081882,0 +-0.016103,9.7484,0.15394,-1.6134,0 +3.8496,9.7939,-4.1508,-4.4582,0 +0.9297,-3.7971,4.6429,-0.2957,0 +4.9342,2.4107,-0.17594,1.6245,0 +3.8417,10.0215,-4.2699,-4.9159,0 +5.3915,9.9946,-3.8081,-3.3642,0 +4.4072,-0.070365,2.0416,1.1319,0 +2.6946,6.7976,-0.40301,0.44912,0 +5.2756,0.13863,0.12138,1.1435,0 +3.4312,6.2637,-1.9513,-0.36165,0 +4.052,-0.16555,0.45383,0.51248,0 +1.3638,-4.7759,8.4182,-1.8836,0 +0.89566,7.7763,-2.7473,-1.9353,0 +1.9265,7.7557,-0.16823,-3.0771,0 +0.20977,-0.46146,7.7267,0.90946,0 +4.068,-2.9363,2.1992,0.50084,0 +2.877,-4.0599,3.6259,-0.32544,0 +0.3223,-0.89808,8.0883,0.69222,0 +-1.3,10.2678,-2.953,-5.8638,0 +1.7747,-6.4334,8.15,-0.89828,0 +1.3419,-4.4221,8.09,-1.7349,0 +0.89606,10.5471,-1.4175,-4.0327,0 +0.44125,2.9487,4.3225,0.7155,0 +3.2422,6.2265,0.12224,-1.4466,0 +2.5678,3.5136,0.61406,-0.40691,0 +-2.2153,11.9625,0.078538,-7.7853,0 +4.1349,6.1189,-2.4294,-0.19613,0 +1.934,-9.2828e-06,4.816,-0.33967,0 +2.5068,1.1588,3.9249,0.12585,0 +2.1464,6.0795,-0.5778,-2.2302,0 +0.051979,7.0521,-2.0541,-3.1508,0 +1.2706,8.035,-0.19651,-2.1888,0 +1.143,0.83391,5.4552,-0.56984,0 +2.2928,9.0386,-3.2417,-1.2991,0 +0.3292,-4.4552,4.5718,-0.9888,0 +2.9719,6.8369,-0.2702,0.71291,0 +1.6849,8.7489,-1.2641,-1.3858,0 +-1.9177,11.6894,2.5454,-3.2763,0 +2.3729,10.4726,-3.0087,-3.2013,0 +1.0284,9.767,-1.3687,-1.7853,0 +0.27451,9.2186,-3.2863,-4.8448,0 +1.6032,-4.7863,8.5193,-2.1203,0 +4.616,10.1788,-4.2185,-4.4245,0 +4.2478,7.6956,-2.7696,-1.0767,0 +4.0215,-2.7004,2.4957,0.36636,0 +5.0297,-4.9704,3.5025,-0.23751,0 +1.5902,2.2948,3.2403,0.18404,0 +2.1274,5.1939,-1.7971,-1.1763,0 +1.1811,8.3847,-2.0567,-0.90345,0 +0.3292,-4.4552,4.5718,-0.9888,0 +5.7353,5.2808,-2.2598,0.075416,0 +2.6718,5.6574,0.72974,-1.4892,0 +1.5799,-4.7076,7.9186,-1.5487,0 +2.9499,2.2493,1.3458,-0.037083,0 +0.5195,-3.2633,3.0895,-0.9849,0 +3.7352,9.5911,-3.9032,-3.3487,0 +-1.7344,2.0175,7.7618,0.93532,0 +3.884,10.0277,-3.9298,-4.0819,0 +3.5257,1.2829,1.9276,1.7991,0 +4.4549,2.4976,1.0313,0.96894,0 +-0.16108,-6.4624,8.3573,-1.5216,0 +4.2164,9.4607,-4.9288,-5.2366,0 +3.5152,6.8224,-0.67377,-0.46898,0 +1.6988,2.9094,2.9044,0.11033,0 +1.0607,2.4542,2.5188,-0.17027,0 +2.0421,1.2436,4.2171,0.90429,0 +3.5594,1.3078,1.291,1.6556,0 +3.0009,5.8126,-2.2306,-0.66553,0 +3.9294,1.4112,1.8076,0.89782,0 +3.4667,-4.0724,4.2882,1.5418,0 +3.966,3.9213,0.70574,0.33662,0 +1.0191,2.33,4.9334,0.82929,0 +0.96414,5.616,2.2138,-0.12501,0 +1.8205,6.7562,0.0099913,0.39481,0 +4.9923,7.8653,-2.3515,-0.71984,0 +-1.1804,11.5093,0.15565,-6.8194,0 +4.0329,0.23175,0.89082,1.1823,0 +0.66018,10.3878,-1.4029,-3.9151,0 +3.5982,7.1307,-1.3035,0.21248,0 +-1.8584,7.886,-1.6643,-1.8384,0 +4.0972,0.46972,1.6671,0.91593,0 +3.3299,0.91254,1.5806,0.39352,0 +3.1088,3.1122,0.80857,0.4336,0 +-4.2859,8.5234,3.1392,-0.91639,0 +-1.2528,10.2036,2.1787,-5.6038,0 +0.5195,-3.2633,3.0895,-0.9849,0 +0.3292,-4.4552,4.5718,-0.9888,0 +0.88872,5.3449,2.045,-0.19355,0 +3.5458,9.3718,-4.0351,-3.9564,0 +-0.21661,8.0329,1.8848,-3.8853,0 +2.7206,9.0821,-3.3111,-0.96811,0 +3.2051,8.6889,-2.9033,-0.7819,0 +2.6917,10.8161,-3.3,-4.2888,0 +-2.3242,11.5176,1.8231,-5.375,0 +2.7161,-4.2006,4.1914,0.16981,0 +3.3848,3.2674,0.90967,0.25128,0 +1.7452,4.8028,2.0878,0.62627,0 +2.805,0.57732,1.3424,1.2133,0 +5.7823,5.5788,-2.4089,-0.056479,0 +3.8999,1.734,1.6011,0.96765,0 +3.5189,6.332,-1.7791,-0.020273,0 +3.2294,7.7391,-0.37816,-2.5405,0 +3.4985,3.1639,0.22677,-0.1651,0 +2.1948,1.3781,1.1582,0.85774,0 +2.2526,9.9636,-3.1749,-2.9944,0 +4.1529,-3.9358,2.8633,-0.017686,0 +0.74307,11.17,-1.3824,-4.0728,0 +1.9105,8.871,-2.3386,-0.75604,0 +-1.5055,0.070346,6.8681,-0.50648,0 +0.58836,10.7727,-1.3884,-4.3276,0 +3.2303,7.8384,-3.5348,-1.2151,0 +-1.9922,11.6542,2.6542,-5.2107,0 +2.8523,9.0096,-3.761,-3.3371,0 +4.2772,2.4955,0.48554,0.36119,0 +1.5099,0.039307,6.2332,-0.30346,0 +5.4188,10.1457,-4.084,-3.6991,0 +0.86202,2.6963,4.2908,0.54739,0 +3.8117,10.1457,-4.0463,-4.5629,0 +0.54777,10.3754,-1.5435,-4.1633,0 +2.3718,7.4908,0.015989,-1.7414,0 +-2.4953,11.1472,1.9353,-3.4638,0 +4.6361,-2.6611,2.8358,1.1991,0 +-2.2527,11.5321,2.5899,-3.2737,0 +3.7982,10.423,-4.1602,-4.9728,0 +-0.36279,8.2895,-1.9213,-3.3332,0 +2.1265,6.8783,0.44784,-2.2224,0 +0.86736,5.5643,1.6765,-0.16769,0 +3.7831,10.0526,-3.8869,-3.7366,0 +-2.2623,12.1177,0.28846,-7.7581,0 +1.2616,4.4303,-1.3335,-1.7517,0 +2.6799,3.1349,0.34073,0.58489,0 +-0.39816,5.9781,1.3912,-1.1621,0 +4.3937,0.35798,2.0416,1.2004,0 +2.9695,5.6222,0.27561,-1.1556,0 +1.3049,-0.15521,6.4911,-0.75346,0 +2.2123,-5.8395,7.7687,-0.85302,0 +1.9647,6.9383,0.57722,0.66377,0 +3.0864,-2.5845,2.2309,0.30947,0 +0.3798,0.7098,0.7572,-0.4444,0 +0.58982,7.4266,1.2353,-2.9595,0 +0.14783,7.946,1.0742,-3.3409,0 +-0.062025,6.1975,1.099,-1.131,0 +4.223,1.1319,0.72202,0.96118,0 +0.64295,7.1018,0.3493,-0.41337,0 +1.941,0.46351,4.6472,1.0879,0 +4.0047,0.45937,1.3621,1.6181,0 +3.7767,9.7794,-3.9075,-3.5323,0 +3.4769,-0.15314,2.53,2.4495,0 +1.9818,9.2621,-3.521,-1.872,0 +3.8023,-3.8696,4.044,0.95343,0 +4.3483,11.1079,-4.0857,-4.2539,0 +1.1518,1.3864,5.2727,-0.43536,0 +-1.2576,1.5892,7.0078,0.42455,0 +1.9572,-5.1153,8.6127,-1.4297,0 +-2.484,12.1611,2.8204,-3.7418,0 +-1.1497,1.2954,7.701,0.62627,0 +4.8368,10.0132,-4.3239,-4.3276,0 +-0.12196,8.8068,0.94566,-4.2267,0 +1.9429,6.3961,0.092248,0.58102,0 +1.742,-4.809,8.2142,-2.0659,0 +-1.5222,10.8409,2.7827,-4.0974,0 +-1.3,10.2678,-2.953,-5.8638,0 +3.4246,-0.14693,0.80342,0.29136,0 +2.5503,-4.9518,6.3729,-0.41596,0 +1.5691,6.3465,-0.1828,-2.4099,0 +1.3087,4.9228,2.0013,0.22024,0 +5.1776,8.2316,-3.2511,-1.5694,0 +2.229,9.6325,-3.1123,-2.7164,0 +5.6272,10.0857,-4.2931,-3.8142,0 +1.2138,8.7986,-2.1672,-0.74182,0 +0.3798,0.7098,0.7572,-0.4444,0 +0.5415,6.0319,1.6825,-0.46122,0 +4.0524,5.6802,-1.9693,0.026279,0 +4.7285,2.1065,-0.28305,1.5625,0 +3.4359,0.66216,2.1041,1.8922,0 +0.86816,10.2429,-1.4912,-4.0082,0 +3.359,9.8022,-3.8209,-3.7133,0 +3.6702,2.9942,0.85141,0.30688,0 +1.3349,6.1189,0.46497,0.49826,0 +3.1887,-3.4143,2.7742,-0.2026,0 +2.4527,2.9653,0.20021,-0.056479,0 +3.9121,2.9735,0.92852,0.60558,0 +3.9364,10.5885,-3.725,-4.3133,0 +3.9414,-3.2902,3.1674,1.0866,0 +3.6922,-3.9585,4.3439,1.3517,0 +5.681,7.795,-2.6848,-0.92544,0 +0.77124,9.0862,-1.2281,-1.4996,0 +3.5761,9.7753,-3.9795,-3.4638,0 +1.602,6.1251,0.52924,0.47886,0 +2.6682,10.216,-3.4414,-4.0069,0 +2.0007,1.8644,2.6491,0.47369,0 +0.64215,3.1287,4.2933,0.64696,0 +4.3848,-3.0729,3.0423,1.2741,0 +0.77445,9.0552,-2.4089,-1.3884,0 +0.96574,8.393,-1.361,-1.4659,0 +3.0948,8.7324,-2.9007,-0.96682,0 +4.9362,7.6046,-2.3429,-0.85302,0 +-1.9458,11.2217,1.9079,-3.4405,0 +5.7403,-0.44284,0.38015,1.3763,0 +-2.6989,12.1984,0.67661,-8.5482,0 +1.1472,3.5985,1.9387,-0.43406,0 +2.9742,8.96,-2.9024,-1.0379,0 +4.5707,7.2094,-3.2794,-1.4944,0 +0.1848,6.5079,2.0133,-0.87242,0 +0.87256,9.2931,-0.7843,-2.1978,0 +0.39559,6.8866,1.0588,-0.67587,0 +3.8384,6.1851,-2.0439,-0.033204,0 +2.8209,7.3108,-0.81857,-1.8784,0 +2.5817,9.7546,-3.1749,-2.9957,0 +3.8213,0.23175,2.0133,2.0564,0 +0.3798,0.7098,0.7572,-0.4444,0 +3.4893,6.69,-1.2042,-0.38751,0 +-1.7781,0.8546,7.1303,0.027572,0 +2.0962,2.4769,1.9379,-0.040962,0 +0.94732,-0.57113,7.1903,-0.67587,0 +2.8261,9.4007,-3.3034,-1.0509,0 +0.0071249,8.3661,0.50781,-3.8155,0 +0.96788,7.1907,1.2798,-2.4565,0 +4.7432,2.1086,0.1368,1.6543,0 +3.6575,7.2797,-2.2692,-1.144,0 +3.8832,6.4023,-2.432,-0.98363,0 +3.4776,8.811,-3.1886,-0.92285,0 +1.1315,7.9212,1.093,-2.8444,0 +2.8237,2.8597,0.19678,0.57196,0 +1.9321,6.0423,0.26019,-2.053,0 +3.0632,-3.3315,5.1305,0.8267,0 +-1.8411,10.8306,2.769,-3.0901,0 +2.8084,11.3045,-3.3394,-4.4194,0 +2.5698,-4.4076,5.9856,0.078002,0 +-0.12624,10.3216,-3.7121,-6.1185,0 +3.3756,-4.0951,4.367,1.0698,0 +-0.048008,-1.6037,8.4756,0.75558,0 +0.5706,-0.0248,1.2421,-0.5621,0 +0.88444,6.5906,0.55837,-0.44182,0 +3.8644,3.7061,0.70403,0.35214,0 +1.2999,2.5762,2.0107,-0.18967,0 +2.0051,-6.8638,8.132,-0.2401,0 +4.9294,0.27727,0.20792,0.33662,0 +2.8297,6.3485,-0.73546,-0.58665,0 +2.565,8.633,-2.9941,-1.3082,0 +2.093,8.3061,0.022844,-3.2724,0 +4.6014,5.6264,-2.1235,0.19309,0 +5.0617,-0.35799,0.44698,0.99868,0 +-0.2951,9.0489,-0.52725,-2.0789,0 +3.577,2.4004,1.8908,0.73231,0 +3.9433,2.5017,1.5215,0.903,0 +2.6648,10.754,-3.3994,-4.1685,0 +5.9374,6.1664,-2.5905,-0.36553,0 +2.0153,1.8479,3.1375,0.42843,0 +5.8782,5.9409,-2.8544,-0.60863,0 +-2.3983,12.606,2.9464,-5.7888,0 +1.762,4.3682,2.1384,0.75429,0 +4.2406,-2.4852,1.608,0.7155,0 +3.4669,6.87,-1.0568,-0.73147,0 +3.1896,5.7526,-0.18537,-0.30087,0 +0.81356,9.1566,-2.1492,-4.1814,0 +0.52855,0.96427,4.0243,-1.0483,0 +2.1319,-2.0403,2.5574,-0.061652,0 +0.33111,4.5731,2.057,-0.18967,0 +1.2746,8.8172,-1.5323,-1.7957,0 +2.2091,7.4556,-1.3284,-3.3021,0 +2.5328,7.528,-0.41929,-2.6478,0 +3.6244,1.4609,1.3501,1.9284,0 +-1.3885,12.5026,0.69118,-7.5487,0 +5.7227,5.8312,-2.4097,-0.24527,0 +3.3583,10.3567,-3.7301,-3.6991,0 +2.5227,2.2369,2.7236,0.79438,0 +0.045304,6.7334,1.0708,-0.9332,0 +4.8278,7.7598,-2.4491,-1.2216,0 +1.9476,-4.7738,8.527,-1.8668,0 +2.7659,0.66216,4.1494,-0.28406,0 +-0.10648,-0.76771,7.7575,0.64179,0 +0.72252,-0.053811,5.6703,-1.3509,0 +4.2475,1.4816,-0.48355,0.95343,0 +3.9772,0.33521,2.2566,2.1625,0 +3.6667,4.302,0.55923,0.33791,0 +2.8232,10.8513,-3.1466,-3.9784,0 +-1.4217,11.6542,-0.057699,-7.1025,0 +4.2458,1.1981,0.66633,0.94696,0 +4.1038,-4.8069,3.3491,-0.49225,0 +1.4507,8.7903,-2.2324,-0.65259,0 +3.4647,-3.9172,3.9746,0.36119,0 +1.8533,6.1458,1.0176,-2.0401,0 +3.5288,0.71596,1.9507,1.9375,0 +3.9719,1.0367,0.75973,1.0013,0 +3.534,9.3614,-3.6316,-1.2461,0 +3.6894,9.887,-4.0788,-4.3664,0 +3.0672,-4.4117,3.8238,-0.81682,0 +2.6463,-4.8152,6.3549,0.003003,0 +2.2893,3.733,0.6312,-0.39786,0 +1.5673,7.9274,-0.056842,-2.1694,0 +4.0405,0.51524,1.0279,1.106,0 +4.3846,-4.8794,3.3662,-0.029324,0 +2.0165,-0.25246,5.1707,1.0763,0 +4.0446,11.1741,-4.3582,-4.7401,0 +-0.33729,-0.64976,7.6659,0.72326,0 +-2.4604,12.7302,0.91738,-7.6418,0 +4.1195,10.9258,-3.8929,-4.1802,0 +2.0193,0.82356,4.6369,1.4202,0 +1.5701,7.9129,0.29018,-2.1953,0 +2.6415,7.586,-0.28562,-1.6677,0 +5.0214,8.0764,-3.0515,-1.7155,0 +4.3435,3.3295,0.83598,0.64955,0 +1.8238,-6.7748,8.3873,-0.54139,0 +3.9382,0.9291,0.78543,0.6767,0 +2.2517,-5.1422,4.2916,-1.2487,0 +5.504,10.3671,-4.413,-4.0211,0 +2.8521,9.171,-3.6461,-1.2047,0 +1.1676,9.1566,-2.0867,-0.80647,0 +2.6104,8.0081,-0.23592,-1.7608,0 +0.32444,10.067,-1.1982,-4.1284,0 +3.8962,-4.7904,3.3954,-0.53751,0 +2.1752,-0.8091,5.1022,-0.67975,0 +1.1588,8.9331,-2.0807,-1.1272,0 +4.7072,8.2957,-2.5605,-1.4905,0 +-1.9667,11.8052,-0.40472,-7.8719,0 +4.0552,0.40143,1.4563,0.65343,0 +2.3678,-6.839,8.4207,-0.44829,0 +0.33565,6.8369,0.69718,-0.55691,0 +4.3398,-5.3036,3.8803,-0.70432,0 +1.5456,8.5482,0.4187,-2.1784,0 +1.4276,8.3847,-2.0995,-1.9677,0 +-0.27802,8.1881,-3.1338,-2.5276,0 +0.93611,8.6413,-1.6351,-1.3043,0 +4.6352,-3.0087,2.6773,1.212,0 +1.5268,-5.5871,8.6564,-1.722,0 +0.95626,2.4728,4.4578,0.21636,0 +-2.7914,1.7734,6.7756,-0.39915,0 +5.2032,3.5116,-1.2538,1.0129,0 +3.1836,7.2321,-1.0713,-2.5909,0 +0.65497,5.1815,1.0673,-0.42113,0 +5.6084,10.3009,-4.8003,-4.3534,0 +1.105,7.4432,0.41099,-3.0332,0 +3.9292,-2.9156,2.2129,0.30817,0 +1.1558,6.4003,1.5506,0.6961,0 +2.5581,2.6218,1.8513,0.40257,0 +2.7831,10.9796,-3.557,-4.4039,0 +3.7635,2.7811,0.66119,0.34179,0 +-2.6479,10.1374,-1.331,-5.4707,0 +1.0652,8.3682,-1.4004,-1.6509,0 +-1.4275,11.8797,0.41613,-6.9978,0 +5.7456,10.1808,-4.7857,-4.3366,0 +5.086,3.2798,-1.2701,1.1189,0 +3.4092,5.4049,-2.5228,-0.89958,0 +-0.2361,9.3221,2.1307,-4.3793,0 +3.8197,8.9951,-4.383,-4.0327,0 +-1.1391,1.8127,6.9144,0.70127,0 +4.9249,0.68906,0.77344,1.2095,0 +2.5089,6.841,-0.029423,0.44912,0 +-0.2062,9.2207,-3.7044,-6.8103,0 +3.946,6.8514,-1.5443,-0.5582,0 +-0.278,8.1881,-3.1338,-2.5276,0 +1.8592,3.2074,-0.15966,-0.26208,0 +0.56953,7.6294,1.5754,-3.2233,0 +3.4626,-4.449,3.5427,0.15429,0 +3.3951,1.1484,2.1401,2.0862,0 +5.0429,-0.52974,0.50439,1.106,0 +3.7758,7.1783,-1.5195,0.40128,0 +4.6562,7.6398,-2.4243,-1.2384,0 +4.0948,-2.9674,2.3689,0.75429,0 +1.8384,6.063,0.54723,0.51248,0 +2.0153,0.43661,4.5864,-0.3151,0 +3.5251,0.7201,1.6928,0.64438,0 +3.757,-5.4236,3.8255,-1.2526,0 +2.5989,3.5178,0.7623,0.81119,0 +1.8994,0.97462,4.2265,0.81377,0 +3.6941,-3.9482,4.2625,1.1577,0 +4.4295,-2.3507,1.7048,0.90946,0 +6.8248,5.2187,-2.5425,0.5461,0 +1.8967,-2.5163,2.8093,-0.79742,0 +2.1526,-6.1665,8.0831,-0.34355,0 +3.3004,7.0811,-1.3258,0.22283,0 +2.7213,7.05,-0.58808,0.41809,0 +3.8846,-3.0336,2.5334,0.20214,0 +4.1665,-0.4449,0.23448,0.27843,0 +0.94225,5.8561,1.8762,-0.32544,0 +5.1321,-0.031048,0.32616,1.1151,0 +0.38251,6.8121,1.8128,-0.61251,0 +3.0333,-2.5928,2.3183,0.303,0 +2.9233,6.0464,-0.11168,-0.58665,0 +1.162,10.2926,-1.2821,-4.0392,0 +3.7791,2.5762,1.3098,0.5655,0 +0.77765,5.9781,1.1941,-0.3526,0 +-0.38388,-1.0471,8.0514,0.49567,0 +0.21084,9.4359,-0.094543,-1.859,0 +2.9571,-4.5938,5.9068,0.57196,0 +4.6439,-3.3729,2.5976,0.55257,0 +3.3577,-4.3062,6.0241,0.18274,0 +3.5127,2.9073,1.0579,0.40774,0 +2.6562,10.7044,-3.3085,-4.0767,0 +-1.3612,10.694,1.7022,-2.9026,0 +-0.278,8.1881,-3.1338,-2.5276,0 +1.04,-6.9321,8.2888,-1.2991,0 +2.1881,2.7356,1.3278,-0.1832,0 +4.2756,-2.6528,2.1375,0.94437,0 +-0.11996,6.8741,0.91995,-0.6694,0 +2.9736,8.7944,-3.6359,-1.3754,0 +3.7798,-3.3109,2.6491,0.066365,0 +5.3586,3.7557,-1.7345,1.0789,0 +1.8373,6.1292,0.84027,0.55257,0 +1.2262,0.89599,5.7568,-0.11596,0 +-0.048008,-0.56078,7.7215,0.453,0 +0.5706,-0.024841,1.2421,-0.56208,0 +4.3634,0.46351,1.4281,2.0202,0 +3.482,-4.1634,3.5008,-0.078462,0 +0.51947,-3.2633,3.0895,-0.98492,0 +2.3164,-2.628,3.1529,-0.08622,0 +-1.8348,11.0334,3.1863,-4.8888,0 +1.3754,8.8793,-1.9136,-0.53751,0 +-0.16682,5.8974,0.49839,-0.70044,0 +0.29961,7.1328,-0.31475,-1.1828,0 +0.25035,9.3262,-3.6873,-6.2543,0 +2.4673,1.3926,1.7125,0.41421,0 +0.77805,6.6424,-1.1425,-1.0573,0 +3.4465,2.9508,1.0271,0.5461,0 +2.2429,-4.1427,5.2333,-0.40173,0 +3.7321,-3.884,3.3577,-0.0060486,0 +4.3365,-3.584,3.6884,0.74912,0 +-2.0759,10.8223,2.6439,-4.837,0 +4.0715,7.6398,-2.0824,-1.1698,0 +0.76163,5.8209,1.1959,-0.64613,0 +-0.53966,7.3273,0.46583,-1.4543,0 +2.6213,5.7919,0.065686,-1.5759,0 +3.0242,-3.3378,2.5865,-0.54785,0 +5.8519,5.3905,-2.4037,-0.061652,0 +0.5706,-0.0248,1.2421,-0.5621,0 +3.9771,11.1513,-3.9272,-4.3444,0 +1.5478,9.1814,-1.6326,-1.7375,0 +0.74054,0.36625,2.1992,0.48403,0 +0.49571,10.2243,-1.097,-4.0159,0 +1.645,7.8612,-0.87598,-3.5569,0 +3.6077,6.8576,-1.1622,0.28231,0 +3.2403,-3.7082,5.2804,0.41291,0 +3.9166,10.2491,-4.0926,-4.4659,0 +3.9262,6.0299,-2.0156,-0.065531,0 +5.591,10.4643,-4.3839,-4.3379,0 +3.7522,-3.6978,3.9943,1.3051,0 +1.3114,4.5462,2.2935,0.22541,0 +3.7022,6.9942,-1.8511,-0.12889,0 +4.364,-3.1039,2.3757,0.78532,0 +3.5829,1.4423,1.0219,1.4008,0 +4.65,-4.8297,3.4553,-0.25174,0 +5.1731,3.9606,-1.983,0.40774,0 +3.2692,3.4184,0.20706,-0.066824,0 +2.4012,1.6223,3.0312,0.71679,0 +1.7257,-4.4697,8.2219,-1.8073,0 +4.7965,6.9859,-1.9967,-0.35001,0 +4.0962,10.1891,-3.9323,-4.1827,0 +2.5559,3.3605,2.0321,0.26809,0 +3.4916,8.5709,-3.0326,-0.59182,0 +0.5195,-3.2633,3.0895,-0.9849,0 +2.9856,7.2673,-0.409,-2.2431,0 +4.0932,5.4132,-1.8219,0.23576,0 +1.7748,-0.76978,5.5854,1.3039,0 +5.2012,0.32694,0.17965,1.1797,0 +-0.45062,-1.3678,7.0858,-0.40303,0 +4.8451,8.1116,-2.9512,-1.4724,0 +0.74841,7.2756,1.1504,-0.5388,0 +5.1213,8.5565,-3.3917,-1.5474,0 +3.6181,-3.7454,2.8273,-0.71208,0 +0.040498,8.5234,1.4461,-3.9306,0 +-2.6479,10.1374,-1.331,-5.4707,0 +0.37984,0.70975,0.75716,-0.44441,0 +-0.95923,0.091039,6.2204,-1.4828,0 +2.8672,10.0008,-3.2049,-3.1095,0 +1.0182,9.109,-0.62064,-1.7129,0 +-2.7143,11.4535,2.1092,-3.9629,0 +3.8244,-3.1081,2.4537,0.52024,0 +2.7961,2.121,1.8385,0.38317,0 +3.5358,6.7086,-0.81857,0.47886,0 +-0.7056,8.7241,2.2215,-4.5965,0 +4.1542,7.2756,-2.4766,-1.2099,0 +0.92703,9.4318,-0.66263,-1.6728,0 +1.8216,-6.4748,8.0514,-0.41855,0 +-2.4473,12.6247,0.73573,-7.6612,0 +3.5862,-3.0957,2.8093,0.24481,0 +0.66191,9.6594,-0.28819,-1.6638,0 +4.7926,1.7071,-0.051701,1.4926,0 +4.9852,8.3516,-2.5425,-1.2823,0 +0.75736,3.0294,2.9164,-0.068117,0 +4.6499,7.6336,-1.9427,-0.37458,0 +-0.023579,7.1742,0.78457,-0.75734,0 +0.85574,0.0082678,6.6042,-0.53104,0 +0.88298,0.66009,6.0096,-0.43277,0 +4.0422,-4.391,4.7466,1.137,0 +2.2546,8.0992,-0.24877,-3.2698,0 +0.38478,6.5989,-0.3336,-0.56466,0 +3.1541,-5.1711,6.5991,0.57455,0 +2.3969,0.23589,4.8477,1.437,0 +4.7114,2.0755,-0.2702,1.2379,0 +4.0127,10.1477,-3.9366,-4.0728,0 +2.6606,3.1681,1.9619,0.18662,0 +3.931,1.8541,-0.023425,1.2314,0 +0.01727,8.693,1.3989,-3.9668,0 +3.2414,0.40971,1.4015,1.1952,0 +2.2504,3.5757,0.35273,0.2836,0 +-1.3971,3.3191,-1.3927,-1.9948,1 +0.39012,-0.14279,-0.031994,0.35084,1 +-1.6677,-7.1535,7.8929,0.96765,1 +-3.8483,-12.8047,15.6824,-1.281,1 +-3.5681,-8.213,10.083,0.96765,1 +-2.2804,-0.30626,1.3347,1.3763,1 +-1.7582,2.7397,-2.5323,-2.234,1 +-0.89409,3.1991,-1.8219,-2.9452,1 +0.3434,0.12415,-0.28733,0.14654,1 +-0.9854,-6.661,5.8245,0.5461,1 +-2.4115,-9.1359,9.3444,-0.65259,1 +-1.5252,-6.2534,5.3524,0.59912,1 +-0.61442,-0.091058,-0.31818,0.50214,1 +-0.36506,2.8928,-3.6461,-3.0603,1 +-5.9034,6.5679,0.67661,-6.6797,1 +-1.8215,2.7521,-0.72261,-2.353,1 +-0.77461,-1.8768,2.4023,1.1319,1 +-1.8187,-9.0366,9.0162,-0.12243,1 +-3.5801,-12.9309,13.1779,-2.5677,1 +-1.8219,-6.8824,5.4681,0.057313,1 +-0.3481,-0.38696,-0.47841,0.62627,1 +0.47368,3.3605,-4.5064,-4.0431,1 +-3.4083,4.8587,-0.76888,-4.8668,1 +-1.6662,-0.30005,1.4238,0.024986,1 +-2.0962,-7.1059,6.6188,-0.33708,1 +-2.6685,-10.4519,9.1139,-1.7323,1 +-0.47465,-4.3496,1.9901,0.7517,1 +1.0552,1.1857,-2.6411,0.11033,1 +1.1644,3.8095,-4.9408,-4.0909,1 +-4.4779,7.3708,-0.31218,-6.7754,1 +-2.7338,0.45523,2.4391,0.21766,1 +-2.286,-5.4484,5.8039,0.88231,1 +-1.6244,-6.3444,4.6575,0.16981,1 +0.50813,0.47799,-1.9804,0.57714,1 +1.6408,4.2503,-4.9023,-2.6621,1 +0.81583,4.84,-5.2613,-6.0823,1 +-5.4901,9.1048,-0.38758,-5.9763,1 +-3.2238,2.7935,0.32274,-0.86078,1 +-2.0631,-1.5147,1.219,0.44524,1 +-0.91318,-2.0113,-0.19565,0.066365,1 +0.6005,1.9327,-3.2888,-0.32415,1 +0.91315,3.3377,-4.0557,-1.6741,1 +-0.28015,3.0729,-3.3857,-2.9155,1 +-3.6085,3.3253,-0.51954,-3.5737,1 +-6.2003,8.6806,0.0091344,-3.703,1 +-4.2932,3.3419,0.77258,-0.99785,1 +-3.0265,-0.062088,0.68604,-0.055186,1 +-1.7015,-0.010356,-0.99337,-0.53104,1 +-0.64326,2.4748,-2.9452,-1.0276,1 +-0.86339,1.9348,-2.3729,-1.0897,1 +-2.0659,1.0512,-0.46298,-1.0974,1 +-2.1333,1.5685,-0.084261,-1.7453,1 +-1.2568,-1.4733,2.8718,0.44653,1 +-3.1128,-6.841,10.7402,-1.0172,1 +-4.8554,-5.9037,10.9818,-0.82199,1 +-2.588,3.8654,-0.3336,-1.2797,1 +0.24394,1.4733,-1.4192,-0.58535,1 +-1.5322,-5.0966,6.6779,0.17498,1 +-4.0025,-13.4979,17.6772,-3.3202,1 +-4.0173,-8.3123,12.4547,-1.4375,1 +-3.0731,-0.53181,2.3877,0.77627,1 +-1.979,3.2301,-1.3575,-2.5819,1 +-0.4294,-0.14693,0.044265,-0.15605,1 +-2.234,-7.0314,7.4936,0.61334,1 +-4.211,-12.4736,14.9704,-1.3884,1 +-3.8073,-8.0971,10.1772,0.65084,1 +-2.5912,-0.10554,1.2798,1.0414,1 +-2.2482,3.0915,-2.3969,-2.6711,1 +-1.4427,3.2922,-1.9702,-3.4392,1 +-0.39416,-0.020702,-0.066267,-0.44699,1 +-1.522,-6.6383,5.7491,-0.10691,1 +-2.8267,-9.0407,9.0694,-0.98233,1 +-1.7263,-6.0237,5.2419,0.29524,1 +-0.94255,0.039307,-0.24192,0.31593,1 +-0.89569,3.0025,-3.6067,-3.4457,1 +-6.2815,6.6651,0.52581,-7.0107,1 +-2.3211,3.166,-1.0002,-2.7151,1 +-1.3414,-2.0776,2.8093,0.60688,1 +-2.258,-9.3263,9.3727,-0.85949,1 +-3.8858,-12.8461,12.7957,-3.1353,1 +-1.8969,-6.7893,5.2761,-0.32544,1 +-0.52645,-0.24832,-0.45613,0.41938,1 +0.0096613,3.5612,-4.407,-4.4103,1 +-3.8826,4.898,-0.92311,-5.0801,1 +-2.1405,-0.16762,1.321,-0.20906,1 +-2.4824,-7.3046,6.839,-0.59053,1 +-2.9098,-10.0712,8.4156,-1.9948,1 +-0.60975,-4.002,1.8471,0.6017,1 +0.83625,1.1071,-2.4706,-0.062945,1 +0.60731,3.9544,-4.772,-4.4853,1 +-4.8861,7.0542,-0.17252,-6.959,1 +-3.1366,0.42212,2.6225,-0.064238,1 +-2.5754,-5.6574,6.103,0.65214,1 +-1.8782,-6.5865,4.8486,-0.021566,1 +0.24261,0.57318,-1.9402,0.44007,1 +1.296,4.2855,-4.8457,-2.9013,1 +0.25943,5.0097,-5.0394,-6.3862,1 +-5.873,9.1752,-0.27448,-6.0422,1 +-3.4605,2.6901,0.16165,-1.0224,1 +-2.3797,-1.4402,1.1273,0.16076,1 +-1.2424,-1.7175,-0.52553,-0.21036,1 +0.20216,1.9182,-3.2828,-0.61768,1 +0.59823,3.5012,-3.9795,-1.7841,1 +-0.77995,3.2322,-3.282,-3.1004,1 +-4.1409,3.4619,-0.47841,-3.8879,1 +-6.5084,8.7696,0.23191,-3.937,1 +-4.4996,3.4288,0.56265,-1.1672,1 +-3.3125,0.10139,0.55323,-0.2957,1 +-1.9423,0.3766,-1.2898,-0.82458,1 +-0.75793,2.5349,-3.0464,-1.2629,1 +-0.95403,1.9824,-2.3163,-1.1957,1 +-2.2173,1.4671,-0.72689,-1.1724,1 +-2.799,1.9679,-0.42357,-2.1125,1 +-1.8629,-0.84841,2.5377,0.097399,1 +-3.5916,-6.2285,10.2389,-1.1543,1 +-5.1216,-5.3118,10.3846,-1.0612,1 +-3.2854,4.0372,-0.45356,-1.8228,1 +-0.56877,1.4174,-1.4252,-1.1246,1 +-2.3518,-4.8359,6.6479,-0.060358,1 +-4.4861,-13.2889,17.3087,-3.2194,1 +-4.3876,-7.7267,11.9655,-1.4543,1 +-3.3604,-0.32696,2.1324,0.6017,1 +-1.0112,2.9984,-1.1664,-1.6185,1 +0.030219,-1.0512,1.4024,0.77369,1 +-1.6514,-8.4985,9.1122,1.2379,1 +-3.2692,-12.7406,15.5573,-0.14182,1 +-2.5701,-6.8452,8.9999,2.1353,1 +-1.3066,0.25244,0.7623,1.7758,1 +-1.6637,3.2881,-2.2701,-2.2224,1 +-0.55008,2.8659,-1.6488,-2.4319,1 +0.21431,-0.69529,0.87711,0.29653,1 +-0.77288,-7.4473,6.492,0.36119,1 +-1.8391,-9.0883,9.2416,-0.10432,1 +-0.63298,-5.1277,4.5624,1.4797,1 +0.0040545,0.62905,-0.64121,0.75817,1 +-0.28696,3.1784,-3.5767,-3.1896,1 +-5.2406,6.6258,-0.19908,-6.8607,1 +-1.4446,2.1438,-0.47241,-1.6677,1 +-0.65767,-2.8018,3.7115,0.99739,1 +-1.5449,-10.1498,9.6152,-1.2332,1 +-2.8957,-12.0205,11.9149,-2.7552,1 +-0.81479,-5.7381,4.3919,0.3211,1 +0.50225,0.65388,-1.1793,0.39998,1 +0.74521,3.6357,-4.4044,-4.1414,1 +-2.9146,4.0537,-0.45699,-4.0327,1 +-1.3907,-1.3781,2.3055,-0.021566,1 +-1.786,-8.1157,7.0858,-1.2112,1 +-1.7322,-9.2828,7.719,-1.7168,1 +0.55298,-3.4619,1.7048,1.1008,1 +2.031,1.852,-3.0121,0.003003,1 +1.2279,4.0309,-4.6435,-3.9125,1 +-4.2249,6.2699,0.15822,-5.5457,1 +-2.5346,-0.77392,3.3602,0.00171,1 +-1.749,-6.332,6.0987,0.14266,1 +-0.539,-5.167,3.4399,0.052141,1 +1.5631,0.89599,-1.9702,0.65472,1 +2.3917,4.5565,-4.9888,-2.8987,1 +0.89512,4.7738,-4.8431,-5.5909,1 +-5.4808,8.1819,0.27818,-5.0323,1 +-2.8833,1.7713,0.68946,-0.4638,1 +-1.4174,-2.2535,1.518,0.61981,1 +0.4283,-0.94981,-1.0731,0.3211,1 +1.5904,2.2121,-3.1183,-0.11725,1 +1.7425,3.6833,-4.0129,-1.7207,1 +-0.23356,3.2405,-3.0669,-2.7784,1 +-3.6227,3.9958,-0.35845,-3.9047,1 +-6.1536,7.9295,0.61663,-3.2646,1 +-3.9172,2.6652,0.78886,-0.7819,1 +-2.2214,-0.23798,0.56008,0.05602,1 +-0.49241,0.89392,-1.6283,-0.56854,1 +0.26517,2.4066,-2.8416,-0.59958,1 +-0.10234,1.8189,-2.2169,-0.56725,1 +-1.6176,1.0926,-0.35502,-0.59958,1 +-1.8448,1.254,0.27218,-1.0728,1 +-1.2786,-2.4087,4.5735,0.47627,1 +-2.902,-7.6563,11.8318,-0.84268,1 +-4.3773,-5.5167,10.939,-0.4082,1 +-2.0529,3.8385,-0.79544,-1.2138,1 +0.18868,0.70148,-0.51182,0.0055892,1 +-1.7279,-6.841,8.9494,0.68058,1 +-3.3793,-13.7731,17.9274,-2.0323,1 +-3.1273,-7.1121,11.3897,-0.083634,1 +-2.121,-0.05588,1.949,1.353,1 +-1.7697,3.4329,-1.2144,-2.3789,1 +-0.0012852,0.13863,-0.19651,0.0081754,1 +-1.682,-6.8121,7.1398,1.3323,1 +-3.4917,-12.1736,14.3689,-0.61639,1 +-3.1158,-8.6289,10.4403,0.97153,1 +-2.0891,-0.48422,1.704,1.7435,1 +-1.6936,2.7852,-2.1835,-1.9276,1 +-1.2846,3.2715,-1.7671,-3.2608,1 +-0.092194,0.39315,-0.32846,-0.13794,1 +-1.0292,-6.3879,5.5255,0.79955,1 +-2.2083,-9.1069,8.9991,-0.28406,1 +-1.0744,-6.3113,5.355,0.80472,1 +-0.51003,-0.23591,0.020273,0.76334,1 +-0.36372,3.0439,-3.4816,-2.7836,1 +-6.3979,6.4479,1.0836,-6.6176,1 +-2.2501,3.3129,-0.88369,-2.8974,1 +-1.1859,-1.2519,2.2635,0.77239,1 +-1.8076,-8.8131,8.7086,-0.21682,1 +-3.3863,-12.9889,13.0545,-2.7202,1 +-1.4106,-7.108,5.6454,0.31335,1 +-0.21394,-0.68287,0.096532,1.1965,1 +0.48797,3.5674,-4.3882,-3.8116,1 +-3.8167,5.1401,-0.65063,-5.4306,1 +-1.9555,0.20692,1.2473,-0.3707,1 +-2.1786,-6.4479,6.0344,-0.20777,1 +-2.3299,-9.9532,8.4756,-1.8733,1 +0.0031201,-4.0061,1.7956,0.91722,1 +1.3518,1.0595,-2.3437,0.39998,1 +1.2309,3.8923,-4.8277,-4.0069,1 +-5.0301,7.5032,-0.13396,-7.5034,1 +-3.0799,0.60836,2.7039,-0.23751,1 +-2.2987,-5.227,5.63,0.91722,1 +-1.239,-6.541,4.8151,-0.033204,1 +0.75896,0.29176,-1.6506,0.83834,1 +1.6799,4.2068,-4.5398,-2.3931,1 +0.63655,5.2022,-5.2159,-6.1211,1 +-6.0598,9.2952,-0.43642,-6.3694,1 +-3.518,2.8763,0.1548,-1.2086,1 +-2.0336,-1.4092,1.1582,0.36507,1 +-0.69745,-1.7672,-0.34474,-0.12372,1 +0.75108,1.9161,-3.1098,-0.20518,1 +0.84546,3.4826,-3.6307,-1.3961,1 +-0.55648,3.2136,-3.3085,-2.7965,1 +-3.6817,3.2239,-0.69347,-3.4004,1 +-6.7526,8.8172,-0.061983,-3.725,1 +-4.577,3.4515,0.66719,-0.94742,1 +-2.9883,0.31245,0.45041,0.068951,1 +-1.4781,0.14277,-1.1622,-0.48579,1 +-0.46651,2.3383,-2.9812,-1.0431,1 +-0.8734,1.6533,-2.1964,-0.78061,1 +-2.1234,1.1815,-0.55552,-0.81165,1 +-2.3142,2.0838,-0.46813,-1.6767,1 +-1.4233,-0.98912,2.3586,0.39481,1 +-3.0866,-6.6362,10.5405,-0.89182,1 +-4.7331,-6.1789,11.388,-1.0741,1 +-2.8829,3.8964,-0.1888,-1.1672,1 +-0.036127,1.525,-1.4089,-0.76121,1 +-1.7104,-4.778,6.2109,0.3974,1 +-3.8203,-13.0551,16.9583,-2.3052,1 +-3.7181,-8.5089,12.363,-0.95518,1 +-2.899,-0.60424,2.6045,1.3776,1 +-0.98193,2.7956,-1.2341,-1.5668,1 +-0.17296,-1.1816,1.3818,0.7336,1 +-1.9409,-8.6848,9.155,0.94049,1 +-3.5713,-12.4922,14.8881,-0.47027,1 +-2.9915,-6.6258,8.6521,1.8198,1 +-1.8483,0.31038,0.77344,1.4189,1 +-2.2677,3.2964,-2.2563,-2.4642,1 +-0.50816,2.868,-1.8108,-2.2612,1 +0.14329,-1.0885,1.0039,0.48791,1 +-0.90784,-7.9026,6.7807,0.34179,1 +-2.0042,-9.3676,9.3333,-0.10303,1 +-0.93587,-5.1008,4.5367,1.3866,1 +-0.40804,0.54214,-0.52725,0.6586,1 +-0.8172,3.3812,-3.6684,-3.456,1 +-4.8392,6.6755,-0.24278,-6.5775,1 +-1.2792,2.1376,-0.47584,-1.3974,1 +-0.66008,-3.226,3.8058,1.1836,1 +-1.7713,-10.7665,10.2184,-1.0043,1 +-3.0061,-12.2377,11.9552,-2.1603,1 +-1.1022,-5.8395,4.5641,0.68705,1 +0.11806,0.39108,-0.98223,0.42843,1 +0.11686,3.735,-4.4379,-4.3741,1 +-2.7264,3.9213,-0.49212,-3.6371,1 +-1.2369,-1.6906,2.518,0.51636,1 +-1.8439,-8.6475,7.6796,-0.66682,1 +-1.8554,-9.6035,7.7764,-0.97716,1 +0.16358,-3.3584,1.3749,1.3569,1 +1.5077,1.9596,-3.0584,-0.12243,1 +0.67886,4.1199,-4.569,-4.1414,1 +-3.9934,5.8333,0.54723,-4.9379,1 +-2.3898,-0.78427,3.0141,0.76205,1 +-1.7976,-6.7686,6.6753,0.89912,1 +-0.70867,-5.5602,4.0483,0.903,1 +1.0194,1.1029,-2.3,0.59395,1 +1.7875,4.78,-5.1362,-3.2362,1 +0.27331,4.8773,-4.9194,-5.8198,1 +-5.1661,8.0433,0.044265,-4.4983,1 +-2.7028,1.6327,0.83598,-0.091393,1 +-1.4904,-2.2183,1.6054,0.89394,1 +-0.014902,-1.0243,-0.94024,0.64955,1 +0.88992,2.2638,-3.1046,-0.11855,1 +1.0637,3.6957,-4.1594,-1.9379,1 +-0.8471,3.1329,-3.0112,-2.9388,1 +-3.9594,4.0289,-0.35845,-3.8957,1 +-5.8818,7.6584,0.5558,-2.9155,1 +-3.7747,2.5162,0.83341,-0.30993,1 +-2.4198,-0.24418,0.70146,0.41809,1 +-0.83535,0.80494,-1.6411,-0.19225,1 +-0.30432,2.6528,-2.7756,-0.65647,1 +-0.60254,1.7237,-2.1501,-0.77027,1 +-2.1059,1.1815,-0.53324,-0.82716,1 +-2.0441,1.2271,0.18564,-1.091,1 +-1.5621,-2.2121,4.2591,0.27972,1 +-3.2305,-7.2135,11.6433,-0.94613,1 +-4.8426,-4.9932,10.4052,-0.53104,1 +-2.3147,3.6668,-0.6969,-1.2474,1 +-0.11716,0.60422,-0.38587,-0.059065,1 +-2.0066,-6.719,9.0162,0.099985,1 +-3.6961,-13.6779,17.5795,-2.6181,1 +-3.6012,-6.5389,10.5234,-0.48967,1 +-2.6286,0.18002,1.7956,0.97282,1 +-0.82601,2.9611,-1.2864,-1.4647,1 +0.31803,-0.99326,1.0947,0.88619,1 +-1.4454,-8.4385,8.8483,0.96894,1 +-3.1423,-13.0365,15.6773,-0.66165,1 +-2.5373,-6.959,8.8054,1.5289,1 +-1.366,0.18416,0.90539,1.5806,1 +-1.7064,3.3088,-2.2829,-2.1978,1 +-0.41965,2.9094,-1.7859,-2.2069,1 +0.37637,-0.82358,0.78543,0.74524,1 +-0.55355,-7.9233,6.7156,0.74394,1 +-1.6001,-9.5828,9.4044,0.081882,1 +-0.37013,-5.554,4.7749,1.547,1 +0.12126,0.22347,-0.47327,0.97024,1 +-0.27068,3.2674,-3.5562,-3.0888,1 +-5.119,6.6486,-0.049987,-6.5206,1 +-1.3946,2.3134,-0.44499,-1.4905,1 +-0.69879,-3.3771,4.1211,1.5043,1 +-1.48,-10.5244,9.9176,-0.5026,1 +-2.6649,-12.813,12.6689,-1.9082,1 +-0.62684,-6.301,4.7843,1.106,1 +0.518,0.25865,-0.84085,0.96118,1 +0.64376,3.764,-4.4738,-4.0483,1 +-2.9821,4.1986,-0.5898,-3.9642,1 +-1.4628,-1.5706,2.4357,0.49826,1 +-1.7101,-8.7903,7.9735,-0.45475,1 +-1.5572,-9.8808,8.1088,-1.0806,1 +0.74428,-3.7723,1.6131,1.5754,1 +2.0177,1.7982,-2.9581,0.2099,1 +1.164,3.913,-4.5544,-3.8672,1 +-4.3667,6.0692,0.57208,-5.4668,1 +-2.5919,-1.0553,3.8949,0.77757,1 +-1.8046,-6.8141,6.7019,1.1681,1 +-0.71868,-5.7154,3.8298,1.0233,1 +1.4378,0.66837,-2.0267,1.0271,1 +2.1943,4.5503,-4.976,-2.7254,1 +0.7376,4.8525,-4.7986,-5.6659,1 +-5.637,8.1261,0.13081,-5.0142,1 +-3.0193,1.7775,0.73745,-0.45346,1 +-1.6706,-2.09,1.584,0.71162,1 +-0.1269,-1.1505,-0.95138,0.57843,1 +1.2198,2.0982,-3.1954,0.12843,1 +1.4501,3.6067,-4.0557,-1.5966,1 +-0.40857,3.0977,-2.9607,-2.6892,1 +-3.8952,3.8157,-0.31304,-3.8194,1 +-6.3679,8.0102,0.4247,-3.2207,1 +-4.1429,2.7749,0.68261,-0.71984,1 +-2.6864,-0.097265,0.61663,0.061192,1 +-1.0555,0.79459,-1.6968,-0.46768,1 +-0.29858,2.4769,-2.9512,-0.66165,1 +-0.49948,1.7734,-2.2469,-0.68104,1 +-1.9881,0.99945,-0.28562,-0.70044,1 +-1.9389,1.5706,0.045979,-1.122,1 +-1.4375,-1.8624,4.026,0.55127,1 +-3.1875,-7.5756,11.8678,-0.57889,1 +-4.6765,-5.6636,10.969,-0.33449,1 +-2.0285,3.8468,-0.63435,-1.175,1 +0.26637,0.73252,-0.67891,0.03533,1 +-1.7589,-6.4624,8.4773,0.31981,1 +-3.5985,-13.6593,17.6052,-2.4927,1 +-3.3582,-7.2404,11.4419,-0.57113,1 +-2.3629,-0.10554,1.9336,1.1358,1 +-2.1802,3.3791,-1.2256,-2.6621,1 +-0.40951,-0.15521,0.060545,-0.088807,1 +-2.2918,-7.257,7.9597,0.9211,1 +-4.0214,-12.8006,15.6199,-0.95647,1 +-3.3884,-8.215,10.3315,0.98187,1 +-2.0046,-0.49457,1.333,1.6543,1 +-1.7063,2.7956,-2.378,-2.3491,1 +-1.6386,3.3584,-1.7302,-3.5646,1 +-0.41645,0.32487,-0.33617,-0.36036,1 +-1.5877,-6.6072,5.8022,0.31593,1 +-2.5961,-9.349,9.7942,-0.28018,1 +-1.5228,-6.4789,5.7568,0.87325,1 +-0.53072,-0.097265,-0.21793,1.0426,1 +-0.49081,2.8452,-3.6436,-3.1004,1 +-6.5773,6.8017,0.85483,-7.5344,1 +-2.4621,2.7645,-0.62578,-2.8573,1 +-1.3995,-1.9162,2.5154,0.59912,1 +-2.3221,-9.3304,9.233,-0.79871,1 +-3.73,-12.9723,12.9817,-2.684,1 +-1.6988,-7.1163,5.7902,0.16723,1 +-0.26654,-0.64562,-0.42014,0.89136,1 +0.33325,3.3108,-4.5081,-4.012,1 +-4.2091,4.7283,-0.49126,-5.2159,1 +-2.3142,-0.68494,1.9833,-0.44829,1 +-2.4835,-7.4494,6.8964,-0.64484,1 +-2.7611,-10.5099,9.0239,-1.9547,1 +-0.36025,-4.449,2.1067,0.94308,1 +1.0117,0.9022,-2.3506,0.42714,1 +0.96708,3.8426,-4.9314,-4.1323,1 +-5.2049,7.259,0.070827,-7.3004,1 +-3.3203,-0.02691,2.9618,-0.44958,1 +-2.565,-5.7899,6.0122,0.046968,1 +-1.5951,-6.572,4.7689,-0.94354,1 +0.7049,0.17174,-1.7859,0.36119,1 +1.7331,3.9544,-4.7412,-2.5017,1 +0.6818,4.8504,-5.2133,-6.1043,1 +-6.3364,9.2848,0.014275,-6.7844,1 +-3.8053,2.4273,0.6809,-1.0871,1 +-2.1979,-2.1252,1.7151,0.45171,1 +-0.87874,-2.2121,-0.051701,0.099985,1 +0.74067,1.7299,-3.1963,-0.1457,1 +0.98296,3.4226,-3.9692,-1.7116,1 +-0.3489,3.1929,-3.4054,-3.1832,1 +-3.8552,3.5219,-0.38415,-3.8608,1 +-6.9599,8.9931,0.2182,-4.572,1 +-4.7462,3.1205,1.075,-1.2966,1 +-3.2051,-0.14279,0.97565,0.045675,1 +-1.7549,-0.080711,-0.75774,-0.3707,1 +-0.59587,2.4811,-2.8673,-0.89828,1 +-0.89542,2.0279,-2.3652,-1.2746,1 +-2.0754,1.2767,-0.64206,-1.2642,1 +-3.2778,1.8023,0.1805,-2.3931,1 +-2.2183,-1.254,2.9986,0.36378,1 +-3.5895,-6.572,10.5251,-0.16381,1 +-5.0477,-5.8023,11.244,-0.3901,1 +-3.5741,3.944,-0.07912,-2.1203,1 +-0.7351,1.7361,-1.4938,-1.1582,1 +-2.2617,-4.7428,6.3489,0.11162,1 +-4.244,-13.0634,17.1116,-2.8017,1 +-4.0218,-8.304,12.555,-1.5099,1 +-3.0201,-0.67253,2.7056,0.85774,1 +-2.4941,3.5447,-1.3721,-2.8483,1 +-0.83121,0.039307,0.05369,-0.23105,1 +-2.5665,-6.8824,7.5416,0.70774,1 +-4.4018,-12.9371,15.6559,-1.6806,1 +-3.7573,-8.2916,10.3032,0.38059,1 +-2.4725,-0.40145,1.4855,1.1189,1 +-1.9725,2.8825,-2.3086,-2.3724,1 +-2.0149,3.6874,-1.9385,-3.8918,1 +-0.82053,0.65181,-0.48869,-0.52716,1 +-1.7886,-6.3486,5.6154,0.42584,1 +-2.9138,-9.4711,9.7668,-0.60216,1 +-1.8343,-6.5907,5.6429,0.54998,1 +-0.8734,-0.033118,-0.20165,0.55774,1 +-0.70346,2.957,-3.5947,-3.1457,1 +-6.7387,6.9879,0.67833,-7.5887,1 +-2.7723,3.2777,-0.9351,-3.1457,1 +-1.6641,-1.3678,1.997,0.52283,1 +-2.4349,-9.2497,8.9922,-0.50001,1 +-3.793,-12.7095,12.7957,-2.825,1 +-1.9551,-6.9756,5.5383,-0.12889,1 +-0.69078,-0.50077,-0.35417,0.47498,1 +0.025013,3.3998,-4.4327,-4.2655,1 +-4.3967,4.9601,-0.64892,-5.4719,1 +-2.456,-0.24418,1.4041,-0.45863,1 +-2.62,-6.8555,6.2169,-0.62285,1 +-2.9662,-10.3257,8.784,-2.1138,1 +-0.71494,-4.4448,2.2241,0.49826,1 +0.6005,0.99945,-2.2126,0.097399,1 +0.61652,3.8944,-4.7275,-4.3948,1 +-5.4414,7.2363,0.10938,-7.5642,1 +-3.5798,0.45937,2.3457,-0.45734,1 +-2.7769,-5.6967,5.9179,0.37671,1 +-1.8356,-6.7562,5.0585,-0.55044,1 +0.30081,0.17381,-1.7542,0.48921,1 +1.3403,4.1323,-4.7018,-2.5987,1 +0.26877,4.987,-5.1508,-6.3913,1 +-6.5235,9.6014,-0.25392,-6.9642,1 +-4.0679,2.4955,0.79571,-1.1039,1 +-2.564,-1.7051,1.5026,0.32757,1 +-1.3414,-1.9162,-0.15538,-0.11984,1 +0.23874,2.0879,-3.3522,-0.66553,1 +0.6212,3.6771,-4.0771,-2.0711,1 +-0.77848,3.4019,-3.4859,-3.5569,1 +-4.1244,3.7909,-0.6532,-4.1802,1 +-7.0421,9.2,0.25933,-4.6832,1 +-4.9462,3.5716,0.82742,-1.4957,1 +-3.5359,0.30417,0.6569,-0.2957,1 +-2.0662,0.16967,-1.0054,-0.82975,1 +-0.88728,2.808,-3.1432,-1.2035,1 +-1.0941,2.3072,-2.5237,-1.4453,1 +-2.4458,1.6285,-0.88541,-1.4802,1 +-3.551,1.8955,0.1865,-2.4409,1 +-2.2811,-0.85669,2.7185,0.044382,1 +-3.6053,-5.974,10.0916,-0.82846,1 +-5.0676,-5.1877,10.4266,-0.86725,1 +-3.9204,4.0723,-0.23678,-2.1151,1 +-1.1306,1.8458,-1.3575,-1.3806,1 +-2.4561,-4.5566,6.4534,-0.056479,1 +-4.4775,-13.0303,17.0834,-3.0345,1 +-4.1958,-8.1819,12.1291,-1.6017,1 +-3.38,-0.7077,2.5325,0.71808,1 +-2.4365,3.6026,-1.4166,-2.8948,1 +-0.77688,0.13036,-0.031137,-0.35389,1 +-2.7083,-6.8266,7.5339,0.59007,1 +-4.5531,-12.5854,15.4417,-1.4983,1 +-3.8894,-7.8322,9.8208,0.47498,1 +-2.5084,-0.22763,1.488,1.2069,1 +-2.1652,3.0211,-2.4132,-2.4241,1 +-1.8974,3.5074,-1.7842,-3.8491,1 +-0.62043,0.5587,-0.38587,-0.66423,1 +-1.8387,-6.301,5.6506,0.19567,1 +-3,-9.1566,9.5766,-0.73018,1 +-1.9116,-6.1603,5.606,0.48533,1 +-1.005,0.084831,-0.2462,0.45688,1 +-0.87834,3.257,-3.6778,-3.2944,1 +-6.651,6.7934,0.68604,-7.5887,1 +-2.5463,3.1101,-0.83228,-3.0358,1 +-1.4377,-1.432,2.1144,0.42067,1 +-2.4554,-9.0407,8.862,-0.86983,1 +-3.9411,-12.8792,13.0597,-3.3125,1 +-2.1241,-6.8969,5.5992,-0.47156,1 +-0.74324,-0.32902,-0.42785,0.23317,1 +-0.071503,3.7412,-4.5415,-4.2526,1 +-4.2333,4.9166,-0.49212,-5.3207,1 +-2.3675,-0.43663,1.692,-0.43018,1 +-2.5526,-7.3625,6.9255,-0.66811,1 +-3.0986,-10.4602,8.9717,-2.3427,1 +-0.89809,-4.4862,2.2009,0.50731,1 +0.56232,1.0015,-2.2726,-0.0060486,1 +0.53936,3.8944,-4.8166,-4.3418,1 +-5.3012,7.3915,0.029699,-7.3987,1 +-3.3553,0.35591,2.6473,-0.37846,1 +-2.7908,-5.7133,5.953,0.45946,1 +-1.9983,-6.6072,4.8254,-0.41984,1 +0.15423,0.11794,-1.6823,0.59524,1 +1.208,4.0744,-4.7635,-2.6129,1 +0.2952,4.8856,-5.149,-6.2323,1 +-6.4247,9.5311,0.022844,-6.8517,1 +-3.9933,2.6218,0.62863,-1.1595,1 +-2.659,-1.6058,1.3647,0.16464,1 +-1.4094,-2.1252,-0.10397,-0.19225,1 +0.11032,1.9741,-3.3668,-0.65259,1 +0.52374,3.644,-4.0746,-1.9909,1 +-0.76794,3.4598,-3.4405,-3.4276,1 +-3.9698,3.6812,-0.60008,-4.0133,1 +-7.0364,9.2931,0.16594,-4.5396,1 +-4.9447,3.3005,1.063,-1.444,1 +-3.5933,0.22968,0.7126,-0.3332,1 +-2.1674,0.12415,-1.0465,-0.86208,1 +-0.9607,2.6963,-3.1226,-1.3121,1 +-1.0802,2.1996,-2.5862,-1.2759,1 +-2.3277,1.4381,-0.82114,-1.2862,1 +-3.7244,1.9037,-0.035421,-2.5095,1 +-2.5724,-0.95602,2.7073,-0.16639,1 +-3.9297,-6.0816,10.0958,-1.0147,1 +-5.2943,-5.1463,10.3332,-1.1181,1 +-3.8953,4.0392,-0.3019,-2.1836,1 +-1.2244,1.7485,-1.4801,-1.4181,1 +-2.6406,-4.4159,5.983,-0.13924,1 +-4.6338,-12.7509,16.7166,-3.2168,1 +-4.2887,-7.8633,11.8387,-1.8978,1 +-3.3458,-0.50491,2.6328,0.53705,1 +-1.1188,3.3357,-1.3455,-1.9573,1 +0.55939,-0.3104,0.18307,0.44653,1 +-1.5078,-7.3191,7.8981,1.2289,1 +-3.506,-12.5667,15.1606,-0.75216,1 +-2.9498,-8.273,10.2646,1.1629,1 +-1.6029,-0.38903,1.62,1.9103,1 +-1.2667,2.8183,-2.426,-1.8862,1 +-0.49281,3.0605,-1.8356,-2.834,1 +0.66365,-0.045533,-0.18794,0.23447,1 +-0.72068,-6.7583,5.8408,0.62369,1 +-1.9966,-9.5001,9.682,-0.12889,1 +-0.97325,-6.4168,5.6026,1.0323,1 +-0.025314,-0.17383,-0.11339,1.2198,1 +0.062525,2.9301,-3.5467,-2.6737,1 +-5.525,6.3258,0.89768,-6.6241,1 +-1.2943,2.6735,-0.84085,-2.0323,1 +-0.24037,-1.7837,2.135,1.2418,1 +-1.3968,-9.6698,9.4652,-0.34872,1 +-2.9672,-13.2869,13.4727,-2.6271,1 +-1.1005,-7.2508,6.0139,0.36895,1 +0.22432,-0.52147,-0.40386,1.2017,1 +0.90407,3.3708,-4.4987,-3.6965,1 +-2.8619,4.5193,-0.58123,-4.2629,1 +-1.0833,-0.31247,1.2815,0.41291,1 +-1.5681,-7.2446,6.5537,-0.1276,1 +-2.0545,-10.8679,9.4926,-1.4116,1 +0.2346,-4.5152,2.1195,1.4448,1 +1.581,0.86909,-2.3138,0.82412,1 +1.5514,3.8013,-4.9143,-3.7483,1 +-4.1479,7.1225,-0.083404,-6.4172,1 +-2.2625,-0.099335,2.8127,0.48662,1 +-1.7479,-5.823,5.8699,1.212,1 +-0.95923,-6.7128,4.9857,0.32886,1 +1.3451,0.23589,-1.8785,1.3258,1 +2.2279,4.0951,-4.8037,-2.1112,1 +1.2572,4.8731,-5.2861,-5.8741,1 +-5.3857,9.1214,-0.41929,-5.9181,1 +-2.9786,2.3445,0.52667,-0.40173,1 +-1.5851,-2.1562,1.7082,0.9017,1 +-0.21888,-2.2038,-0.0954,0.56421,1 +1.3183,1.9017,-3.3111,0.065071,1 +1.4896,3.4288,-4.0309,-1.4259,1 +0.11592,3.2219,-3.4302,-2.8457,1 +-3.3924,3.3564,-0.72004,-3.5233,1 +-6.1632,8.7096,-0.21621,-3.6345,1 +-4.0786,2.9239,0.87026,-0.65389,1 +-2.5899,-0.3911,0.93452,0.42972,1 +-1.0116,-0.19038,-0.90597,0.003003,1 +0.066129,2.4914,-2.9401,-0.62156,1 +-0.24745,1.9368,-2.4697,-0.80518,1 +-1.5732,1.0636,-0.71232,-0.8388,1 +-2.1668,1.5933,0.045122,-1.678,1 +-1.1667,-1.4237,2.9241,0.66119,1 +-2.8391,-6.63,10.4849,-0.42113,1 +-4.5046,-5.8126,10.8867,-0.52846,1 +-2.41,3.7433,-0.40215,-1.2953,1 +0.40614,1.3492,-1.4501,-0.55949,1 +-1.3887,-4.8773,6.4774,0.34179,1 +-3.7503,-13.4586,17.5932,-2.7771,1 +-3.5637,-8.3827,12.393,-1.2823,1 +-2.5419,-0.65804,2.6842,1.1952,1 \ No newline at end of file diff --git a/doc/src/week45/Datafiles/cancer.dot b/doc/src/week45/Datafiles/cancer.dot new file mode 100644 index 000000000..5b4b48a9b --- /dev/null +++ b/doc/src/week45/Datafiles/cancer.dot @@ -0,0 +1,57 @@ +digraph Tree { +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="#e5813908"] ; +1 [label="worst concave points <= 0.159\ngini = 0.067\nsamples = 259\nvalue = [[250, 9]\n[9, 250]]", fillcolor="#e58139db"] ; +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="#e58139ee"] ; +1 -> 2 ; +3 [label="radius error <= 0.643\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e58139fb"] ; +2 -> 3 ; +4 [label="gini = 0.0\nsamples = 239\nvalue = [[239, 0]\n[0, 239]]", fillcolor="#e58139ff"] ; +3 -> 4 ; +5 [label="worst symmetry <= 0.208\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#e5813913"] ; +3 -> 5 ; +6 [label="gini = 0.0\nsamples = 1\nvalue = [[0, 1]\n[1, 0]]", fillcolor="#e58139ff"] ; +5 -> 6 ; +7 [label="gini = 0.0\nsamples = 2\nvalue = [[2, 0]\n[0, 2]]", fillcolor="#e58139ff"] ; +5 -> 7 ; +8 [label="worst texture <= 29.455\ngini = 0.397\nsamples = 11\nvalue = [[8, 3]\n[3, 8]]", fillcolor="#e581392c"] ; +2 -> 8 ; +9 [label="gini = 0.0\nsamples = 8\nvalue = [[8, 0]\n[0, 8]]", fillcolor="#e58139ff"] ; +8 -> 9 ; +10 [label="gini = 0.0\nsamples = 3\nvalue = [[0, 3]\n[3, 0]]", fillcolor="#e58139ff"] ; +8 -> 10 ; +11 [label="mean texture <= 16.22\ngini = 0.278\nsamples = 6\nvalue = [[1, 5]\n[5, 1]]", fillcolor="#e581396b"] ; +1 -> 11 ; +12 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +11 -> 12 ; +13 [label="gini = 0.0\nsamples = 5\nvalue = [[0, 5]\n[5, 0]]", fillcolor="#e58139ff"] ; +11 -> 13 ; +14 [label="worst texture <= 20.645\ngini = 0.202\nsamples = 167\nvalue = [[19, 148]\n[148, 19]]", fillcolor="#e5813994"] ; +0 -> 14 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; +15 [label="worst radius <= 17.74\ngini = 0.375\nsamples = 16\nvalue = [[12, 4]\n[4, 12]]", fillcolor="#e5813938"] ; +14 -> 15 ; +16 [label="gini = 0.0\nsamples = 11\nvalue = [[11, 0]\n[0, 11]]", fillcolor="#e58139ff"] ; +15 -> 16 ; +17 [label="mean texture <= 13.745\ngini = 0.32\nsamples = 5\nvalue = [[1, 4]\n[4, 1]]", fillcolor="#e5813955"] ; +15 -> 17 ; +18 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +17 -> 18 ; +19 [label="gini = 0.0\nsamples = 4\nvalue = [[0, 4]\n[4, 0]]", fillcolor="#e58139ff"] ; +17 -> 19 ; +20 [label="mean concave points <= 0.049\ngini = 0.088\nsamples = 151\nvalue = [[7, 144]\n[144, 7]]", fillcolor="#e58139d0"] ; +14 -> 20 ; +21 [label="concave points error <= 0.01\ngini = 0.48\nsamples = 15\nvalue = [[6, 9]\n[9, 6]]", fillcolor="#e5813900"] ; +20 -> 21 ; +22 [label="gini = 0.0\nsamples = 9\nvalue = [[0, 9]\n[9, 0]]", fillcolor="#e58139ff"] ; +21 -> 22 ; +23 [label="gini = 0.0\nsamples = 6\nvalue = [[6, 0]\n[0, 6]]", fillcolor="#e58139ff"] ; +21 -> 23 ; +24 [label="worst smoothness <= 0.096\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e58139f7"] ; +20 -> 24 ; +25 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +24 -> 25 ; +26 [label="gini = 0.0\nsamples = 135\nvalue = [[0, 135]\n[135, 0]]", fillcolor="#e58139ff"] ; +24 -> 26 ; +} \ No newline at end of file diff --git a/doc/src/week45/Datafiles/cancer.png b/doc/src/week45/Datafiles/cancer.png new file mode 100644 index 0000000000000000000000000000000000000000..2ceb5e1f87d923a1cbee266c6cdd1b116e2ed85a GIT binary patch literal 221561 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
    $SlJpzY(BB_TeUdD` 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 literal 0 HcmV?d00001 diff --git a/doc/src/week45/Datafiles/ensembleoverview.png b/doc/src/week45/Datafiles/ensembleoverview.png new file mode 100644 index 0000000000000000000000000000000000000000..dce581ee65b3cb552589a0ad6361ae775a6183ed GIT binary patch literal 81932 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 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; +2 [label="gini = 0.48\nsamples = 10\nvalue = [4, 6, 0]", fillcolor="#39e58155"] ; +1 -> 2 ; +3 [label="gini = 0.0\nsamples = 4\nvalue = [0, 4, 0]", fillcolor="#39e581ff"] ; +1 -> 3 ; +4 [label="gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]", fillcolor="#8139e5ff"] ; +0 -> 4 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; +} \ No newline at end of file diff --git a/doc/src/week45/Datafiles/rideclass.csv b/doc/src/week45/Datafiles/rideclass.csv new file mode 100644 index 000000000..a0831ac7e --- /dev/null +++ b/doc/src/week45/Datafiles/rideclass.csv @@ -0,0 +1,15 @@ +Day,Outlook,Temperature,Humidity,Wind,Ride +1,Sunny,Hot,High,Weak,0 +2,Sunny,Hot,High,Strong,1 +3,Overcast,Hot,High,Weak,1 +4,Rain,Mild,High,Weak,1 +5,Rain,Cool,Normal,Weak,1 +6,Rain,Cool,Normal,Strong,0 +7,Overcast,Cool,Normal,Strong,1 +8,Sunny,Mild,High,Weak,0 +9,Sunny,Cool,Normal,Weak,1 +10,Rain,Mild,Normal,Weak,1 +11,Sunny,Mild,Normal,Strong,1 +12,Overcast,Mild,High,Strong,1 +13,Overcast,Hot,Normal,Weak,1 +14,Rain,Mild,High,Strong,0 diff --git a/doc/src/week45/Datafiles/zoo.csv b/doc/src/week45/Datafiles/zoo.csv new file mode 100644 index 000000000..ca71f7d21 --- /dev/null +++ b/doc/src/week45/Datafiles/zoo.csv @@ -0,0 +1,101 @@ +aardvark,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1 +antelope,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +bass,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +bear,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1 +boar,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +buffalo,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +calf,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +carp,0,0,1,0,0,1,0,1,1,0,0,1,0,1,1,0,4 +catfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +cavy,1,0,0,1,0,0,0,1,1,1,0,0,4,0,1,0,1 +cheetah,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +chicken,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 +chub,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +clam,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,7 +crab,0,0,1,0,0,1,1,0,0,0,0,0,4,0,0,0,7 +crayfish,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,7 +crow,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,2 +deer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +dogfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 +dolphin,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1 +dove,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 +duck,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,0,2 +elephant,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +flamingo,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,1,2 +flea,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,6 +frog,0,0,1,0,0,1,1,1,1,1,0,0,4,0,0,0,5 +frog,0,0,1,0,0,1,1,1,1,1,1,0,4,0,0,0,5 +fruitbat,1,0,0,1,1,0,0,1,1,1,0,0,2,1,0,0,1 +giraffe,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +girl,1,0,0,1,0,0,1,1,1,1,0,0,2,0,1,1,1 +gnat,0,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 +goat,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +gorilla,1,0,0,1,0,0,0,1,1,1,0,0,2,0,0,1,1 +gull,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 +haddock,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 +hamster,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,0,1 +hare,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,0,1 +hawk,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,2 +herring,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +honeybee,1,0,1,0,1,0,0,0,0,1,1,0,6,0,1,0,6 +housefly,1,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 +kiwi,0,1,1,0,0,0,1,0,1,1,0,0,2,1,0,0,2 +ladybird,0,0,1,0,1,0,1,0,0,1,0,0,6,0,0,0,6 +lark,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 +leopard,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +lion,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +lobster,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,7 +lynx,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +mink,1,0,0,1,0,1,1,1,1,1,0,0,4,1,0,1,1 +mole,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,0,1 +mongoose,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +moth,1,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 +newt,0,0,1,0,0,1,1,1,1,1,0,0,4,1,0,0,5 +octopus,0,0,1,0,0,1,1,0,0,0,0,0,8,0,0,1,7 +opossum,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,0,1 +oryx,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 +ostrich,0,1,1,0,0,0,0,0,1,1,0,0,2,1,0,1,2 +parakeet,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 +penguin,0,1,1,0,0,1,1,0,1,1,0,0,2,1,0,1,2 +pheasant,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 +pike,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 +piranha,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 +pitviper,0,0,1,0,0,0,1,1,1,1,1,0,0,1,0,0,3 +platypus,1,0,1,1,0,1,1,0,1,1,0,0,4,1,0,1,1 +polecat,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +pony,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +porpoise,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1 +puma,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +pussycat,1,0,0,1,0,0,1,1,1,1,0,0,4,1,1,1,1 +raccoon,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +reindeer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 +rhea,0,1,1,0,0,0,1,0,1,1,0,0,2,1,0,1,2 +scorpion,0,0,0,0,0,0,1,0,0,1,1,0,8,1,0,0,7 +seahorse,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 +seal,1,0,0,1,0,1,1,1,1,1,0,1,0,0,0,1,1 +sealion,1,0,0,1,0,1,1,1,1,1,0,1,2,1,0,1,1 +seasnake,0,0,0,0,0,1,1,1,1,0,1,0,0,1,0,0,3 +seawasp,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,7 +skimmer,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 +skua,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 +slowworm,0,0,1,0,0,0,1,1,1,1,0,0,0,1,0,0,3 +slug,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,7 +sole,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 +sparrow,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 +squirrel,1,0,0,1,0,0,0,1,1,1,0,0,2,1,0,0,1 +starfish,0,0,1,0,0,1,1,0,0,0,0,0,5,0,0,0,7 +stingray,0,0,1,0,0,1,1,1,1,0,1,1,0,1,0,1,4 +swan,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,1,2 +termite,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,6 +toad,0,0,1,0,0,1,0,1,1,1,0,0,4,0,0,0,5 +tortoise,0,0,1,0,0,0,0,0,1,1,0,0,4,1,0,1,3 +tuatara,0,0,1,0,0,0,1,1,1,1,0,0,4,1,0,0,3 +tuna,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 +vampire,1,0,0,1,1,0,0,1,1,1,0,0,2,1,0,0,1 +vole,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,0,1 +vulture,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,1,2 +wallaby,1,0,0,1,0,0,0,1,1,1,0,0,2,1,0,1,1 +wasp,1,0,1,0,1,0,0,0,0,1,1,0,6,0,0,0,6 +wolf,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 +worm,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,7 +wren,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 diff --git a/doc/src/week45/week45.do.txt b/doc/src/week45/week45.do.txt index f29755c32..f7dc247d1 100644 --- a/doc/src/week45/week45.do.txt +++ b/doc/src/week45/week45.do.txt @@ -1,24 +1,1403 @@ -TITLE: Week 45: Random Forests and Boosting +TITLE: Week 45: Decisions Trees, Random Forests, Bagging and Boosting AUTHOR: Morten Hjorth-Jensen {copyright, 1999-present|CC BY-NC} at Department of Physics, University of Oslo & Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University DATE: today !split ===== Overview of week 45 ===== -* _Thursday_: Wrapping up from last week. Bagging and Random forests. Boosting methods. "Link to video of lecture":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/LectureNovember5.mp4?vrtx=view-as-webpage" -* _Friday_: Boosting and gradient boosting. "Link to video of lecture":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/LectureNovember6.mp4?vrtx=view-as-webpage" +* Thursday: Basics of Decision Trees, Bagging and Voting +* Friday: More on Bagging, Voting, Random Forests and start Boosting +!bblock Videos +o "Video on Decision trees":"https://www.youtube.com/watch?v=RmajweUFKvM&ab_channel=Simplilearn" +"Video on boosting methods by Hastie":"https://www.youtube.com/watch?v=wPqtzj5VZus&ab_channel=H2O.ai". +!eblock -Geron's chapter 7. See also lecture from "STK-IN4300, lecture 9":"https://www.uio.no/studier/emner/matnat/math/STK-IN4300/h20/slides/lecture_9.pdf". Chapter 10 (sections 10.1-10.10 are the most relevant ones) of Hastie et al contains also a good discussion. +!bblock Reading +o Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from "STK-IN4300, lecture 7":"https://www.uio.no/studier/emner/matnat/math/STK-IN4300/h20/slides/lecture_7.pdf". Chapter 9.2 of Hastie et al contains also a good discussion. +!eblock -"Video on boosting methods by Hastie (the textbook author)":"https://www.youtube.com/watch?v=wPqtzj5VZus&ab_channel=H2O.ai". !split -===== Thursday ===== +===== Decision trees, overarching aims ===== + + +We start here with the most basic algorithm, the so-called decision +tree. With this basic algorithm we can in turn build more complex +networks, spanning from homogeneous and heterogenous forests (bagging, +random forests and more) to one of the most popular supervised +algorithms nowadays, the extreme gradient boosting, or just +XGBoost. But let us start with the simplest possible ingredient. + +Decision trees are supervised learning algorithms used for both, +classification and regression tasks. + + +The main idea of decision trees +is to find those descriptive features which contain the most +_information_ regarding the target feature and then split the dataset +along the values of these features such that the target feature values +for the resulting underlying datasets are as pure as possible. + +The descriptive features which reproduce best the target/output features are normally said +to be the most informative ones. The process of finding the _most +informative_ feature is done until we accomplish a stopping criteria +where we then finally end up in so called _leaf nodes_. + +!split +===== Basics of a tree ===== + +A decision tree is typically divided into a _root node_, the _interior nodes_, +and the final _leaf nodes_ or just _leaves_. These entities are then connected by so-called _branches_. + +The leaf nodes +contain the predictions we will make for new query instances presented +to our trained model. This is possible since the model has +learned the underlying structure of the training data and hence can, +given some assumptions, make predictions about the target feature value +(class) of unseen query instances. + +!split +===== A Sketch of a Tree, Regression problem ===== + + + +#FIGURE: [DataFiles/Regsimpletree.png, width=600 frac=0.8] + +!split +===== A Sketch of a Tree, Classification problem ===== + +#FIGURE: [DataFiles/Classimpletree.png, width=600 frac=0.8] + + + +!split +===== A typical Decision Tree with its pertinent Jargon, Classification Problem ===== + +FIGURE: [DataFiles/cancer.png, width=600 frac=0.8] + +This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using _Scikit-Learn_'s decision tree classifier. Here we have used the so-called _gini_ index (see below) to split the various branches. + + + +!split +===== General Features ===== + +The overarching approach to decision trees is a top-down approach. + +* A leaf provides the classification of a given instance. +* A node specifies a test of some attribute of the instance. +* A branch corresponds to a possible values of an attribute. +* An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example. + + +This process is then repeated for the subtree rooted at the new +node. + + +!split +===== How do we set it up? ===== + + +In simplified terms, the process of training a decision tree and +predicting the target features of query instances is as follows: + +o Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature + +o Train the decision tree model by continuously splitting the target feature along the values of the descriptive features using a measure of information gain during the training process + +o Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the *predictions* we want to make for new query instances + +o Show query instances to the tree and run down the tree until we arrive at leaf nodes + +Then we are essentially done! + + + + + +!split +===== Decision trees and Regression ===== +!bc pycod +import numpy as np +import matplotlib.pyplot as plt +from sklearn.preprocessing import PolynomialFeatures +from sklearn.linear_model import LinearRegression + +steps=250 + +distance=0 +x=0 +distance_list=[] +steps_list=[] +while x 0).astype(np.float32) * 2 + +angle = np.pi/4 +rotation_matrix = np.array([[np.cos(angle), -np.sin(angle)], [np.sin(angle), np.cos(angle)]]) +Xsr = Xs.dot(rotation_matrix) + +tree_clf_s = DecisionTreeClassifier(random_state=42) +tree_clf_s.fit(Xs, ys) +tree_clf_sr = DecisionTreeClassifier(random_state=42) +tree_clf_sr.fit(Xsr, ys) + +plt.figure(figsize=(11, 4)) +plt.subplot(121) +plot_decision_boundary(tree_clf_s, Xs, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False) +plt.subplot(122) +plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False) + +plt.show() +!ec + +!split +===== Regression trees ===== +!bc pycod +# Quadratic training set + noise +np.random.seed(42) +m = 200 +X = np.random.rand(m, 1) +y = 4 * (X - 0.5) ** 2 +y = y + np.random.randn(m, 1) / 10 +!ec + +!bc pycod +from sklearn.tree import DecisionTreeRegressor + +tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42) +tree_reg.fit(X, y) +!ec + +!split +===== Final regressor code ===== +!bc pycod +from sklearn.tree import DecisionTreeRegressor + +tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2) +tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3) +tree_reg1.fit(X, y) +tree_reg2.fit(X, y) + +def plot_regression_predictions(tree_reg, X, y, axes=[0, 1, -0.2, 1], ylabel="$y$"): + x1 = np.linspace(axes[0], axes[1], 500).reshape(-1, 1) + y_pred = tree_reg.predict(x1) + plt.axis(axes) + plt.xlabel("$x_1$", fontsize=18) + if ylabel: + plt.ylabel(ylabel, fontsize=18, rotation=0) + plt.plot(X, y, "b.") + plt.plot(x1, y_pred, "r.-", linewidth=2, label=r"$\hat{y}$") + +plt.figure(figsize=(11, 4)) +plt.subplot(121) +plot_regression_predictions(tree_reg1, X, y) +for split, style in ((0.1973, "k-"), (0.0917, "k--"), (0.7718, "k--")): + plt.plot([split, split], [-0.2, 1], style, linewidth=2) +plt.text(0.21, 0.65, "Depth=0", fontsize=15) +plt.text(0.01, 0.2, "Depth=1", fontsize=13) +plt.text(0.65, 0.8, "Depth=1", fontsize=13) +plt.legend(loc="upper center", fontsize=18) +plt.title("max_depth=2", fontsize=14) + +plt.subplot(122) +plot_regression_predictions(tree_reg2, X, y, ylabel=None) +for split, style in ((0.1973, "k-"), (0.0917, "k--"), (0.7718, "k--")): + plt.plot([split, split], [-0.2, 1], style, linewidth=2) +for split in (0.0458, 0.1298, 0.2873, 0.9040): + plt.plot([split, split], [-0.2, 1], "k:", linewidth=1) +plt.text(0.3, 0.5, "Depth=2", fontsize=13) +plt.title("max_depth=3", fontsize=14) + +plt.show() +!ec + +!bc pycod +tree_reg1 = DecisionTreeRegressor(random_state=42) +tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10) +tree_reg1.fit(X, y) +tree_reg2.fit(X, y) + +x1 = np.linspace(0, 1, 500).reshape(-1, 1) +y_pred1 = tree_reg1.predict(x1) +y_pred2 = tree_reg2.predict(x1) + +plt.figure(figsize=(11, 4)) + +plt.subplot(121) +plt.plot(X, y, "b.") +plt.plot(x1, y_pred1, "r.-", linewidth=2, label=r"$\hat{y}$") +plt.axis([0, 1, -0.2, 1.1]) +plt.xlabel("$x_1$", fontsize=18) +plt.ylabel("$y$", fontsize=18, rotation=0) +plt.legend(loc="upper center", fontsize=18) +plt.title("No restrictions", fontsize=14) + +plt.subplot(122) +plt.plot(X, y, "b.") +plt.plot(x1, y_pred2, "r.-", linewidth=2, label=r"$\hat{y}$") +plt.axis([0, 1, -0.2, 1.1]) +plt.xlabel("$x_1$", fontsize=18) +plt.title("min_samples_leaf={}".format(tree_reg2.min_samples_leaf), fontsize=14) + +plt.show() +!ec + + + +!split +===== Pros and cons of trees, pros ===== + +* White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines) +* Trees are very easy to explain to people. In fact, they are even easier to explain than linear regression! +* No feature normalization needed +* Tree models can handle both continuous and categorical data (Classification and Regression Trees) +* Can model nonlinear relationships +* Can model interactions between the different descriptive features +* Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small) + + +!split +===== Disadvantages ===== + +* Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches +* If continuous features are used the tree may become quite large and hence less interpretable +* Decision trees are prone to overfit the training data and hence do not well generalize the data if no stopping criteria or improvements like pruning, boosting or bagging are implemented +* Small changes in the data may lead to a completely different tree. This issue can be addressed by using ensemble methods like bagging, boosting or random forests +* Unbalanced datasets where some target feature values occur much more frequently than others may lead to biased trees since the frequently occurring feature values are preferred over the less frequently occurring ones. +* If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data +* Features with many levels may be preferred over features with less levels since for them it is *more easy* to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain + +However, by aggregating many decision trees, using methods like +bagging, random forests, and boosting, the predictive performance of +trees can be substantially improved. + + +!split +===== Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods ===== + +As stated above and seen in many of the examples discussed here about +a single decision tree, we often end up overfitting our training +data. This normally means that we have a high variance. Can we reduce +the variance of a statistical learning method? + +This leads us to a set of different methods that can combine different +machine learning algorithms or just use one of them to construct +forests and jungles of trees, homogeneous ones or heterogenous +ones. These methods are recognized by different names which we will +try to explain here. These are + +o Voting classifiers +o Bagging and Pasting +o Random forests +o Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost) + +We discuss these methods here. + + +!split +===== An Overview of Ensemble Methods ===== + +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 + + + -Bagging, voting and random forests. -The material on bagging and voting is a repeat from last week and can be found in the slides from week 44. -We repeat here the voting approach since this will serve as a motivation for boosting methods later. !split ===== Why Voting? =====