このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
testckfold
交差検証の反復により 2 つの分類モデルの精度を比較
構文
説明
testckfold
は、反復的に 2 つの分類モデルの交差検証を行うことにより 2 つのモデルの精度を統計的に評価し、分類損失の差を求め、分類損失の差を結合して検定統計量を計算します。このタイプの検定は、標本サイズが制限されている場合に特に適しています。
複数の分類モデルの精度が異なるかどうかや、ある分類モデルの性能が別のモデルより優れているかどうかを評価できます。実行できる検定には、5 x 2 のペア t 検定、5 x 2 のペア F 検定、10 x 10 の反復交差 t 検定があります。詳細は、反復交差検証を参照してください。計算を高速化するため、testckfold
は並列計算をサポートしています (Parallel Computing Toolbox™ のライセンスが必要)。
は、5 x 2 のペア F 交差検証を実施することにより得られた検定の判定を返します。帰無仮説は、「テーブル h
= testckfold(C1
,C2
,X1
,X2
)X1
および X2
内の予測子および応答データを使用する真のクラス ラベルの予測において、分類モデル C1
および C2
の精度は等しい」です。h
= 1
の場合、帰無仮説は 5% の有意水準で棄却されます。
testckfold
は、C1
および C2
をそれぞれ X1
および X2
内のすべての予測子変数に適用することにより交差検証を実施します。X1
および X2
内の真のクラス ラベルは同じでなければなりません。X1
、X2
、C1.ResponseName
および C2.ResponseName
内の応答変数名は同じでなければなりません。
モデルを比較する方法の例については、ヒントを参照してください。
は、前の構文の入力引数のいずれかと、1 つ以上の h
= testckfold(___,Name,Value
)Name,Value
ペア引数で指定された追加オプションを使用します。たとえば、対立仮説のタイプ、検定のタイプ、並列計算の使用を指定できます。
例
入力引数
出力引数
詳細
ヒント
モデルを比較する方法の例には、次のようなものがあります。
同じ予測子データのセットを渡して、単純な分類モデルと複雑なモデルの精度を比較する。
2 つの異なる予測子のセットを使用して、2 つの異なるモデルの精度を比較する。
さまざまな特徴選択を実行する。たとえば、ある予測子のセットを使用して学習をさせたモデルの精度と、同じ予測子のサブセットまたは別の予測子のセットを使用して学習をさせたモデルの精度を比較できます。予測子のセットは自由に選択できます。また、PCA (
pca
参照) や逐次特徴選択 (sequentialfs
参照) などの特徴選択手法を使用することもできます。
次の両方が成り立つ場合、
Y
の指定を省略できます。この場合、
testckfold
はテーブル内の共通する応答変数を使用します。コストを考慮しない特徴選択を実行する方法の 1 つとして、次のようなものがあります。
1 番目の分類モデル (
C1
) の特性を示す分類モデル テンプレートを作成します。2 番目の分類モデル (
C2
) の特性を示す分類モデル テンプレートを作成します。2 つの予測子データのセットを指定します。たとえば、完全な予測子セットとして
X1
を、縮小したセットとしてX2
を指定します。「
testckfold(C1,C2,X1,X2,Y,'Alternative','less')
」と入力します。testckfold
が1
を返した場合、少ない予測子を使用する分類モデルは完全な予測子セットを使用する分類モデルより性能が優れていることを示す十分な証拠があることになります。
あるいは、2 つのモデルの精度に有意な差があるかどうかを評価することもできます。この評価を実行するには、手順 4 から
'Alternative','less'
の指定を削除します。testckfold
では両側検定が実行されます。h = 0
の場合、2 つのモデルの精度に差があることを示す十分な証拠がないことになります。これらの検定は誤分類率の分類損失に適していますが、他の損失関数 (
LossFun
参照) を指定することもできます。重要な仮定として、両側検定の帰無仮説において、推定した分類損失は独立しており、平均が 0 で有限の一般分散をもつ正規分布になっている必要があります。誤分類率以外の分類損失は、この仮定に違反する可能性があります。非常に離散的なデータ、不均衡なクラス、および非常に不均衡なコスト行列は、分類損失の差の計算における正規性の仮定に違反する可能性があります。
アルゴリズム
'Test','10x10t'
を使用して 10 x 10 の反復交差 t 検定を実行するように指定した場合、testckfold
は t 分布の自由度 10 を使用して棄却限界領域の検出と p 値を推定します。詳細は、[2]および[3]を参照してください。
代替方法
次の場合に testcholdout
を使用します。
テスト セットの標本サイズが大きい。
マクネマー検定のバリアントを実装して 2 つの分類モデルの精度を比較する。
カイ二乗検定または尤度比検定による、コストを考慮する検定。カイ二乗検定では
quadprog
(Optimization Toolbox) を使用しますが、これには Optimization Toolbox™ のライセンスが必要です。
参照
[1] Alpaydin, E. “Combined 5 x 2 CV F Test for Comparing Supervised Classification Learning Algorithms.” Neural Computation, Vol. 11, No. 8, 1999, pp. 1885–1992.
[2] Bouckaert. R. “Choosing Between Two Learning Algorithms Based on Calibrated Tests.” International Conference on Machine Learning, 2003, pp. 51–58.
[3] Bouckaert, R., and E. Frank. “Evaluating the Replicability of Significance Tests for Comparing Learning Algorithms.” Advances in Knowledge Discovery and Data Mining, 8th Pacific-Asia Conference, 2004, pp. 3–12.
[4] Dietterich, T. “Approximate statistical tests for comparing supervised classification learning algorithms.” Neural Computation, Vol. 10, No. 7, 1998, pp. 1895–1923.
[5] Hastie, T., R. Tibshirani, and J. Friedman. The Elements of Statistical Learning, 2nd Ed. New York: Springer, 2008.
拡張機能
バージョン履歴
R2015a で導入