プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

分類器の性能を評価する方法は何ですか?


トレーニング中にモデルの汎化誤差を推定する方法はいくつかあります。推定誤差は、モデル選択を行うための学習アルゴリズムをサポートします。つまり、過剰適合の影響を受けない適切な複雑さのモデルを発見することです。

モデルが構築されているため、テストセットで使用して、以前に表示されなかったデータのクラスラベルを予測できます。テストセットでモデルのパフォーマンスを測定すると、その一般化誤差の偏りのない推定値が得られるため、多くの場合便利です。テストセットから評価された精度またはエラー率を使用して、等しいドメイン上の複数の分類器の関連パフォーマンスを比較できます。

分類器のパフォーマンスを評価するために一般的に使用されるさまざまな方法があります。次のとおりです-

ホールドアウト方法 −ホールドアウト方式では、ラベル付けされたインスタンスを含む初期レコードは、それに応じて、トレーニングセットとテストセットと呼ばれる2つの互いに素なセットに分割されます。分類モデルはトレーニングセットから誘導され、その実装はテストセットで計算されます。

分類器の効率は、テストセットで誘導されたモデルの効率に応じて計算できます。ホールドアウト方式には、さまざまなよく知られた欠点があります。まず、いくつかのデータがテストのために差し控えられているため、いくつかのラベル付きインスタンスはトレーニングのためにアクセスできます。

結果として、誘導されたモデルは、いくつかのラベル付けされた例がトレーニングに利用される場合ほど最良にはなり得ません。次に、モデルはトレーニングセットとテストセットの構造に大きく依存する可能性があります。

一方、トレーニングセットが大きすぎる場合、小さい方のテストセットから計算された推定精度は信頼性が低くなります。したがって、推定には広い信頼区間があります。最後に、トレーニングセットとテストセットは互いに分離されていません。

ランダムサブサンプリング −分類器の実装の計算を強化するために、holdoutメソッドを複数回繰り返すことができます。この方法はランダムサブサンプリングと呼ばれます。

acc i i th 中のモデルの精度 反復。全体的な精度はaccsubによって与えられます =$ \ mathrm {\ displaystyle \ sum \ Limits_ {i =1} ^ k} $ acc i / k

ランダムサブサンプリングでは、トレーニングに適用できるデータが少ないため、ホールドアウトアプローチに関連するいくつかの問題が発生します。また、各データがテストとトレーニングに使用される回数を制御することもできません。したがって、一部のデータは他のデータよりもトレーニングに使用できます。

相互検証 −:ランダムサブサンプリングの代替手段は交差検定です。この方法では、各データはトレーニングに複数回使用され、テストには正確に1回使用されます。レコードを2つの同じサイズのサブセットに分割できることを考慮してください。まず、トレーニング用のサブセットとテスト用のサブセットの1つを選択できます。以前のトレーニングセットがテストセットになるように、サブセットの役割を変更できます。この方法は、2分割交差検定として知られています。


  1. Java 9のサブスクリプションインターフェイスのルールは何ですか?

    サブスクリプション データを仲介する目的で、1人のパブリッシャーと1人のサブスクライバーが共有できます 交換 。それがsubscribe()の理由です メソッドは作成されたサブスクリプションを返しませんが、代わりに voidを返します 。サブスクリプションは、 onSubscribe()を介してのみサブスクライバーに渡されます メソッドコールバック。サブスクリプションインターフェースには、 request()の2つのメソッドが含まれています。 およびcancel() 。 構文 public interface Subscription {    public void re

  2. Java 9のインターフェースでのプライベートメソッドのルールは何ですか?

    Java9にプライベートの新機能が追加されました 方法 インターフェースへ 。プライベートメソッドは、プライベートを使用して定義できます 修飾子。両方のプライベートを追加できます およびプライベート 静的 方法 Java 9のインターフェースで 以降。 インターフェースのプライベートメソッドのルール: プライベートメソッドはインターフェースに本体があります。つまり、インターフェースで通常行われるように、通常の抽象メソッドとして宣言することはできません。本文のないプライベートメソッドを宣言しようとすると、「このメソッドにはセミコロンではなく本文が必要です」というエラーがスローされる可能性