Save 37% off PRO during our Black Friday Sale! »

木構造1~決定木の仕組み(分類)

Fd6de6cbad68e7898078f548b6dd894c?s=47 K
October 03, 2021
44

 木構造1~決定木の仕組み(分類)

分類木の基本について、スライドを作成しました。
動画→https://www.youtube.com/channel/UCFy3VBvZBeE9bN0F2sxF8rg

Fd6de6cbad68e7898078f548b6dd894c?s=128

K

October 03, 2021
Tweet

Transcript

  1. 木構造1 木構造1 IUUQTXXXZPVUVCFDPNDIBOOFM6$'Z7#W;#F&C/'TY'SH 決定木(分類) 決定木(分類)

  2. 今回の内容 •決定木とは •用語の定義と決定木を作る時のルール •決定木を作るアルゴリズム •決定境界の確認 •まとめ 分類をする決定木について説明します

  3. 決定木 条件分岐を組合せて結論を導く木構造の予測モデル あなたは今、眠いですか? また今度、 この動画を見てください あなたは今、暇ですか? いますぐ この動画を見てください また今度、 この動画を見てください

    Yes No Yes No 「今見る」か「今度見る」 の二種類に分類している分類木
  4. 決定木 条件分岐を組合せて結論を導く木構造の予測モデル あなたは今、眠いですか? また今度、 この動画を見てください あなたは今、暇ですか? いますぐ この動画を見てください また今度、 この動画を見てください

    Yes No Yes No 目的変数の予測値 「今見る」か「今度見る」 の二種類に分類している分類木
  5. 決定木の各部分の名称 条件分岐を組合せて結論を導く木構造の予測モデル 根(root node/the root) 気温は25℃超えてますか? 夏 湿度は50%超えてますか? No Yes

    気温は15℃超えてますか? クーラーをつけてますか? 夏 春 春 春 No Yes No Yes No Yes 枝(branch) ノード(node) 葉(leaves/leaf nodes) 深さ(depth)
  6. 決定木のルール 数値・カテゴリ変数が混在していても良い / 同じ特徴に関する分岐が複数あっても良い 気温は25℃超えてますか? 夏 湿度は50%超えてますか? No Yes 気温は15℃超えてますか?

    クーラーをつけてますか? 夏 春 春 春 No Yes No Yes No Yes
  7. 決定木を作るアルゴリズム 店舗の商品が売り切れになるかどうか予測したい ༵೔ ࡏݿ਺ ചΓ੾Ε ٳ೔ 10 ͸͍ ฏ೔ 30

    ͍͍͑ ٳ೔ 20 ͍͍͑ ฏ೔ 20 ͍͍͑ ٳ೔ 30 ͍͍͑ ฏ೔ 20 ͍͍͑ ٳ೔ 20 ͸͍ ฏ೔ 10 ͸͍ ٳ೔ 10 ͸͍ 目的変数
  8. 分岐の良さを比較したい 様々な分岐を作ることができるので、分岐の良さの基準をつくりたい ༵೔ ࡏݿ਺ ചΓ੾Ε ٳ೔ 10 ͸͍ ฏ೔ 30

    ͍͍͑ ٳ೔ 20 ͍͍͑ ฏ೔ 20 ͍͍͑ ٳ೔ 30 ͍͍͑ ฏ೔ 20 ͍͍͑ ٳ೔ 20 ͸͍ ฏ೔ 10 ͸͍ ٳ೔ 10 ͸͍ 在庫は10より多い? No Yes ͸͍ ͍͍͑ 1 5 ͸͍ ͍͍͑ 3 0 天気予報は晴れ? No Yes ͸͍ ͍͍͑ 3 1 ͸͍ ͍͍͑ 1 4 特徴を選んで 分岐を作ってみる どちらの分岐がより良いと言える?
  9. 不純度(Impurity) 異なるクラスがどれくらい混ざっているかを測る指標 在庫は10より多い? No Yes ͸͍ ͍͍͑ 1 5 ͸͍

    ͍͍͑ 3 0 天気予報は晴れ? No Yes ͸͍ ͍͍͑ 3 1 ͸͍ ͍͍͑ 1 4 ͸͍ ͍͍͑ 4 5 元のデータ 分岐を作った結果としてデータの不純度が減少すれば、良い分岐と言える 木を使って予測ができる
  10. Gini-不純度(Gini-Impurity) 完全に分類できた場合のみ0になる不純度の基準 G(1) = 1 − ( 4 9 )2

    − ( 5 9 )2 = 40 81 G(k) = 1 − Σc i=1 ( ni n )2 • クラス数, 今回の場合は2 • ノードにあるデータ数 • クラス に属するデータ数 c = n = ni = i ͸͍ ͍͍͑ 4 5 元のデータ 元のデータの不純度
  11. Gini-不純度(Gini-Impurity) 完全に分類できた場合のみ0になる不純度の基準 G(k) = 1 − Σc i=1 ( ni

    n )2 • クラス数, 今回の場合は2 • ノードにあるデータ数 • クラス に属するデータ数 c = n = ni = i 在庫は10より多い? No Yes ͸͍ ͍͍͑ 1 5 ͸͍ ͍͍͑ 3 0 天気予報は晴れ? No Yes ͸͍ ͍͍͑ 3 1 ͸͍ ͍͍͑ 1 4 G(2) = 1 − ( 1 6 )2 − ( 5 6 )2 = 10 36 G(3) = 1 − ( 3 3 )2 − ( 0 3 )2 = 0 G(2) = 1 − ( 3 4 )2 − ( 1 4 )2 = 6 16 G(3) = 1 − ( 1 5 )2 − ( 4 5 )2 = 8 25 分岐後のGini不純度の 重み付け平均 6 9 10 36 + 3 9 0 = 5 27 4 9 6 16 + 5 9 8 25 = 31 90
  12. 情報利得(Information Gain) 分岐した時に、分岐前と比較してどれくらい不純度が下がったか 在庫は10より多い? No Yes ͸͍ ͍͍͑ 1 5

    ͸͍ ͍͍͑ 3 0 G(2) = 1 − ( 1 6 )2 − ( 5 6 )2 = 10 36 G(3) = 1 − ( 3 3 )2 − ( 0 3 )2 = 0 分岐後のGini不純度の 重み付け平均 6 9 10 36 + 3 9 0 = 5 27 G(1) = 1 − ( 4 9 )2 − ( 5 9 )2 = 40 81 ͸͍ ͍͍͑ 4 5 元のデータ 元のデータの不純度 40 81 − 5 27 = 25 81 情報利得 情報利得が大きい分岐= 分岐によって不純度が大 きく減少する分岐
  13. 数値データの分岐の作り方 数値をソートして、可能な分岐点すべてに対してGini不純度を計算する ࡏݿ਺ ചΓ੾Ε 10 ͸͍ 30 ͍͍͑ 20 ͍͍͑

    20 ͍͍͑ 30 ͍͍͑ 20 ͍͍͑ 20 ͸͍ 10 ͸͍ 10 ͸͍ ࡏݿ਺ ചΓ੾Ε 10 ͸͍ 10 ͸͍ 10 ͸͍ 20 ͍͍͑ 20 ͍͍͑ 20 ͍͍͑ 20 ͸͍ 30 ͍͍͑ 30 ͍͍͑ 数値でソート ジニ不純度 5 27 ジニ不純度 8 21 > よりジニ不純度が 小さくなる点で分岐を作る
  14. 決定木を作るアルゴリズム 1.各特徴から情報利得が最大になる分岐を見つけてくる G(1) = 1 − ( 4 9 )2

    − ( 5 9 )2 = 40 81 ͸͍ ͍͍͑ 4 5 元のデータ 元のデータの不純度 分岐後のGini不純度の重み付け平均 5 27 31 90 在庫数10より大きいか 曜日 ༵೔ ࡏݿ਺ ചΓ੾Ε ٳ೔ 10 ͸͍ ฏ೔ 30 ͍͍͑ ٳ೔ 20 ͍͍͑ ฏ೔ 20 ͍͍͑ ٳ೔ 30 ͍͍͑ ฏ೔ 20 ͍͍͑ ٳ೔ 20 ͸͍ ฏ೔ 10 ͸͍ ٳ೔ 10 ͸͍ 情報利得(分岐後との不純度の差)がより大きいのは 「在庫数が10より大きいか」で分岐した時なので、 これで分岐をつくる 在庫は10より多い? No Yes ͸͍ ͍͍͑ 1 5 ͸͍ ͍͍͑ 3 0
  15. 決定木を作るアルゴリズム 2.分岐後の各ノードについて、同じ作業を繰り返す ༵೔ ࡏݿ਺ ചΓ੾Ε ٳ೔ 10 ͸͍ ฏ೔ 30

    ͍͍͑ ٳ೔ 20 ͍͍͑ ฏ೔ 20 ͍͍͑ ٳ೔ 30 ͍͍͑ ฏ೔ 20 ͍͍͑ ٳ೔ 20 ͸͍ ฏ೔ 10 ͸͍ ٳ೔ 10 ͸͍ もうジニ不純度が0でこ れ以上不純度は減少しな いので、これを葉にする 在庫は10より多い? No Yes ͸͍ ͍͍͑ 1 5 ͸͍ ͍͍͑ 3 0 No Yes このノードに含まれる6個の データに対して、ステップ1 と同じ作業をする 在庫は30より少ない? … …
  16. 実際にやってみる ←境界が直線の組合せになっていることが確認できる scikit-learnのDecisionTreeClassifierで分類した時の決定境界を可視化

  17. 実際にやってみる scikit-learnのDecisionTreeClassifierで作成した分岐を出力 ジニ不純度が0になったタイミングで、木の成 長が終わっていることが分かる ジニ不純度が0になるまで完璧に分類すると、 下のような少し不自然な境界も作成されてしまう(過学習)

  18. まとめ •決定木とは条件分岐を組合せて結論を導く木構造の予測モデル •分岐の良さを決定するための基準の一つにジニ不純度というものがある •分岐を作ることで不純度が下がるような分岐を良いものとして選択する •=情報利得が最大になる分岐を作る •決定木で作成された決定境界は軸に並行な直線を組合せた形になる •ジニ不純度が0になるまで分岐をすると過学習になる可能性がある 分類をする決定木について説明しました