From f170a1a9d54fa539a3aaa5e0d96f1089e67fa1f9 Mon Sep 17 00:00:00 2001 From: mhjensen Date: Thu, 26 Dec 2019 10:00:10 +0100 Subject: [PATCH] changed intro to trees --- .../html/._DecisionTrees-bs000.html | 2 +- .../html/._DecisionTrees-bs001.html | 8 ++++++++ .../DecisionTrees/html/DecisionTrees-bs.html | 2 +- .../html/DecisionTrees-reveal.html | 10 +++++++++- .../html/DecisionTrees-solarized.html | 10 +++++++++- doc/pub/DecisionTrees/html/DecisionTrees.html | 10 +++++++++- .../DecisionTrees/ipynb/DecisionTrees.ipynb | 11 ++++++++++- .../ipynb/ipynb-DecisionTrees-src.tar.gz | Bin 294061 -> 294061 bytes .../pdf/DecisionTrees-minted.pdf | Bin 564583 -> 564957 bytes doc/src/DecisionTrees/DecisionTrees.do.txt | 9 +++++++++ 10 files changed, 56 insertions(+), 6 deletions(-) diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html index b0e52796d..5dbe0927e 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs000.html @@ -299,7 +299,7 @@ MathJax.Hub.Config({
[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

-

Dec 12, 2019

+

Dec 26, 2019


diff --git a/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html b/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html index a53bdadad..f76edf0eb 100644 --- a/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html +++ b/doc/pub/DecisionTrees/html/._DecisionTrees-bs001.html @@ -282,6 +282,14 @@ MathJax.Hub.Config({

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. diff --git a/doc/pub/DecisionTrees/html/DecisionTrees-bs.html b/doc/pub/DecisionTrees/html/DecisionTrees-bs.html index b0e52796d..5dbe0927e 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees-bs.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees-bs.html @@ -299,7 +299,7 @@ MathJax.Hub.Config({

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

-

Dec 12, 2019

+

Dec 26, 2019


diff --git a/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html b/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html index 8e8a5e858..9ab557f8e 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees-reveal.html @@ -148,7 +148,7 @@ MathJax.Hub.Config({

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

 
-

Dec 12, 2019

+

Dec 26, 2019


@@ -161,6 +161,14 @@ MathJax.Hub.Config({

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. diff --git a/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html b/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html index 473793572..4bc0e2534 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees-solarized.html @@ -224,13 +224,21 @@ MathJax.Hub.Config({

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

-

Dec 12, 2019

+

Dec 26, 2019












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. diff --git a/doc/pub/DecisionTrees/html/DecisionTrees.html b/doc/pub/DecisionTrees/html/DecisionTrees.html index 75a2c342c..38742eeb9 100644 --- a/doc/pub/DecisionTrees/html/DecisionTrees.html +++ b/doc/pub/DecisionTrees/html/DecisionTrees.html @@ -229,13 +229,21 @@ MathJax.Hub.Config({

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

-

Dec 12, 2019

+

Dec 26, 2019












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. diff --git a/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb b/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb index d2132da47..a5c9bc63c 100644 --- a/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb +++ b/doc/pub/DecisionTrees/ipynb/DecisionTrees.ipynb @@ -10,7 +10,7 @@ " \n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", "\n", - "Date: **Dec 12, 2019**\n", + "Date: **Dec 26, 2019**\n", "\n", "Copyright 1999-2019, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n", "\n", @@ -20,6 +20,13 @@ "## Decision trees, overarching aims\n", "\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", @@ -35,6 +42,8 @@ "informative** feature is done until we accomplish a stopping criteria\n", "where we then finally end up in so called **leaf nodes**. \n", "\n", + "\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", diff --git a/doc/pub/DecisionTrees/ipynb/ipynb-DecisionTrees-src.tar.gz b/doc/pub/DecisionTrees/ipynb/ipynb-DecisionTrees-src.tar.gz index 3f00ab617964ad419aac304c61dd6ec334da54df..bcfd4eaf8d3086dc0d7a49f13a2cf6eff09dc738 100644 GIT binary patch delta 31 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 delta 4940 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