RapidMiner(ラピッドマイナー)はデータ可視化、データ加工、モデル作成、評価、運用まで一括サポートする機械学習プラットフォームです。KSKアナリティクスはRapidMinerの正規販売代理店です。

Bootstrapping Validation

概要

この演算子は、学習演算子の統計的パフォーマンスを推定するために、トレーニングデータセットのサンプリングをブートストラップした後に検証を実行します(通常は、表示されていないデータセットに対して)。これは主に、モデル(特定の学習オペレーターが学習)が実際にどの程度正確に実行されるかを推定するために使用されます。

詳細

ブートストラップ検証演算子は、ネストされた演算子です。トレーニングサブプロセスとテストサブプロセスの2つのサブプロセスがあります。トレーニングサブプロセスは、モデルのトレーニングに使用されます。トレーニングされたモデルは、テストサブプロセスに適用されます。モデルのパフォーマンスもテスト段階で測定されます。トレーニングサブプロセスはモデルを提供し、テストサブプロセスはパフォーマンスベクトルを提供する必要があります。

入力ExampleSetは2つのサブセットに分割されます。 1つのサブセットはトレーニングセットとして使用され、もう1つのサブセットはテストセットとして使用されます。 2つのサブセットのサイズは、 サンプル比率パラメーターを使用して調整できます。 サンプル比率パラメーターは、トレーニングセットで使用される例の比率を指定します。テストセットの例の比率は、 1-nとして自動的に計算されます。nは、トレーニングセットの例の比率です。ここで注意すべき重要な点は、このオペレーターがモデルをトレーニングする前にトレーニングセットでブートストラップサンプリング(次の段落で説明)を実行することです。モデルはトレーニングセットで学習され、テストセットで適用されます。このプロセスは、mは 検証パラメータの数の値である時間のm個繰り返されます。

ブートストラップサンプリングは、交換によるサンプリングです。置換を伴うサンプリングでは、すべてのステップですべての例が選択される確率が等しくなります。サンプルに対してサンプルが選択されると、そのサンプルは選択の候補として残り、他の今後のステップで再び選択できます。したがって、置換のあるサンプルは、同じ例を複数回持つことができます。さらに重要なことは、置換されたサンプルを使用して、元のExampleSetよりもサイズの大きいサンプルを生成できることです。

通常、学習プロセスは、可能な限りモデルをトレーニングデータに適合させるために、モデルパラメーターを最適化します。その後、テストデータの独立したサンプルを取得すると、通常、モデルはテストデータに適合せず、トレーニングデータにも適合します。これは「過剰適合」と呼ばれ、トレーニングデータセットのサイズが小さい場合、またはモデル内のパラメーターの数が多い場合に特に発生しやすくなります。ブートストラップ検証は、明示的なテストセットが利用できない場合に、仮想テストセットへのモデルの適合を予測する方法です。

分化

Split Validation

その検証サブプロセスは1回だけ実行されます。線形、シャッフル、層別のサンプリングを提供します。

Cross Validation

入力ExampleSetは、同じサイズのk個のサブセットに分割されます。 k個のサブセットのうち、単一のサブセットがテストデータセット(テストサブプロセスの入力)として保持され、残りのk − 1サブセットがトレーニングデータセット(トレーニングサブプロセスの入力)として使用されます。次に、交差検証プロセスがk回繰り返され、 k個のサブセットのそれぞれがテストデータとして1回だけ使用されます。その後、 k回の反復から得られたkの結果を平均化(または結合)して、単一の推定値を生成できます。

入力

  • トレーニング (IOObject)この入力ポートは、モデルをトレーニングするためのExampleSet(トレーニングデータセット)を想定しています。モデルをテストするためのテストサブプロセス中に、同じExampleSetが使用されます。

