0

Matlab の cvpartition 関数に問題があります。クラス 1 からの 134 個のインスタンス (ネガティブ) とクラス 2 からの 19 個のインスタンス (ポジティブ) を持つデータセットを使用して、5 倍のクロス検証 (分類用) を実行したいと考えています。5 倍の CV では、4 - 4 - 4 - 4 - 3 の正のインスタンスが 5 倍に沿って分割されるか、それに近い値になるはずです (5 - 4 - 3 - 4 - 3 も問題ありません)。私は 5-fold CV を 30 回繰り返し、Matlab が 1 - 5 - 5 -4 - 4 または 5 - 5 - 5 - 4 - 0 のようなパーティションを構築することがあります。つまり、折り目には正のインスタンスがありません! これはどのように可能で、どうすれば修正できますか? 少なくとも、2 つのクラスが常に各フォールドで表されることを保証する必要があります...

これにより、PRecision、Recall、F-measure などを計算しようとすると問題が発生します...

LS

4

1 に答える 1

0

層別形式の交差検証を使用していcvpartitionますか?

ドキュメンテーション ページで説明されている 2 番目の構文を使用しc = cvpartition(group,'kfold',k)ますc = cvpartition(n,'kfold',k)。これgroupは、クラス ラベルのベクトル (またはカテゴリ配列、文字列のセル配列など) であり、すべてをランダムにグループに分割するだけでなく、観測の選択を階層化します。

于 2013-06-11T11:25:31.847 に答える