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
0
180
決定木を使った回帰の仕組み
回帰木でどのように分岐を作るかを説明します。
動画での説明:
https://youtu.be/E5WOgzoEs1M
K_DM
October 23, 2021
Tweet
Share
More Decks by K_DM
See All by K_DM
主成分分析(PCA)の仕組み
k_study
0
140
X-meansの仕組み
k_study
0
1.2k
勾配ブースティングの仕組み
k_study
0
51
k-meansクラスタリングの仕組み
k_study
0
170
アンサンブル学習① ランダムフォレストの仕組み
k_study
0
58
決定木に含まれるパラメタによる事前剪定と事後剪定
k_study
0
480
線形回帰② 正則化と過学習
k_study
0
380
外れ値とHuber(フーバー)損失
k_study
0
840
木構造1~決定木の仕組み(分類)
k_study
0
110
Other Decks in Programming
See All in Programming
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
990
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
Amazon Qを使ってIaCを触ろう!
maruto
0
410
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
Jakarta EE meets AI
ivargrimstad
0
240
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
Contemporary Test Cases
maaretp
0
140
Ethereum_.pdf
nekomatu
0
470
Better Code Design in PHP
afilina
PRO
0
130
subpath importsで始めるモック生活
10tera
0
320
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
2k
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Rails Girls Zürich Keynote
gr2m
94
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Automating Front-end Workflow
addyosmani
1366
200k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Why Our Code Smells
bkeepers
PRO
334
57k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
A Tale of Four Properties
chriscoyier
156
23k
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 を使用して可視化しています コードは概要欄のリンクから参照してください
まとめ 回帰木について説明しました •回帰木では区画ごとの平均値を出力する木を作成する •分岐の基準点をずらしながら誤差をプロットし、最小になる点を選択することで決定 する •作成される予測モデルは軸に並行な境界を持つ