特徴量選択とネステッドチューニング
このトピックを完了すると
特徴量選択とハイパーパラメータチューニングが評価用フォールドの外側で行われることで生じるデータリーケージについて説明できるようになります。選択プロセスと最終的な評価プロセスの分離としてのネステッド交差検証を理解します。
選択も学習である
分散の低い特徴量を選ぶ、ターゲットと相関の高い列を選択する、あるいはモデルのハイパーパラメータを決定することは、すべてデータから情報を学習するプロセスです。選択のためにテストまたは検証の情報を使用すると、性能が過度に楽観的に見える可能性があります。
ネステッド構造
外側のフォールドは最終的な汎化性能を評価し、内側のフォールドは特徴量選択とチューニングを行います。外側のテストフォールドは、内側の選択プロセスによって未見のままにする必要があります。グループや時間の分割が必要な場合、内側と外側の両方のフォールドでこれらの単位を保持しなければなりません。
ネステッド評価の実行順序
- 外側のフォールド内で訓練セットとテストセットを分割する。
- 外側の訓練セット内でのみ内側の交差検証を行う。 3各内側フォールドごとに前処理、特徴量選択、モデルチューニングを再学習する。 4選択された構成を外側の訓練セット全体に適合させる。 5外側のテストセットで一度評価する。
このシーケンスをすべての外側フォールドで繰り返して、性能の分布を取得します。外側のテスト結果に基づいて内側の探索空間を変更すると、最終評価が再び選択プロセスに曝露されます。
選択の安定性
高次元データでは、選択される特徴量がフォールド間で変動する可能性があります。選択頻度と係数の方向を記録することで、モデル性能と特徴量の安定性を分離できます。頻繁に選択されない特徴量を無意味であると自動的に結論づけないでください。代わりに、サンプルの変動と相関構造を一緒に検討します。
最終的な特徴量リストを作成したら、選択に使用されていない別のデータでその性能を検証するか、そのリストの作成に使用されたフォールドとチューニング範囲を明確に示します。
解釈のために研究質問に戻る
選択された特徴量リストが、必ずしも安定した生物学的マーカーを意味するわけではありません。サンプルや分割方法が変われば選択も変化し、選択の安定性と外部検証は別々に評価する必要があります。
一般的な落とし穴
- 特徴量をデータセット全体から最初に選択しないでください。
- テストスコアに基づいて特徴量選択のルールを変更しないでください。
- ネステッド構造でグループ/時間の単位を失わないでください。
- 選択された特徴量を直接的に因果変数として解釈しないでください。
重要なポイント
- 特徴量選択とチューニングも学習プロセスである。
- 選択は評価用フォールド内で隔離されなければならない。
- ネステッドCVは、選択と最終評価を分離する構造である。
次のトピック
次のモジュールでは、キャリブレーション、不均衡、不確実性について扱います。
参考文献
- scikit-learnの一般的な落とし穴: https://scikit-learn.org/stable/common_pitfalls.html
- GroupKFold: https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GroupKFold.html
- scikit-learnのメトリクス: https://scikit-learn.org/stable/modules/model_evaluation.html
このモジュールのネステッド構造と解説は、BioStatPyによって独立して作成されました。