出力

  • モデル(モデル)トレーニングサブプロセスは、入力ExampleSetでトレーニングされたモデルを返す必要があります。完全な入力ExampleSetで構築されたモデルは、このポートから配信されることに注意してください。
  • トレーニング(IOObject)トレーニング入力ポートで入力として与えられたExampleSetは、このポートを介して出力に変更されることなく渡されます。これは通常、別の演算子で同じExampleSetを再利用するため、または結果ワークスペースでExampleSetを表示するために使用されます。
  • averagable(パフォーマンスベクトル)テストサブプロセスはパフォーマンスベクトルを返す必要があります。これは通常、モデルを適用し、そのパフォーマンスを測定することにより生成されます。このようなポートは2つ提供されますが、必要に応じてさらに多くのポートを使用できます。この推定スキームによって計算される統計的性能は、完全な配信データセットに基づいて構築されたモデルで達成される性能の(正確な計算ではなく)推定にすぎないことに注意してください。

パラメーター

  • number_of_validationsこのパラメーターは、検証を繰り返す回数、つまり内部サブプロセスを実行する回数を指定します。 範囲:整数
  • sample_ratioこのパラメーターは、トレーニングセットの相対サイズを指定します。他の検証スキームでは、このパラメーターは1から0の間でなければなりません。1は、ExampleSet全体がトレーニングセットとして使用されることを意味します。この演算子では、ブートストラップサンプリングが元のExampleSetよりも多くの例を含むExampleSetを生成できるため、その値は1より大きくなります。トレーニングセットに選択されていないすべての例は、テストセットに自動的に選択されます。 範囲:実数
  • use_weightsこのパラメーターがチェックされている場合、そのようなウェイトが使用可能な場合、ブートストラップにサンプルのウェイトが使用されます。 範囲:ブール
  • average_performances_onlyこのパラメーターは、パフォーマンスベクトルのみを平均化するか、すべてのタイプの平均可能な結果ベクトルにするかを示します。 範囲:ブール
  • use_local_random_seedこのパラメーターは、サブセットの例をランダム化するためにローカルランダムシードを使用する必要があるかどうかを示します。 ローカルランダムシードの同じ値を使用すると、同じサンプルが生成されます。このパラメーターの値を変更すると、サンプルのランダム化方法が変更されるため、サンプルのサンプルセットは異なります。 範囲:ブール
  • local_random_seedこのパラメータは、 ローカルランダムシードを指定します。このパラメーターは、 ローカルシードの使用パラメーターがtrueに設定されている場合にのみ使用できます。 範囲:整数

チュートリアルプロセス

ブートストラップ検証を使用したモデルの検証

「ゴルフ」データセットは、検索演算子を使用してロードされます。 Generate ID演算子がそれに適用され、例を一意に識別します。これは、このプロセスを簡単に理解できるようにするためです。それ以外の場合、ここではIDは不要です。この演算子の後にブレークポイントが追加されるため、ブートストラップ検証演算子の適用前にデータをプレビューできます。 ExampleSetには、1〜14のIDを持つ14の例があることがわかります。BootstrappingValidationオペレーターをダブルクリックすると、トレーニングおよびテストサブプロセスが表示されます。デシジョンツリー演算子は、トレーニングサブプロセスで使用されます。トレーニングされたモデル(決定ツリー)は、モデルポートを介してテストサブプロセスに渡されます。テストサブプロセスは、テストポートからテストデータを受け取ります。

ここで、ブートストラップ検証演算子のパラメーターを見てみましょう。検証パラメータの数は2に設定されているため、内部サブプロセスは2回だけ実行されます。サンプル比パラメーターは0.5に設定されます。 ExampleSetのサンプル数は14で、サンプル比は0.5です。したがって、トレーニングセットは7(つまり14 x 0.5)のサンプルで構成されます。ただし、ブートストラップサンプリングではサンプルを複数回選択できるため、これらのサンプルが一意である必要はありません。トレーニングセットに選択されていないすべての例は、自動的にテストセットの一部になります。これを確認するには、プロセスを実行します。トレーニングセットには7つの例がありますが、それらはすべて一意ではなく、トレーニングセットの一部ではないすべての例がテストセットの一部であることがわかります。

API認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル