分岐の数が多いツリーを作成すると、データにオーバーフィット(過学習)する可能性があります。オーバーフィットすると、モデルの作成に用いたデータでの予測は精確でも、将来のデータに対する予測精度は悪くなります。検証(validation)とは、データの一部をモデルパラメータの推定に使用し、残りのデータでモデルの予測能力を評価する方法を指します。
• モデルパラメータの推定に使うデータを、学習セットといいます。
• モデルの予測能力を評価するのに用いるデータを、検証セットといいます。
• 予測能力の最終評価に使うデータを、テストセットといいます。検証列を指定した場合のみ、テストセットを使用できます。「パーティション」プラットフォームの起動を参照してください。
検証セットを指定した場合には、[実行]ボタンが表示されます。この[実行]ボタンは、[分岐]ボタンを手動で繰り返し押すことなしに、分岐処理を一度に実行したいときに使います。[実行]ボタンをクリックすると、現時点より後の10回のどの分岐においても、検証セットのR2乗が改善されない時点まで、一度に処理が実行されます。この方法では、解釈しにくい複雑なツリーになるかもしれませんが、求められたツリーの予測精度は高いでしょう。
[実行]ボタンを使ったときには、[分岐履歴]コマンドがオンになります。なお、[実行]ボタンを使ったときにノードの数が40を超えるツリーができた場合は、[ツリーの表示]コマンドはオフになります。
学習セット、検証セット、テストセットは、分析対象のデータを分割することにより作成します。データを分割する方法としては、以下のような方法が用意されています。
除外された行
行の属性によって、データを分割します。除外されていない行を学習セット、除外されている行を検証セットとして用います。
行の属性と行の除外の詳細については、『JMPの使用法』の行を非表示かつ除外にするを参照してください。
保留
データを無作為に学習セットと検証セットに分割します。プラットフォームの起動ウィンドウにある「検証セットの割合」で、検証セットとして使用する部分の割合(保留する割合)を指定することができます。検証セットの割合の詳細については、「パーティション」プラットフォームの起動を参照してください。
K分割交差検証
データをランダムにK個に分割します。順番に、(K-1)個分のデータにモデルがあてはめられ、残っているデータでモデルが検証されます。全部でK個のモデルがあてはめられます。最終的なモデルは交差検証のR2乗により選択されます。なお、JMPの「パーティション」では、オーバーフィットを防ぐために、ある停止ルールが使われています。この方法は、少ないデータを効率的に利用するので、小規模なデータセットに適しています。K分割交差検証を参照してください。
検証列
検証列の値に基づいて、データを分割します。検証列には、多くとも3つの数値が含まれている必要があります。検証列の指定は「パーティション」起動ウィンドウで行います。「パーティション」プラットフォームの起動を参照してください。
この列の値によって、データの分割方法が決まります。
– 検証列の水準が2つの場合は、小さい方の値をもつ行が学習セット、大きい方の値をもつ行が検証セットとして使われます。
– 水準が3つの場合は、値が小さいものから順に、学習セット、検証セット、テストセットとして使われます。
「列の選択」リストで列を選択せず、[検証]ボタンをクリックすると、データテーブル内に検証列を作成することができます。「検証列の作成」ユーティリティの詳細については、検証列の作成を参照してください。