J'ai formé un arbre de décision de classification de ctree de paquet de partykit et j'ai besoin de calculer des probabilités de classification pour le sub tree (pas seulement pour des nœuds de feuille). Ainsi, par exemple si un arbre secondaire est constitué par 3 noeuds de feuille avec les probabilités suivantes: feuille 1 (120 observations): 0,45 feuille 2 (160 observations): 0,49 feuille 3 (190 observations): 0,83R partykit calculer les probabilités de classification sur sub stree
pour ce sous-arbre hypothétique la probabilité moyenne pondérée serait 120 * 0,42 + 160 * 0,49 + 190 * 0,83/(120 + 160 + 190) = 0,507
et ainsi de suite je dois traverser sur l'objet ctree et calculer tout probabilités pondérées pour chaque nœud récursivement.
Je possède ce 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)
}
qui traversent sur l'arbre ne fonctionne pas sur l'objet de partykit. D'autre part, j'ai ce code, qui énumère tous les porbabilities pour les nœuds de feuilles seulement:
preds.ls <- list(predict(airct , type = "prob"))[1]
pred.probs.df <- unique(as.data.frame((preds.ls[[1]])))
Toute suggestion de combiner ces 2 extraits à un code qui traversera sur un objet PARTYKIT et calculer cette moyenne pondérée sont appréciés
Ce n'est pas très clair pour moi ce que je veux exactement faire car le code tel qu'il est posté contient quelques erreurs. Cependant, je pense que cette réponse vous aidera à faire ce que vous voulez (ou poser une question plus précise): http://stackoverflow.com/questions/41968910/r-extracting-inner-node-information-and-splits-from -ctree-partykit/41976697 # 41976697 –