1

R のキャレット ライブラリの混乱マトリックス関数を使用して、2 つのクラス データに対する (glmnet ライブラリのエラスティックネット、kernlib のガウス プロセッサ、ランダムフォレスト) などのいくつかのメソッドのパフォーマンスを評価しています。

いくつかのメソッドについて時々見ることができます、私は得ています

警告メッセージ: 混同Matrix.default(pred, Truth) : 参照とデータのレベルが同じ順序ではありません。一致するようにデータをリファクタリングします。

パフォーマンスは、たとえば 65% です。ただし、「真実」に基づいて、予測 (上記の例では pred) のレベルを再ラベル付け (順序を変更) すると、パフォーマンスは 25% になります。

以下のおもちゃデータを構築しました。

pred = c("a", "a", "a", "b")
pred = as.factor(pred)
levels(pred) = rev(levels(pred)) % given this line, I can either get 25% or 75%.

truth = c("a", "a", "b", "b")
truth = as.factor(truth)

confusionMatrix(pred, truth)

2クラスのデータなので、直感的に理解できます。しかし、私は自分に有利なようにそうするのだろうか。つまり、パフォーマンスが 25% の場合 (単純に 75% として受け入れます)。

4

1 に答える 1

2

?caret::confusionMatrix、具体的にはパラメータを参照してくださいpositive

「正」の結果に対応する因子水準のオプションの文字列 (データにとって意味がある場合)。因子水準が 2 つしかない場合、最初の水準が「正」の結果として使用されます。

2 つ目の注意点として、クラスがおよそ 50 ~ 50 でない限り、混同行列以外のものを使用して結果を評価する必要があります。

于 2015-08-18T16:45:02.083 に答える