交差検証のためにデータを学習とテストに分割する(クロスバリデーション)
1.想定される利用目的
・予測モデルの頑強性を確保する
2.サンプルストリームのダウンロード
3.サンプルストリームの説明
データ区分ノードを利用する
b.[データ区分]ノードを編集します。5割を学習に、残る5割を検証に割り当てます。
[実行]します。このノードの後続のモデルや評価グラフ、精度分析ノードは学習と検証に自動分割します。
この時点で[棒グラフ]で確認すると学習と検証がほぼ半分に分かれているのが確認できます。
モデルとの組み合わせは以下の記事を参照してください。
不均衡データを想定してストリームで学習と検証に分割する
c.[条件抽出]ノードを編集します。目的変数のフラグが真のデータのみを抽出します。
d.[サンプリング]ノードを実行します。ランダムシードを固定して5割をサンプリングします。
e.[条件抽出]ノードを編集します。フラグが真を破棄して負のデータのみ抽出します。
f.[レコード追加]ノードでフラグが真の半分と負の半分を学習用に結合します。
g.dをコピーして利用します。
h.[テーブル]ノードを実行します。ヘッダーの通り482レコードが選択されました。
i.dの設定から[モード]を[サンプルを破棄]にして反転させます。同じランダムシードを利用しているのでdでは選ばれなかったレコードが抽出されます。
検証用のデータセットです。学習データhで選ばれていない残りの518レコードが対象です。
注意事項
極端にフラグの真が少ない故障や不正のデータはサンプリングで精度が不安定になる場合がありますので交差検証の方法を注意深く検討します。
4.参考情報
[交差検証]ノードを扱った記事
SPSS Modeler ノードリファレンス目次
SPSS Modeler 逆引きストリーム集(データ加工)