Ich habe eine zufällige Gesamtstruktur mit caret
Paket für die Vorhersage einer binären Klassifizierungsaufgabe trainiert.Wie erhält man die vorhergesagte Klasse anstelle von Klassenwahrscheinlichkeiten?
library(caret)
set.seed(78)
inTrain <- createDataPartition(disambdata$Response, p=3/4, list = FALSE)
trainSet <- disambdata[inTrain,]
testSet <- disambdata[-inTrain,]
ctrl <- trainControl(method = "repeatedcv", number = 10, repeats = 10)
grid_rf <- expand.grid(.mtry = c(3,5,7,9))
set.seed(78)
m_rf <- train(Response ~ ., data=trainSet,
method= "rf", metric = "Kappa", trcontrol=ctrl, tuneGrid = grid_rf)
Die Response
Variable enthält Werte {Valid
, Invalid
}. Mit der folgenden ich die Klassenwahrscheinlichkeiten für die Testdaten erhalten:
pred <- predict.train(m_rf, newdata = testSet,
type="prob", models=m_rf$finalModel)
jedoch Ich interessiere mich für die vorhergesagte Klasse zu erhalten heißt Valid
oder Invalid
statt Klassenwahrscheinlichkeiten zu erzeugen eine Konfusionsmatrix.
Ich habe bereits das Argument type="raw"
in der predict.train
Funktion versucht, aber es gibt eine Liste von NAs
zurück.
Wenn es ein Fehler ist, melden Sie es auf der GitHub-Seite von Caret. – phiver
@phiver, ja ich plane, es zu melden, wie es für eine der früheren Versionen des Pakets caret auch gemeldet wurde. Die Versionshinweise der Version (6.0-70) erwähnen, dass dieses Problem behoben wurde. Jedenfalls werde ich den Bug auf GitHub melden –