TLDR:
私のデータセットは非常に小さい(120)サンプルです。10倍のクロス検証を行っている間に、次のことを行う必要があります。
各テストフォールドから出力を収集し、それらをベクトルに連結して、予測のこの完全なベクトル(120サンプル)でエラーを計算しますか?
それとも私がすべきである代わりに、私が手出力に誤差を計算各倍に(倍あたり12個のサンプルで)、その後、10倍の誤差推定値の平均として私の最終誤差推定値を得ますか?
これらの手法の違いを主張する科学論文はありますか?
背景:マルチラベル分類におけるマクロ/マイクロスコアとの潜在的な関係:
この質問は、マルチラベル分類タスク(たとえば5ラベルなど)でよく使用されるミクロ平均とマクロ平均の違いに関連していると思います。
マルチラベル設定では、120サンプルの5つの分類子予測すべてについて、真陽性、偽陽性、真陰性、偽陰性の集約された分割表を作成することにより、マイクロ平均スコアが計算されます。次に、この分割表を使用して、マイクロ精度、マイクロリコール、およびマイクロfメジャーを計算します。したがって、120個のサンプルと5つの分類子がある場合、600の予測(120個のサンプル* 5つのラベル)でミクロ測定が計算されます。
マクロバリアントを使用する場合、各ラベルでメジャー(精度、リコールなど)を個別に計算し、最後にこれらのメジャーを平均します。
違いの背後にある考え方マイクロ対マクロの推定値は、バイナリ分類問題におけるK倍の設定で何ができるかに拡張することができます。10倍の場合、10個の値を平均するか(マクロ測定)、10個の実験を連結してマイクロ測定を計算できます。
背景-展開例:
次の例は質問を示しています。12個のテストサンプルがあり、10個のフォールドがあるとします。
- フォールド1:TP = 4、FP = 0、TN = 8 精度 = 1.0
- 折り2:TP = 4、FP = 0、TN = 8 精度 = 1.0
- 3つ折り:TP = 4、FP = 0、TN = 8 精度 = 1.0
- フォールド4:TP = 0、FP = 12、 精度 = 0
- フォールド5 .. フォールド10:すべて同じTP = 0、FP = 12、Precision = 0
ここで、次の表記を使用しました。
TP =真陽性の数、 FP =#偽陽性、 TN =真の陰性の数
結果は次のとおりです。
- 10倍の平均精度= 3/10 = 0.3
- 10倍の予測の連結の精度= TP / TP + FP = 12/12 + 84 = 0.125
値0.3と0.125は非常に異なることに注意してください!