決定木によるクラス分類~決定木モデル構築, 可視化|Kaggle Masterによるデータ分析技術者養成講座【R言語版】Day2メモ
以下の研修を受講しました。全5回のうちの2回目(Day2)の講義および復習時のメモです。
参考:過去の受講メモ
Day1
◆Day2のテーマ
・決定木によるクラス分類~決定木モデル構築, 可視化~
・過学習と精度検証法~過学習 Hold Out 法 , Cross Validation 法~
◆予測モデルの使い方
・重病確率が10%以上の場合はアラートを出す(精密検査の推奨)
・株価の上昇確率が50%超えない場合は買い注文を出させない(恣意性の排除)
◆決定木の使い方
・より優良顧客がいるセグメントを探し出す
・金融機関などで広く使われている手法
(定量的に結果が出るのとロジックがわかりやすい)
◆分割基準の選び方
・スコア探索していく。
・連続値の場合は、並び替えて100件づつしきい値などをする。
◆決定木モデルの特徴
・交互作用を捉えることができる(強×強=強 にならないこともある)
◆決定木の学習パラメータ
主要なパラメータはこれら。特に★が重要。
・木の深さ(10段階ぐらい)★
・最小ノードサイズ(セグメント数の下限値)★
・枝刈りの強さ(意味がない枝分かれを防ぐ)
・Rではrpartを利用
◆過学習(Over Fitting)
・学習データに対してモデルが複雑だったり、意味のない変数を学習している場合は、過学習が起きやすい。
・「最適な複雑さ」を推定する必要がある。
1)Hold Out法
答えの分かっているデータを任意の2つにわけて、
構築用と検証用にする。構築:検証=7:3ぐらいが多い。
十分なデータ量がある場合のみ有効。
(例えば100万オーダーあるかどうか)
例:受験勉強のとき、勉強と腕試し用で過去問をそれぞれ何年分使うか、
悩んだのに似ている
2)クロスバリデーション法
Hold Out法の問題を補う方法。
データをK個に分割して交互に構築と検証に利用する。
◆参考資料
◆所感
見よう見まねかつ初歩の初歩ですが、生まれて初めて予測モデルを構築したみました。決定木モデルには、面倒くさい網羅的な計算を機械にやらせて、人がそれを判断調整しながら意思決定に活かすという、ある意味理想的なテクノロジー活用の状態の一端なのかなと想像しています。
またこちらも初めてですが、SIGNATEのデモコンペにも初投稿してみました。モデルのパラメータを調整しながら、予測評価結果を評価していく過程は、ある意味AI活用の一旦を垣間見た気もしています。正直理由付けは難しいが、ある調整でうまくいけば、その結果こそが全てという世界。この感覚をどう理解してもらうかが、ビジネスとAIをつなげる上で大きな課題になりそうです。
この記事が気に入ったらサポートをしてみませんか?