こんにちは,shun(@datasciencemore)です!!
今回はモデリングのSTEP6,モデル検証についてやっていきます.
STEP6:モデル検証は,図の赤点線枠で囲った部分に該当します.
0.モデル検証ってなに??
モデル検証は作成したモデルについて色々検証することだよ!!
モデル検証は,
1.モデル評価
2.モデル整理
3.モデル解釈
の3つに大きく分類できるよ!!
さあ,ついに予測モデリングのSTEP6:モデル検証です.
こちらが予測モデリングの最終ステップになります.
予測モデリングと人間の学習プロセスを見直してみましょう.
STEP6は,
- 合否の確認をする.
- 不合格だった場合,なぜ失敗したか原因を考える.
ということに該当します.
今までのSTEPでは,いい学習ルールを見つけたり,いい問題を探したりと本番試験合格のために様々な工夫をして,本番試験に臨んだのでした.
このSTEP6は,ドキドキの結果発表に該当します.
今までのSTEPでしてきたことが正しければ合格しているはずですし,逆に何かしらミスがあれば不合格になっているかもしれないです.
もし合格だった場合は,おめでとうございます!!
特に何もすることはないです笑
ただ残念ながら不合格になってしまった場合,そうはいかないですよね.
なんで不合格になってしまったか原因を考えなければいけません.
予測モデリングもほぼ一緒です.
STEP1~STEP5の工程で作成したモデルの結果は決まっています.
あとはそのモデルを評価し,合格水準に達しているかを確認しましょう.
もし合格(予測精度が高い)であれば,喜びましょう!
特に何もすることはありません.
逆に不合格(予測精度が低い)のであれば,その原因を考える必要があります.
合格水準に達しているかを確認する作業がモデル評価,予測精度が低い原因を考える作業がモデル整理ということになります.
それぞれについて詳細にみていきましょう!
合格水準に達していた(予測精度が高い)場合でも,その原因を考えることはあります.
上述の説明はわかりやすいさを求めたために少しだけ正確性に欠けることをご承知おきください.
1.モデル評価
STEP5で最終予測値が算出できたら,後はその最終予測値がどれくらい実測値に近いか評価します.
評価の仕方はSTEP5の「学習と評価」でやったことと全く同じです.
STEP5の「学習と評価」で説明したときと同じ図を再掲します.
STEP5の「学習と評価」のときとSTEP6の「モデル評価」が何が違うかというと,予測値を算出したデータが異なります.
STEP5は,assessment,STEP6は,評価データという違いだけです.
さぁ,後はこの結果が良ければ予測モデリングは完了となります.
もし,結果が良くなければSTEP6の「モデル整理」をした後にSTEP1に戻って最初からやり直しましょう.
おそらく最初からいい結果は出ないと思うので,もし結果が良くてもめげないでくださいね.
むしろやり直すのは当たり前だと思っていたほうがいいかもしれません.
2.モデル整理
モデル整理では,モデルをきれいに整え,付加価値の高い情報を抽出します.
抽出する情報としてよくあるのが,①成績情報や②回帰係数情報です.
①成績情報
AIC,BIC,devianceなどを算出します.
1 2 3 |
null.deviance df.null logLik AIC BIC deviance df.residual nobs <dbl> <int> <dbl> <dbl> <dbl> <dbl> <int> <int> 1 4235. 3562 -1587. 3215. 3338. 3175. 3543 3563 |
各項目の意味は省略します.
説明するとかなり長くなってしまうので...
②回帰係数情報
アルゴリズムがlinear系の場合,回帰係数情報が得られることが多いので,それを抽出します.
3.モデル解釈
モデル解釈というのは,複雑なモデルがどのように機能しているかを解釈することです.
モデル解釈に使用される指標には次のようなものがあります.
- PFI(Permutation Feature Importance:説明変数重要度)
- PD(Partial Dependence:説明変数のそれぞれの値に対する予測値の平均)
- ICE(Individual Conditional Expectation:説明変数のそれぞれの値に対する予測値)
- SHAP(SHapley Additive exPlanations:各説明変数の貢献度)
これらのうち,1番よく使用するPFIについて紹介します.
PFIは,Permutation Feature Importanceの略で,Permutationというのは並び替えるという意味です.
簡単に言うと,各説明変数を並び替えて,予測精度がどのように変化するかを確認しています.
予測精度がそんなに変わらない .⇒ 予測に影響を与えづらい.
予測精度が悪くなる .⇒ 予測に重要である.
と考えられますね!
実際にやってみるとこのようになります.
この例で言うと,説明変数hours,evaluationが影響度が高いということになります.
PFI以外の指標については,長くなってしまうので割愛いたします.
別記事でまとめる予定なので,まとめたら連絡いたします.
まとめ
今回はSTEP6:モデル検証についてやってきました.
モデル検証は大きく次の3つに分類できます.
- モデル評価
- モデル整理
- モデル解釈
これらの3つをやった結果,芳しくない結果であった場合は,然るべきSTEPに戻り,再度,予測モデリングをやり直しましょう.
大丈夫,最初からうまくいくことなんてめったにないので,失敗してもくじけないでくださいね!
そして,何回かSTEP1~STEP6を繰り返し,結果がよければついに予測モデリング完了です!!
ここまでほんとに長かったですね,お疲れさまでした!
あとはこのSTEP1~STEP6までを実際にコーディングするだけです.
今まで説明を聞いてきてもよくわかなかったとしても全く問題ありません.
というか多分ほとんどの人はイメージがわかないと思います笑
けど全く心配ありません!
コーディングすることによってこれらの説明が何を示しているのかが徐々に理解できてくるはずです.
ということで何となく理解出来たら早速コーディング編に移りましょう!!
と言いたいところですが,最後に1つだけ,すごく重要なことをいいたいので,コーディング編はもう少々お待ちください.
次は,今までの復習もかねて意外と見逃されがちな機械学習の常識について少しだけ解説したいと思います.
それでは,お疲れさまでした!!