質問: 前提・実現したいこと ---------- あるデータに対してSVM、RandomForestを用いて2値分類を行い、モデルの分類性能を評価しようとしています。 そこでパラメータチューニングを行ってから分類性能を評価しようと思っているのですが、正しい手順がわかりません。 現在実行しようとしている手順は以下になります。 #### 手順 学習データ数:1000 分類:2値分類 手法:SVM, RandomForest 1.データ全体を学習用(700)、評価用(300)に分割 2.学習データ全体(700)でグリッドサーチをk分割交差検証によって行う(モデルの精度評価はAUC) 3.手順2で最もAUCの高かった際のパラメータで、学習データ全体(700)を学習 4.手順3で構築したモデルで評価用データを分類し評価指標(precision, recall, f1-score, auc)を算出 上記手順で算出された評価指標値をモデルの性能として扱おうとしているのですが、このアプローチが間違っている気がしてなりません。 初歩的な質問で申し訳ないのですが、上記手順が間違いでしたらモデルの評価における一般的な手順をお教えいただけないでしょうか。 追記 懸念点1:いくつか論文では交差検証における評価指標の平均値を算出してモデルの評価を行っている 疑問点1:この場合はどこでパラメータチューニングをおこなっているのか 懸念点2:手順1の分割に結果が依存してしまう 疑問点2:手順1~4をまとめて交差検証としてしまうとネストされた交差検証となってしまい、手法の比較しかできないのではないか
回答: > > 懸念点1:いくつか論文では交差検証における評価指標の平均値を算出してモデルの評価を行っている > > 疑問点1:この場合はどこでパラメータチューニングをおこなっているのか > > > そこまで書いてない論文もあります。チューニングしていない場合もありますし、評価と一緒にやっている場合もあります(後者は駄目と言えば駄目だけど、議論したい問題に関係なければ見過ごされることも多い)。 > > 懸念点2:手順1の分割に結果が依存してしまう > > > そうですね。でも1000を700:300にランダムに分けるのであれば、さほど気にする必要はないとも言えます(サンプルが多ければそんな滅茶苦茶な偏り方をする可能性は低いので)。 > > 疑問点2:手順1~4をまとめて交差検証としてしまうとネストされた交差検証となってしまい、手法の比較しかできないのではないか > > > 手法の比較ができれば良いのでは? 何を問題視しているのかが見えません。