Ich verwende Random für die Klassifizierung von Daten, und ich bin nicht in der Lage zu verstehen:Wie erhalten Sie korrekte Klasse, vorhergesagte Klasse und Vorhersagewahrscheinlichkeit in Random Forest in R?
1- Wie können wir die Informationen (vorzugsweise in einem Datenrahmen von 3 Spalten) erhalten, die uns die wirkliche Klassifizierung in testData
erzählt (zB unten Beispiel Species
Spalte), Vorhersage durch zufällige Gesamtstruktur, und die Wahrscheinlichkeit Score dieser Vorhersage. Zum Beispiel betrachtet nur der unten Datensatz und 1 Fall, in dem in testData
die Species (verblendet Informationen für zufälligen Wald) war versicolor aber es war falsch von Klassifikator als virginica mit einem Wahrscheinlichkeitswert von 0,67 vorhergesagt. Ich möchte diese Art von Informationen, aber ich weiß nicht, wie kann ich dies erhalten
2- Wie können wir die Verwirrung Matrix für testData
und trainingData
bekommen, die uns auch die class.error gibt, wie in dem Fall, wenn wir die drucken Modell.
data(iris)
set.seed(111)
ind <- sample(2, nrow(iris), replace = TRUE, prob=c(0.8, 0.2))
trainData <- iris[ind==1,]
testData <- iris[ind==2,]
#grow forest
iris.rf <- randomForest(Species ~ ., data=trainData)
print(iris.rf)
Call:
randomForest(formula = Species ~ ., data = trainData)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 3.33%
Confusion matrix:
setosa versicolor virginica class.error
setosa 45 0 0 0.00000000
versicolor 0 39 1 0.02500000
virginica 0 3 32 0.08571429
**#predict using the training again...**
iris.pred <- predict(iris.rf, trainData)
table(observed = trainData$Species, predicted = iris.pred)
predicted
observed setosa versicolor virginica
setosa 45 0 0
versicolor 0 40 0
virginica 0 0 35
**#Testing on testData**
irisPred<-predict(iris.rf, newdata = testData)
table(irisPred, testData$Species)
irisPred setosa versicolor virginica
setosa 5 0 0
versicolor 0 8 1
virginica 0 2 14
Wo initialisierst du einen Wert für den 'iri am Objekt? – Newbie
Entschuldigung, hätte geklärt werden müssen: Ich habe deinen obigen Code (iris.rf <- randomForest (Species ~., Data = trainData)) gefolgt. –