Ich habe ein Partykit-Paket ctree Klassifizierung Entscheidungsbaum trainiert und ich muss Klassifikationswahrscheinlichkeiten für Unterbaum (nicht nur für Blattknoten) berechnen. So zum Beispiel, wenn ein Teilbaum besteht aus 3 Blattknoten mit den folgenden Wahrscheinlichkeiten: Blatt 1 (120 Beobachtungen): 0.45 Blatt 2 (160 Beobachtungen): 0,49 Blatt 3 (190 Beobachtungen): 0,83R Partykit berechnen Klassifikationswahrscheinlichkeiten auf Sub-stree
für In diesem hypothetischen Subbaum wäre die gewichtete Durchschnittswahrscheinlichkeit 120 * 0,42 + 160 * 0,49 + 190 * 0,83/(120 + 160 + 190) = 0,507
usw. Ich muss auf dem ctree-Objekt traversieren und alles berechnen gewichtete Wahrscheinlichkeiten für jeden Knoten rekursiv.
Ich habe diesen Code:
data(airquality)
airq <- subset(airquality, !is.na(Ozone))
airct <- ctree(Ozone ~ ., data = airq,
controls = ctree_control(maxsurrogate = 3))
traverse <- function(treenode){
if(treenode$terminal){
bas=paste("Current node is terminal node with",treenode$nodeID,'prediction',treenode$prediction)
print(bas)
return(0)
} else {
bas=paste("Current node",treenode$nodeID,"Split var. ID:",treenode$psplit$variableName,"split value:",treenode$psplit$splitpoint,'prediction',treenode$prediction)
print(bas)
}
traverse(treenode$left)
traverse(treenode$right)
}
, die auf dem Baum durchqueren nicht auf partykit Objekt arbeiten. Auf der anderen Seite ich diesen Code haben, der nur alle porbabilities für Blattknoten enthält:
preds.ls <- list(predict(airct , type = "prob"))[1]
pred.probs.df <- unique(as.data.frame((preds.ls[[1]])))
Irgendwelche Vorschläge, diese 2-Schnipsel zu einem Code zu kombinieren, die auf einem PARTYKIT Objekt durchlaufen wird und diese gewichtete Durchschnitt berechnen werden geschätzt
Es ist mir nicht ganz klar, was genau zu tun ist, da der gepostete Code einige Fehler enthält. Ich denke jedoch, dass diese Antwort Ihnen helfen wird, das zu tun, was Sie wollen (oder eine genauere Frage stellen): http://stackoverflow.com/questions/41968910/r-extracting-inner-node-information-and-splits-from -ctree-partykit/41976697 # 41976697 –