Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
決定木を使った回帰の仕組み
Search
K_DM
October 23, 2021
Programming
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
決定木を使った回帰の仕組み
回帰木でどのように分岐を作るかを説明します。
動画での説明:
https://youtu.be/E5WOgzoEs1M
K_DM
October 23, 2021
More Decks by K_DM
See All by K_DM
主成分分析(PCA)の仕組み
k_study
0
220
X-meansの仕組み
k_study
0
2.2k
勾配ブースティングの仕組み
k_study
0
140
k-meansクラスタリングの仕組み
k_study
0
290
アンサンブル学習① ランダムフォレストの仕組み
k_study
0
120
決定木に含まれるパラメタによる事前剪定と事後剪定
k_study
0
750
線形回帰② 正則化と過学習
k_study
0
630
外れ値とHuber(フーバー)損失
k_study
0
1.2k
木構造1~決定木の仕組み(分類)
k_study
0
190
Other Decks in Programming
See All in Programming
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
460
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
500
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
260
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
180
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
550
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
150
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.2k
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
340
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
490
FDEが実現するAI駆動経営の現在地
gonta
2
280
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
180
数百円から始めるRuby電子工作
tarosay
0
140
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
First, design no harm
axbom
PRO
2
1.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Accessibility Awareness
sabderemane
1
170
Darren the Foodie - Storyboard
khoart
PRO
3
3.6k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
木構造2 木構造2 決定木 (回帰) 決定木 (回帰)
決定木の各部分の名称 条件分岐を組合せて結論を導く木構造の予測モデル 根(root node/the root) 気温は25℃超えてますか? 夏 湿度は50%超えてますか? No Yes
気温は15℃超えてますか? クーラーをつけてますか? 夏 春 春 春 No Yes No Yes No Yes 枝(branch) ノード(node) 葉(leaves/leaf nodes) 深さ(depth) 前回までのおさらい
今回の内容 •データの説明 •回帰木 •変数が複数ある場合の回帰木 •まとめ 決定木を用いた回帰の方法について説明します
説明のために使用するデータ 気温から、その日のアイスの売上を予測したい 気温 アイスの売上
気温 アイスの売上 寒すぎてこたつで アイス食べるから増える 売り切れてこれ以上は売れない 気温が上がれば上がるほど売上が増える 説明のために使用するデータ 気温から、その日のアイスの売上を予測したい
線形モデルをフィットさせるのは難しい 最小二乗法で線形回帰をした場合は殆どのデータで予測ができず、解釈も難しい 気温 アイスの売上 気温が0度以下だと売上がマイナス? 気温が上がれば∞に売上も増える?
回帰の決定木 データをいくつかの区画に区切り、区画ごとの平均値を出す 気温 アイスの売上 気温は10℃超えてる? 50 気温は20℃超えてる? No Yes 気温は0℃超えてる?
25 3 10 No Yes No Yes 0 10 20 50 25 10 3
回帰の決定木 どのような場合にどんな値になるかのルールを簡単に作成できる 気温 アイスの売上 気温は10℃超えてる? 50 気温は20℃超えてる? No Yes 気温は0℃超えてる?
25 3 10 No Yes No Yes 0 10 20 50 25 10 3
回帰の決定木の分岐の良さを比較したい 様々な分岐を作ることができるので、分岐の良さの基準をつくりたい 前回までのおさらい 分類木ではきれいに分類できているか(不純度, Impurity)を基準に分岐を決めていた 回帰でもきれいに数値を当てられているか(誤差)を基準に分岐を決めたい
分岐を一つ決めた時、木がどれくらいフィットしているか評価 分岐の前後の平均値との二乗誤差を計算します 気温 アイスの売上 -3 10 30 の領域の平均値 = 30
の領域の平均値 = 10 -3で分岐した時の誤差 = (10 − 10)2+ (10 − 30)2 + (10 − 30)2 + … + (50 − 30)2
… 分岐を一つ決めた時、木がどれくらいフィットしているか評価 分岐の前後の平均値との二乗誤差を計算します 分岐の基準値 誤差 10 誤差が最小になる点で 分岐を作る
特徴が複数ある場合も同じ要領で分岐を決める 特徴ごとの最良の分岐点を求め、その中で最小の誤差の分岐を選択します 気温 湿度 アイス売上 10 40 10 15 50
20 20 90 40 … … … 分岐の基準値 誤差 10 分岐の基準値 誤差 40 20 35 より誤差が少ない 湿度40%を基準に分岐を作る 気温で分岐を移動した時の誤差 湿度で分岐を移動した時の誤差 湿度は40%超えてる? No Yes
分岐を決定する手順を繰り返せば木が完成 ①誤差が最小になる区切りを見つけて、分岐を作る 気温 アイスの売上 気温は10℃超えてる? No Yes 10 50 25
10 3
分岐を決定する手順を繰り返せば木が完成 ②Yesに該当するデータで、誤差が最小になる分岐を作る 気温 アイスの売上 気温は10℃超えてる? No Yes 0 10 50
25 10 3 気温は0℃超えてる? 3 10 No Yes
分岐を決定する手順を繰り返せば木が完成 ③Noに該当するデータで、誤差が最小になる分岐を作る 気温 アイスの売上 気温は10℃超えてる? 50 気温は20℃超えてる? No Yes 気温は0℃超えてる?
25 3 10 No Yes No Yes 10 20 50 25 10 3
実験! じ っ け ん
実際に動かしてみる 2つの特徴から数値が決まる人工的なデータを作成 大 小
実際に動かしてみる 区画ごとの平均値が出力される木が作成できたことが確認できる Scikit-learn と https://github.com/parrt/dtreeviz を使用して可視化しています コードは概要欄のリンクから参照してください
まとめ 回帰木について説明しました •回帰木では区画ごとの平均値を出力する木を作成する •分岐の基準点をずらしながら誤差をプロットし、最小になる点を選択することで決定 する •作成される予測モデルは軸に並行な境界を持つ