1
caret
パッケージを使用したクロスバリデーション後のバイナリクラシファイアから曲線下面積(AUC)を取得したいと考えています。キャレットの平均クラス確率からのAUC R
標準的な混同行列については、にはaverage
引数が使用されています。
例:など
controls = trainControl(method="repeatedcv"
, number=5
, repeats=10
, selectionFunction = "oneSE"
, classProbs = T
, summaryFunction = twoClassSummary
)
svm_5k = train(veracity ~ .
, data = training_data
, method = "svmLinear"
, trControl = controls
, verbose = FALSE
, metric = 'ROC'
)
そして混同行列は精度のために使用され、F1、
confmat = caret::confusionMatrix(svm_5k
, 'average')
は、今私はAUCと闘争:私は今、クラスちゃったごめんなさいを取得し、添付していますそれらのデータをtesting_data$prob = predict(svm_5k, testing_data, type='prob')[,2]
のように表示します。pROC
パッケージを使用して
controls
に示されているが、分類器の単なるスナップショットとして
...
...私はクロスバリデーションを使用していません。
CVから平均化された確率を使用してAUCを得る方法はありますか?
しかし、これは異なるCVの平均を与えません。あなたがそれを記述するとき、それは私がしたものに似ています。しかし、私は1回の反復だけではなく、すべてのCV反復の平均から予測を得ることを避けたい。 –
Idk私は似たような仕事をしましたが、私は10倍のクロスバリデーションを使って、aucのフィールドを作ったのです。 forループでは、それらを連結し、最後に平均を使用しました。 – grahinho