Columns 1
2
und in der Ausgabe für jede Klasse der Klassifizierungsfehler geben. Der Wert OOB
ist der gewichtete Durchschnitt der Klassenfehler (gewichtet nach dem Anteil der Beobachtungen in jeder Klasse).
Ein Beispiel (den Zufall Wald Beispiel aus der Hilfeseite Anpassung):
# Keep every 100th tree in the trace
set.seed(71)
iris.rf <- randomForest(Species ~ ., data=iris, importance=TRUE,
proximity=TRUE, do.trace=100)
ntree OOB 1 2 3
100: 6.00% 0.00% 8.00% 10.00%
200: 5.33% 0.00% 6.00% 10.00%
300: 6.00% 0.00% 8.00% 10.00%
400: 4.67% 0.00% 8.00% 6.00%
500: 5.33% 0.00% 8.00% 8.00%
Der gewichtete Durchschnitt der Klasse Fehler zum 100. Baum einer OOB-Fehlerrate von 6,0% ergibt, genau wie in der berichtete Spur oben. (prop.table
gibt den Anteil der Beobachtungen in jeder Kategorie (jeder Klasse) von Arten zurück). Wir multiplizieren dies elementweise mit den Klassenfehlern für den 100. Baum, wie in den obigen Werten angegeben, und summieren dann, um den gewichteten Durchschnittsfehler über alle Klassen zu erhalten (OOB-Fehler).
sum(prop.table(table(iris$Species)) * c(0, 0.08, 0.10))
[,1]
[1,] 0.06
Sie vermeiden können, benötigen Summe zu verwenden, wenn Sie die Matrixmultiplikation verwendet werden, die hier entspricht dem Punkt/Skalar/Skalarprodukt:
prop.table(table(iris$Species)) %*% c(0, 0.08, 0.10)