# 決定木について分かりやすく解説！PythonとRで実装してみよう！

> 当サイト【スタビジ】の本記事では、機械学習手法の基本である決定木について見ていきたいと思います。アルゴリズムが分かりやすく実務でもよく使われる手法です。RとPythonでの簡単な実装も合わせておこなっていくので是非チェックしてくださいね！

- URL: https://toukei-lab.com/%e6%b1%ba%e5%ae%9a%e6%9c%a8
- 公開: 2022.11.29 / 更新: 2024.11.13
- サイト: スタビジ（https://toukei-lab.com）

:::talk{who="umatan"}
本記事では、機械学習手法の基本である決定木について見ていきたいと思います。アルゴリズムが分かりやすく実務でもよく使われる手法です。RとPythonでの簡単な実装もあわせて行っていくので是非チェックしてくださいね！
:::

こんにちは！

データサイエンティストのウマたん([@statistics1012](https://twitter.com/statistics1012?lang=ja))です。

有名な機械学習手法の一つに**決定木**があります！非常に良く使われる王道な手法です。

今回はそんな決定木について見ていきましょう～！

:::talk{who="robotan"}
決定木は非常に分かりやすくてよく使われる手法だよね！
:::

:::talk{who="umatan"}
決定木は機械学習手法の基本となる手法だね！決定木について詳しく見ていきその特徴を学んでいこう！そしてRとPythonで実装していこう！
:::

それでは、決定木について徹底的に見ていきましょう！

<mark>決定木の概要</mark>を掴んだあと、<mark>RとPythonで実装</mark>してみて最終的に決定木を使った<mark>応用手法</mark>も取り上げていきますよ！

:::box{title="読み飛ばしガイド"}
・[決定木のアルゴリズム](#CART)\
・[決定木をRで実装する方法](#R)\
・[決定木をPythonで実装する方法](#Python)\
・[決定木の応用手法](#i-2)
:::

Youtubeでも解説しているので、ぜひこちらもチェックしてみてください！

::youtube{#Gu31SuTwUZw}

## 決定木とは

![決定木](/wp-content/uploads/2022/11/d993c1780abadc175450164aa67f5cc8.png)

比較的新しい文献から決定木に関する記述を引用してみましょう！

2009年の論文です。

> CART is a rule-based method that generates a binary tree through binary recursive partitioning that splits a subset (called a leaf) of the data set into two subsets (called sub-leaves) according to the minimization of a heterogeneity criterion computed on the resulting sub-leaves. Each split is based on a single variable; some variables may be used several times while others may not be used at all.\
> 引用元：[Google-“CART algorithm for spatial data: Application to environmental and ecological data”](https://www.researchgate.net/profile/Avner_Bar-Hen/publication/46493919_CART_algorithm_for_spatial_data_Application_to_environmental_and_ecological_data/links/59d718d8a6fdcc52acab34bf/CART-algorithm-for-spatial-data-Application-to-environmental-and-ecological-data.pdf)

決定木の分類アルゴリズムの1つであるCARTの説明について述べてあります。

詳しく知りたい方は論文を見てみてください。

決定木っていうのはその名の通り**木構造でデータ分類していく手法**で、そこそこの精度と結果の視認性から実務の場で良く用いられています！

![](/wp-content/uploads/2018/01/66c19942ab4ba346fdb64ccc04cde373-2.png)

非常に簡易的な例ですが、<mark>会員か非会員かどうかを多くの変数で判断</mark>するような判別を行うとします。

その時、まずは**性別**による影響が強いようなので性別で分類、続いて**年齢**による影響が強いようなので年齢で分類・・・

このように<mark>木構造が下に伸びていって分類</mark>することができます。

分類された箱を**ノード**と呼びます。

そしてもうこれ以上分類されない最後のノードを**ターミナルノード**と呼びます。

この図の例だと、<mark>男性・子供・大人がターミナルノード</mark>ですね。

もっと一般的な例で考えてみましょう！

![](/wp-content/uploads/2018/01/66c19942ab4ba346fdb64ccc04cde373-3.png)

こんな感じ！この例は3つのカテゴリー質的変数をX,Yの説明変数を用いて上手く分類している例です！

こんな感じで分類したあとに<mark>視覚的にどんな変数が一番分類に効いているのかなどが分かりやすいのが特徴です！</mark>

:::talk{who="robotan"}
確かにすごくわかりやすいかも！
:::

:::talk{who="umatan"}
この解釈性の高さから、実務でも使われることが多いんだ！
:::

その他の手法含む機械学習系、その他のAI用語を一挙にまとめた以下の記事も合わせて要チェックです！

<https://toukei-lab.com/ai-term>

## 決定木のアルゴリズム（CART）

それでは、そんな<mark>決定木のアルゴリズムを見ていきましょう！</mark>

決定木のアルゴリズムはいくつかあるんですが、最も有名なのが**CART**！

先ほどの論文でもCARTが用いられていましたね。

CARTは決定木の数あるアルゴリズムの中でも最も良く使われる手法であり、L.Breimanらによって1970年代初めごろから研究が始められ、1980年代の前半に公開されたアルゴリズムです。

元田先生らが書いた[データマイニング](/data-mining)の基礎を参考にしてみていきましょう！

::product[データマイニングの基礎 (IT Text)]{url="https://af.moshimo.com/af/c/click?a_id=860485&p_id=170&pc_id=185&pl_id=4062&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fwww.amazon.co.jp%2Fexec%2Fobidos%2FASIN%2F4274203484%2Fref%3Dnosim" image="https://images-fe.ssl-images-amazon.com/images/I/41emmha0tpL._SL160_.jpg" amazon="https://af.moshimo.com/af/c/click?a_id=860485&p_id=170&pc_id=185&pl_id=4062&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fwww.amazon.co.jp%2Fgp%2Fsearch%3Fkeywords%3D%25E3%2583%2587%25E3%2583%25BC%25E3%2582%25BF%25E3%2583%259E%25E3%2582%25A4%25E3%2583%258B%25E3%2583%25B3%25E3%2582%25B0%25E3%2581%25AE%25E5%259F%25BA%25E7%25A4%258E%26__mk_ja_JP%3D%25E3%2582%25AB%25E3%2582%25BF%25E3%2582%25AB%25E3%2583%258A" rakuten="https://af.moshimo.com/af/c/click?a_id=858168&p_id=54&pc_id=54&pl_id=616&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2583%2587%25E3%2583%25BC%25E3%2582%25BF%25E3%2583%259E%25E3%2582%25A4%25E3%2583%258B%25E3%2583%25B3%25E3%2582%25B0%25E3%2581%25AE%25E5%259F%25BA%25E7%25A4%258E%2F-%2Ff.1-p.1-s.1-sf.0-st.A-v.2%3Fx%3D0" detail="元田 浩,山口 高平,津本 周作,沼尾 正行 オーム社 2006-12-01"}

CARTは目的変数を最も効果的に分類できるように、 <mark>Gini係数という指標を用いて分岐を行います。</mark>

Gini係数はクラスの偏り具合を表す指標であり、**不純度**と表現されます。

特定のクラスのデータばかりであるほど0に近く、<mark>どのクラスも均等に存在する場合に大きな値を取る性質を持ちます。</mark>

Gini係数は以下の式で表され、この値は小さければ小さいほど良いということが分かっています。

$GINI(t)=1-\displaystyle \sum_{ j = 1 }^{ k } p^2{(j|t)}$

この時、$p{(j|t)}$はノードt内のクラスjの割合を示します。

(引用元：[データマイニングの基礎 (IT Text)](https://af.moshimo.com/af/c/click?a_id=860485\&p_id=170\&pc_id=185\&pl_id=4062\&s_v=b5Rz2P0601xu\&url=http%3A%2F%2Fwww.amazon.co.jp%2Fexec%2Fobidos%2FASIN%2F4274203484%2Fref%3Dnosim))

Gini係数を計算後、親ノードと子ノードのGini係数の差が大きいものを分岐の条件として選びます。

そして分割できなくなるまで続けていき、最終的にそれぞれのデータが属するノードのことをターミナルノードと呼びます。

## Rを使って決定木を実装してみよう！

![](/wp-content/uploads/2018/09/goriIMGL9703_TP_V1-e1555747456954.jpg)

それでは、<mark>最後に決定木を用いた分析を行ってみましょう！</mark>

データはなんでも良いんですが、簡易的にRにデフォルトで入っている**irisデータ**を使いましょう！

あやめの種類を分類したデータで<mark>目的変数は3カテゴリーの質的変数、説明変数は花びらの幅とか4つ</mark>です。

サンプルは150個で、分類しやすいデータなのでどんな手法でも割と簡単に分類できるんですが、どうなるでしょう！

今回は決定木以外に[ランダムフォレスト](/%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%83%95%E3%82%A9%E3%83%AC%E3%82%B9%E3%83%88)と[SVM](/svm)と[ニューラルネットワーク](/nn)で比較しました。

ちなみに[ランダムフォレスト](/%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%83%95%E3%82%A9%E3%83%AC%E3%82%B9%E3%83%88)は決定木と[アンサンブル学習](/ensemble)を組み合わせた協力な機械学習手法。

```r title="iris.R"
library(randomForest)
library(rpart)
library(kernlab)
library(nnet)

data<-iris
ndata<-nrow(data)
ridx<-sample(ndata,ndata*0.5)
data.learn<-data[ridx,]
data.test<-data[-ridx,]

#randomforest
forest<-randomForest(Species~.,data=data.learn)
pred.forest<-predict(forest,newdata=data.test,type="class")
table(pred.forest,data.test[,5])

#決定木
cart<-rpart(Species~.,data=data.learn)
pred.cart<-predict(cart,newdata=data.test,type="class")
table(pred.cart,data.test[,5])

#svm
svm<-ksvm(Species~.,data=data.learn)
pred.svm<-predict(svm,newdata=data.test)
table(pred.svm,data.test[,5])

#nn
nn<-nnet(Species~.,data=data.learn,size=10)
pred.nn<-predict(nn,newdata=data.test,type="class")
table(pred.nn,data.test[,5])

```

```text
ランダムフォレスト
 pred.forest  setosa versicolor virginica
##   setosa         29          0         0
##   versicolor      0         25         1
##   virginica       0          2        18
決定木
pred.cart    setosa versicolor virginica
##   setosa         29          0         0
##   versicolor      0         26         3
##   virginica       0          1        16
SVM
pred.svm     setosa versicolor virginica
##   setosa         29          0         0
##   versicolor      0         25         1
##   virginica       0          2        18
ニューラルネット
 pred.nn      setosa versicolor virginica
##   setosa         29          0         0
##   versicolor      0         25         2
##   virginica       0          2        17
```

結果はこんな感じになりました！

<mark>どれもいい感じに分類できてますね～！</mark>

本来は何回かシミュレーションやって誤判別率の平均取った方がいいんですが、今回は簡易的に行いました！

## Pythonを使って決定木を実装してみよう！

![](/wp-content/uploads/2018/09/S_8608589564326-e1566254236403.jpg)

続いて決定木についてPythonを使って分類していきましょう！

Pythonでもirisデータを使用していきます。

```python title="cart.py"
# ライブラリの読み込み
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasets
from sklearn.model_selection import train_test_split

# irisデータの読み込み
iris = datasets.load_iris()

# 特徴量とターゲットの取得
data       = iris['data']
target     = iris['target']

#学習データをテストデータを分割
train_data,test_data,train_target,test_target = train_test_split(data,target,test_size=0.5)

#モデル学習
model = DecisionTreeClassifier(criterion='gini')
model.fit(train_data, train_target)

# 正解率を表示
model.score(test_data, test_target)
```

Rの場合はirisデータにそのままデータセットがデータフレーム型で入っていましたが、Pythonの場合は説明変数データとそれに紐づくラベルデータ、<mark>変数名などがリストで入っていることに注意しましょう！</mark>

そのためirisからデータを取り出す作業をしています。

```python
# 特徴量とターゲットの取得
data       = iris['data']
target     = iris['target']
```

:::talk{who="robotan"}
Pythonでもこんなに簡単に実装が出来るんだね！
:::

:::talk{who="umatan"}
RでもPythonでも非常に簡単だよ！それぞれ良いところがあるので気になる場合は以下の記事を見てみるとよいよ！
:::

<https://toukei-lab.com/statistics-programming>

## 決定木を使った応用手法

![macとsurface](/wp-content/uploads/2018/09/S_8608589564326-e1566254236403.jpg)

さて、最後にそんな決定木を応用した手法群について見ていきましょう！

決定木単体ではそれほど高い精度は見込めないのですが、[アンサンブル学習](/ensemble)という方法と組みわせることで<mark>最強の精度を叩きだす手法になります。</mark>

アンサンブル学習とは簡単に言うと、複数モデルを作って色んな方法で組み合わせる手法です。

<https://toukei-lab.com/ensemble>

ここでは、そんな「決定木×アンサンブル学習」として[ランダムフォレスト](/%e3%83%a9%e3%83%b3%e3%83%80%e3%83%a0%e3%83%95%e3%82%a9%e3%83%ac%e3%82%b9%e3%83%88)と[Xgboost](/xgboost)と[LightGBM](/light-gbm)について解説していきます。

### ランダムフォレスト

ランダムフォレストでは、決定木を複数個作ってそれらの多数決で最終的な結果を決めます。

![バギング　ランダムフォレスト](/wp-content/uploads/2018/01/66c19942ab4ba346fdb64ccc04cde373-5.png)

この方法はアンサンブル学習の中でもバギングと呼ばれます。

分類の時は多数決ですし、回帰の時は平均を取ります。

<mark>通常の決定木よりも大幅な精度向上が見込めるんです。</mark>

詳しくは以下の記事でまとめています！

<https://toukei-lab.com/%e3%83%a9%e3%83%b3%e3%83%80%e3%83%a0%e3%83%95%e3%82%a9%e3%83%ac%e3%82%b9%e3%83%88>

### XGBoost

続いてはXgboost。

Xgboostでもランダムフォレストと同様に複数の決定木を生成し学習していくのですが、若干学習方法が違います。

ランダムフォレストは並列に複数個の決定木を生成して多数決を取るタイプでしたが、\
<mark>Xgboostは直列に複数の決定木を生成して精度を改善していくタイプ。</mark>

![勾配ブースティング](/wp-content/uploads/2019/07/xgboost.jpg)

前の決定木では上手く判別できなかった部分に焦点を当てて次の決定木で学習していくイメージです。

<mark>単体だと上手く判別できない要素も複数の決定木を直列に組み合わせることで判別できるようになるんですよねー！</mark>

ランダムフォレストはバギングと呼ばれるアンサンブル学習を使っていましたが、Xgboostではブースティングと呼ばれるアンサンブル学習を使っています。

ちなみに<mark>Xgboostの方が高い精度が見込めるので、特に何も考えずXgboostを使うことが多いです。</mark>

XGBoostについては以下の記事でまとめています！

<https://toukei-lab.com/xgboost>

### LightGBM

XGBoostを改良した最強の手法がこちらのLightGBM！

LightGBMは決定木の学習方法がXGBoostと若干違い、<mark>効率よく学習していくことが可能なんです。</mark>

そのため学習スピードが圧倒的に速く、[Mnist](/mnist)のデータを分類した場合約10倍ほどの差が生まれました。

以下の記事でLightGBMについて詳しくまとめています！

<https://toukei-lab.com/light-gbm>

## 決定木の勉強法

そんな決定木をより深く、そしてさらなる機械学習手法の架け橋となるための勉強方法についてまとめていきます！

### 書籍で理論を勉強する

決定木に関しては以下の書籍を読むといい感じに載っていますので読んでみると良いでしょう！

::product[データマイニングの基礎 (IT Text)]{url="https://af.moshimo.com/af/c/click?a_id=860485&p_id=170&pc_id=185&pl_id=4062&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fwww.amazon.co.jp%2Fexec%2Fobidos%2FASIN%2F4274203484%2Fref%3Dnosim" image="https://images-fe.ssl-images-amazon.com/images/I/41emmha0tpL._SL160_.jpg" amazon="https://af.moshimo.com/af/c/click?a_id=860485&p_id=170&pc_id=185&pl_id=4062&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fwww.amazon.co.jp%2Fgp%2Fsearch%3Fkeywords%3D%25E3%2583%2587%25E3%2583%25BC%25E3%2582%25BF%25E3%2583%259E%25E3%2582%25A4%25E3%2583%258B%25E3%2583%25B3%25E3%2582%25B0%25E3%2581%25AE%25E5%259F%25BA%25E7%25A4%258E%26__mk_ja_JP%3D%25E3%2582%25AB%25E3%2582%25BF%25E3%2582%25AB%25E3%2583%258A" rakuten="https://af.moshimo.com/af/c/click?a_id=858168&p_id=54&pc_id=54&pl_id=616&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2583%2587%25E3%2583%25BC%25E3%2582%25BF%25E3%2583%259E%25E3%2582%25A4%25E3%2583%258B%25E3%2583%25B3%25E3%2582%25B0%25E3%2581%25AE%25E5%259F%25BA%25E7%25A4%258E%2F-%2Ff.1-p.1-s.1-sf.0-st.A-v.2%3Fx%3D0" detail="元田 浩,山口 高平,津本 周作,沼尾 正行 オーム社 2006-12-01"}

::product[はじめてのパターン認識]{url="https://af.moshimo.com/af/c/click?a_id=860485&p_id=170&pc_id=185&pl_id=4062&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fwww.amazon.co.jp%2Fexec%2Fobidos%2FASIN%2F4627849710%2Fref%3Dnosim" image="https://images-fe.ssl-images-amazon.com/images/I/51M%2BwaQwldL._SL160_.jpg" amazon="https://af.moshimo.com/af/c/click?a_id=860485&p_id=170&pc_id=185&pl_id=4062&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fwww.amazon.co.jp%2Fgp%2Fsearch%3Fkeywords%3D%25E3%2583%2591%25E3%2582%25BF%25E3%2583%25BC%25E3%2583%25B3%25E8%25AA%258D%25E8%25AD%2598%26__mk_ja_JP%3D%25E3%2582%25AB%25E3%2582%25BF%25E3%2582%25AB%25E3%2583%258A" rakuten="https://af.moshimo.com/af/c/click?a_id=858168&p_id=54&pc_id=54&pl_id=616&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2583%2591%25E3%2582%25BF%25E3%2583%25BC%25E3%2583%25B3%25E8%25AA%258D%25E8%25AD%2598%2F-%2Ff.1-p.1-s.1-sf.0-st.A-v.2%3Fx%3D0" detail="平井 有三 森北出版 2012-07-31"}

::product[入門パターン認識と機械学習]{url="https://af.moshimo.com/af/c/click?a_id=860485&p_id=170&pc_id=185&pl_id=4062&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fwww.amazon.co.jp%2Fexec%2Fobidos%2FASIN%2F4339024791%2Fref%3Dnosim" image="https://images-fe.ssl-images-amazon.com/images/I/514HpqIAd2L._SL160_.jpg" amazon="https://af.moshimo.com/af/c/click?a_id=860485&p_id=170&pc_id=185&pl_id=4062&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fwww.amazon.co.jp%2Fgp%2Fsearch%3Fkeywords%3D%25E5%2585%25A5%25E9%2596%2580%25E3%2583%2591%25E3%2582%25BF%25E3%2583%25BC%25E3%2583%25B3%25E8%25AA%258D%25E8%25AD%2598%26__mk_ja_JP%3D%25E3%2582%25AB%25E3%2582%25BF%25E3%2582%25AB%25E3%2583%258A" rakuten="https://af.moshimo.com/af/c/click?a_id=858168&p_id=54&pc_id=54&pl_id=616&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E5%2585%25A5%25E9%2596%2580%25E3%2583%2591%25E3%2582%25BF%25E3%2583%25BC%25E3%2583%25B3%25E8%25AA%258D%25E8%25AD%2598%2F-%2Ff.1-p.1-s.1-sf.0-st.A-v.2%3Fx%3D0" detail="後藤 正幸,小林 学 コロナ社 2014-03-30"}

決定木は機械学習手法の基本のキです。

決定木から他の機械学習手法まで広範に押さえています。

### Webサイトで実装を勉強する

理論は書籍で勉強するほうがオススメですが、実際のデータを加工して決定木を実装していく過程を学ぶなら以下のUdemyの講座を受講してみてください！

**[【初学者向け】データ分析コンペで楽しみながら学べるPython×データ分析講座](https://www.udemy.com/course/python-data/?referralCode=06466D9A805A034B1A97)**

[![Udemy-course](/wp-content/uploads/2020/04/Udemy-me-min-1024x543.jpg)](https://www.udemy.com/course/python-data/?referralCode=06466D9A805A034B1A97)

<table class="table">
<tbody>
<tr>
<th>【オススメ度】</th>
<td><span class="stars" role="img" aria-label="5点中5点" data-value="5"></span></td>
</tr>
<tr>
<th>【講師】</th>
<td><span>僕自身！今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！</span></td>
</tr>
<tr>
<th>【時間】</th>
<td><span>4時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td><span>初級～中級</span></td>
</tr>
</tbody>
</table>

このコースは、**なかなか勉強する時間がないという方に向けてコンパクトに分かりやすく必要最低限の時間で重要なエッセンスを学び取れるように**作成しています。

**アニメーションを使った概要編**と**ハンズオン形式で進む実践編**に分かれており、概要編では体系的にデータ分析・機械学習導入をまとめています。

データサイエンスの基礎について基本のキから学びつつ、なるべく堅苦しい説明は抜きにしてイメージを掴んでいきます。

統計学・機械学習の基本的な内容を学び各手法の詳細についてもなるべく概念的に分かりやすく理解できるように学んでいきます。

そしてデータ分析の流れについては実務に即した[CRISP-DM](/crisp-dm)というフレームワークに沿って体系的に学んでいきます！

データ分析というと機械学習でモデル構築する部分にスポットがあたりがちですが、それ以外の工程についてもしっかりおさえておきましょう！

決定木だけでなく様々な機械学習の実装方法やデータコンペティションでの実践分析方法が学べます！

是非興味のある方は受講してみてください！

:::talk{who="umatan"}
今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！
:::

＼30日以内なら返金無料／

::button[このコースを見てみる]{href="https://www.udemy.com/course/python-data/?referralCode=06466D9A805A034B1A97"}

また、さらに踏み込んでデータサイエンスについて学びたいのであれば、当メディアが運営する「スタアカ（スタビジアカデミー）」がオススメ！

**[スタアカ（スタビジアカデミー）](https://toukei-lab.com/achademy/)**

[![スタアカトップ](/wp-content/uploads/2021/11/2bc9f22d0f8dfe24080b83884b7a5ec6-1024x576.jpg)](https://toukei-lab.com/achademy/)公式サイト：<https://toukei-lab.com/achademy/>

<table class="table">
<tbody>
<tr>
<th>【価格】</th>
<td>ライトプラン：1280円/月<br>
プレミアムプラン：149,800円</td>
</tr>
<tr>
<th>【オススメ度】</th>
<td><span class="stars" role="img" aria-label="5点中5点" data-value="5"></span></td>
</tr>
<tr>
<th>【サポート体制】</th>
<td><span class="stars" role="img" aria-label="5点中4点" data-value="4"></span></td>
</tr>
<tr>
<th>【受講形式】</th>
<td>オンライン形式</td>
</tr>
<tr>
<th>【学習範囲】</th>
<td>データサイエンスを網羅的に学ぶ<br>
実践的なビジネスフレームワークを学ぶ<br>
SQLとPythonを組みあわせて実データを使った様々なワークを行う<br>
マーケティングの実行プラン策定<br>
マーケティングとデータ分析の掛け合わせで集客マネタイズ</td>
</tr>
</tbody>
</table>

データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「[スタアカ](https://toukei-lab.com/achademy/)」！！

当メディアが運営するスクールです。

<mark>24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します！</mark>

カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください！

他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。

<mark>そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解などもあわせて学べるボリューム満点のコース</mark>になっています！

ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったり・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践してもらったりする盛りだくさんの内容になってます！

:::box
**・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析**\
**・世界最大手小売企業のウォルマートの実データを用いた需要予測**\
**・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定\
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ**
:::

＼今すぐ試す／

::button[スタアカの受講はこちら]{href="https://toukei-lab.com/achademy/"}

## 決定木　まとめ

決定木は<mark>簡単に実装できて、かつ結果も分かりやすい優秀な手法です。</mark>

是非使ってみてください！

決定木は機械学習の序章にすぎません。

機械学習の世界は決定木をはじまりに大きく広がります。

:::talk{who="robotan"}
決定木は機械学習の基本なんだね！
:::

:::talk{who="umatan"}
そうなんだ！ぜひ決定木をきっかけに機械学習の世界にのめり込んでいこう！
:::

機械学習手法に関して深く勉強したい方は以下の記事を参考にしてみてください！

<https://toukei-lab.com/machine-learning-study>

また、機械学習を実装する上で切っても切れない関係であるPythonに関しては以下の記事でまとめています！

<https://toukei-lab.com/python-learn>