Frage

Wenn rpart Funktion unter Verwendung von R, kann ich leicht ein Modell mit ihm passen. zum Beispiel:

# Classification Tree with rpart
library(rpart)

# grow tree 
fit <- rpart(Kyphosis ~ Age + Number + Start,
     method="class", data=kyphosis)

printcp(fit) # display the results 
plotcp(fit) 
summary(fit) # detailed summary of splits

# plot tree 
plot(fit, uniform=TRUE, 
     main="Classification Tree for Kyphosis")
text(fit, use.n=TRUE, all=TRUE, cex=.8)

Meine Frage ist - Wie kann ich die „Bedeutung“ von jedem meiner drei erklärenden Variablen (Alter, Anzahl, Start) zum Modell messen?

Wenn dies ein Regressionsmodell war, konnte ich auf p-Werten aus dem „Anova“ F-Test (zwischen lm Modellen mit und ohne Variable) sieht. Aber was ist die Gleichwertigkeit der Verwendung von „anova“ auf lm zu einem rpart Objekt?

(Ich hoffe, ich es geschafft, meine Frage klar zu machen)

Danke.

War es hilfreich?

Lösung

Natürlich anova wäre unmöglich, da anova beinhaltet die gesamte Variation in der Reaktionsvariable Berechnung und Partitionieren es in informativen Komponenten (SSA, SSE). Ich kann nicht sehen, wie man die Summe der Quadrate für eine kategorische Variable wie Kyphosis berechnen könnte.

Ich denke, dass Sie eigentlich, was im Gespräch über Attribut Auswahl (oder Auswertung). Ich würde die information gain Maßnahme beispielsweise verwenden. Ich denke, dass das ist, was verwendet wird, um das Test-Attribut an jedem Knoten im Baum und das Attribut mit dem höchsten Informationsgewinn (oder größter Entropie Reduktion), um für den aktuellen Knoten als Test Attribut ausgewählt wird. Dieses Attribut minimiert die erforderlichen Informationen, um die Proben in den resultierenden Partitionen zu klassifizieren.

Ich bin mir nicht bewusst, ob es eine Methode des Rang Attribute entsprechend ihren Informationsgewinn in R, aber ich weiß, dass es in WEKA und gestattet InfoGainAttributeEval Er wertet den wert eines Attributs durch den Informationsgewinn in Bezug auf die Klasse zu messen. Und wenn Sie Ranker als Search Method verwenden, werden die Attribute, die von ihren individuellen Auswertungen eingestuft.

Bearbeiten Schließlich fand ich einen Weg, dies in R zu tun Bibliothek CORElearn mit

estInfGain <- attrEval(Kyphosis ~ ., kyphosis, estimator="InfGain")
print(estInfGain)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top