Performance
概要
この演算子はパフォーマンス評価に使用されます。パフォーマンス基準値のリストを提供します。これらのパフォーマンス基準は、学習タスクの種類に合わせて自動的に決定されます。
詳細
パフォーマンス(分類)演算子、パフォーマンス(二項分類)演算子、またはパフォーマンス(回帰)演算子などの他のパフォーマンス評価演算子とは対照的に、この演算子はすべてのタイプの学習タスクに使用できます。学習タスクのタイプを自動的に決定し、そのタイプの最も一般的な基準を計算します。より高度なパフォーマンス計算を行うには、上記の演算子を使用する必要があります。それらのいずれも要件を満たしていない場合は、パフォーマンス(ユーザーベース)演算子を使用して、独自のパフォーマンス測定を作成できます。
二項分類タスクには、次の基準が追加されます。
- 正確さ
- 精度
- 想起
- AUC(楽観的)
- AUC(ニュートラル)
- AUC(悲観的)
次の基準が多項式分類タスクに追加されます。
- 正確さ
- Kappa統計
次の基準が回帰タスクに追加されます。
- 二乗平均平方根誤差
- 平均二乗誤差
入力
- ラベル付きデータ (IOObject)この入力ポートには、ラベル付きのExampleSetが必要です。たとえば、モデルの適用演算子は、ラベル付きデータを提供します。 ExampleSetにラベル属性と予測属性があることを確認してください。詳細については、役割の設定演算子を参照してください。
- パフォーマンス (パフォーマンスベクトル)これはオプションのパラメーターです。パフォーマンスベクターが必要です。
出力
- パフォーマンス(パフォーマンスベクトル)このポートはパフォーマンスベクターを提供します(ここでは、output-performance-vectorと呼びます)。パフォーマンスベクトルは、パフォーマンス基準値のリストです。 output-performance-vectorには、このPerformanceオペレーターによって計算されたパフォーマンス基準が含まれています(ここでは、calculated-performance-vectorと呼びます)。パフォーマンスベクトルも入力ポートで入力された場合(ここではinput-performance-vectorと呼びます)、input-performance-vectorの基準もoutput-performance-vectorに追加されます。 input-performance-vectorとCalculated-Performance-Vectorの両方に同じ条件があり、値が異なる場合、calculated-performance-vectorの値は出力ポートを介して配信されます。この概念は、添付のサンプルプロセスを調べることで簡単に理解できます。
- サンプルセット(IOObject)入力として指定されたExampleSetは、このポートを介して出力に変更せずに渡されます。これは通常、別の演算子で同じExampleSetを再利用するため、または結果ワークスペースでExampleSetを表示するために使用されます。
パラメーター
- use_example_weightsこのパラメーターを使用すると、可能であればパフォーマンスの計算にサンプルの重みを使用できます。 ウェイトの役割を持つ属性がない場合、このパラメーターは効果がありません。例の重みを考慮するために、ExampleSetには重みの役割を持つ属性が必要です。 重みの生成演算子など、 重みを割り当てるいくつかの演算子を使用できます。 重みの役割に関する詳細については、役割の設定演算子を調べてください。 範囲:ブール
チュートリアルプロセス
予測のパフォーマンスを評価
このプロセスは、2つのサブプロセス演算子と1つのパフォーマンス演算子で構成されています。最初のサブプロセス演算子をダブルクリックすると、このサブプロセス内の演算子が表示されます。最初のサブプロセス「サブプロセス(ラベル付きデータプロバイダー)」は、Retrieve演算子を使用して「Golf」データセットをロードし、k-NN演算子を使用して分類モデルを学習します。次に、モデルの適用演算子を使用して、学習したモデルが「ゴルフテストセット」データセットに適用されます。次に、重みの生成演算子を使用して、重みの役割を持つ属性を追加します。したがって、このサブプロセスはラベル付きExampleSetに重み属性を提供します。このサブプロセスの後にブレークポイントが挿入され、このExampleSetが表示されます。メインプロセスのパフォーマンスオペレーターのラベル付きデータ入力ポートで提供されます。
2番目のサブプロセス演算子 ‘Subprocess(パフォーマンスベクトルプロバイダー)’は、Retrieve演算子を使用して ‘Golf’データセットを読み込み、k-NN演算子を使用して分類モデルを学習します。次に、モデルの適用演算子を使用して、学習したモデルが「ゴルフ」データセットに適用されます。次に、ラベル付けされたデータにパフォーマンス(分類)演算子が適用され、パフォーマンスベクトルが生成されます。このサブプロセスの後にブレークポイントが挿入され、このパフォーマンスベクターが表示されます。このモデルは同じデータセット(「ゴルフ」データセット)でトレーニングおよびテストされているため、その精度は100%です。したがって、このサブプロセスは、100%の精度と0.00%の分類エラーを備えたパフォーマンスベクトルを提供します。このパフォーマンスベクターは、メインプロセスのパフォーマンスオペレーターのパフォーマンス入力ポートに接続されます。
プロセスを実行すると、最初のサブプロセス演算子の出力であるExampleSetが最初に表示されます。 [実行]ボタンをもう一度押すと、パフォーマンスベクトルが表示されます。これは、2番目のサブプロセス演算子の出力です。 [実行]ボタンをもう一度押すと、結果ワークスペースの条件選択ウィンドウにさまざまな条件が表示されます。これらには、分類エラー、精度、精度、リコール、AUC(楽観的)、AUCおよびAUC(悲観的)が含まれます。基準選択ウィンドウから精度を選択します。値は71.43%です。それどころか、2番目のサブプロセスによって提供される入力パフォーマンスベクトルの精度は100%でした。最終的なパフォーマンスベクトルの精度は、100%ではなく71.43%です。これは、入力パフォーマンスベクトルと計算されたパフォーマンスベクトルの両方に同じ基準があり、値が異なる場合、計算されたパフォーマンスベクトルの値が出力ポートを介して配信されるためです。ここで、パフォーマンス入力ポートで提供されるパフォーマンスベクトルのために、分類エラー基準が基準リストに追加されることに注意してください。 2番目のサブプロセス演算子を無効にして同じプロセスを再度実行すると、分類エラー基準が現在表示されていないことがわかります。これは、パフォーマンスベクターがパフォーマンス入力ポートに供給されると、その基準も出力パフォーマンスベクターに追加されるためです。
正確さは、例の総数に対する正しい予測の割合を取ることによって計算されます。正しい予測とは、予測属性の値がラベル属性の値と等しい例を意味します。結果ワークスペースのExampleSetを見ると、このデータセットには14の例があることがわかります。 14の例のうち10が正しい予測です。つまり、ラベルと予測属性の値は同じです。これが、精度が71.43%(10 x 100/14 = 71.43%)だった理由です。ここで同じプロセスを再度実行しますが、今回はuse example weightsパラメーターをtrueに設定します。結果をもう一度確認してください。今回は各例の重みが考慮されたため、現在変更されています。今回の精度は68.89%です。正しい予測の重量の割合と総重量を取得すると、同じ答えが得られます(0.6889 x 100/1 = 68.89%)。このプロセス例では、重みを使用すると精度が低下しますが、常にそうであるとは限りません。
注意:このプロセス例は、パフォーマンスオペレーターのさまざまな観点を強調するためのものです。実際のシナリオではあまり役に立ちません。