Die Berechnung der Vorhersage-Genauigkeit einer Struktur mit rpart - Vorhersage-Methode (R-Programmierung)

Habe ich gebaut, einen Entscheidungsbaum mit rpart für ein dataset.

Habe ich dann unterteilt die Daten in 2 Teile - einen Trainings-Datensatz und test-Datensatz. Ein Baum wurde konstruiert für das dataset mit den Trainingsdaten. Ich möchte zur Berechnung der Genauigkeit der Vorhersagen, basierend auf dem Modell erstellt wurde.

Mein code ist unten dargestellt:

library(rpart)
#reading the data
data = read.table("source")
names(data) <- c("a", "b", "c", "d", "class")

#generating test and train data - Data selected randomly with a 80/20 split
trainIndex  <- sample(1:nrow(x), 0.8 * nrow(x))
train <- data[trainIndex,]
test <- data[-trainIndex,]

#tree construction based on information gain
tree = rpart(class ~ a + b + c + d, data = train, method = 'class', parms = list(split = "information"))

Ich soll nun berechnen Sie die Genauigkeit der Vorhersagen erzeugt, indem das Modell durch den Vergleich der Ergebnisse mit den tatsächlichen Werten trainieren und testen von Daten jedoch bin ich vor ein Fehler dabei.

Mein code ist unten dargestellt:

t_pred = predict(tree,test,type="class")
t = test['class']
accuracy = sum(t_pred == t)/length(t)
print(accuracy)

Bekomme ich eine Fehlermeldung, die besagt -

Fehler in t_pred == t : der Vergleich dieser Typen ist nicht implementiert
Ergänzung: Warnung: Unverträgliche Methoden ("Ops.Faktor",
"Ops.Daten.frame") für "=="

Auf die überprüfung der Art der t_pred, fand ich heraus, dass es vom Typ integer aber die Dokumentation

(https://stat.ethz.ch/R-manual/R-devel/library/rpart/html/predict.rpart.html)

besagt, dass die predict() Methode muss wieder ein Vektor.

Ich bin nicht in der Lage zu verstehen, warum ist der Typ der variable ist eine ganze Zahl und nicht eine Liste. Wo habe ich den Fehler gemacht und wie kann ich es beheben?

InformationsquelleAutor Ar254 | 2016-10-17

Schreibe einen Kommentar