2

スレッドで指摘されているように、関数 multiclass.roc で pROC (R 内) を使用しています

ただし、データに適用すると、エラーが発生します。

予測子は数値または順序付けされている必要があります

明らかに、私のデータ ラベルは順不同です。この場合、どうすれば AUC を計算できますか?

P/S: アイデアは、マルチクラス分類器の結果として混同行列があるということです。Rでこの混同行列のAUCを計算するにはどうすればよいですか?

アップデート1:

順序のない4つのクラスA、B、C、Dがあるとしましょう(つまり、A> BまたはB> Aという意味ではありません)

正しい値:

A A A B B C D A B C D A B C ...

予測値:

A B A B B B C D ...

このデータの AUC はどのように計算すればよいですか?

更新 2

サンプル データを生成するコード:

x = c(rep("A",50),rep("B",50),rep("C",50),rep("D",50))
x = as.factor(x)
x_true = sample(x)
x_predict = sample (x)

それから私は試しました

library (pROC)
multiclass.roc(x_true, x_predict)
Error in roc.default(response, predictor, levels = X, percent = percent,  : 
  Predictor must be numeric or ordered.
4

2 に答える 2

3

ラベル付けしようとしているクラスの数に関係なく、混同行列はAUC を計算するのに十分ではありません。混同行列は、特異性と感度を決定するパラメータの選択によって決定されます。これは、ROC 曲線上の 1 つの点のみを表します。ROC には、混同行列よりも多くの情報が含まれています。AUC は ROC 曲線の積分であり、ROC なしでこの積分を計算する方法がわかりません。

于 2016-02-03T09:01:34.567 に答える