Comme dans mon jeu de données, les fuites ont deux valeurs 1,0. Il y a environ 300 lignes avec 1 et en plus 569378 lignes sont avec 1. Ce serait la raison pour laquelle je viens d'avoir 1 racine dans le résultat rpart.
Comment puis-je resoudre ceci?
fm.pipe<-Leakage~PipeAge +PipePressure
> printcp(CART.fit)
Regression tree:
rpart(formula = fm.pipe, data = Data)
Variables actually used in tree construction:
character(0)
Root node error: 299.84/569378 = 0.00052661
n= 569378
CP nsplit rel error xerror xstd
1 0.0033246 0 1 0 0
Il peut ne pas y avoir de moyen de "résoudre" cela, si les variables indépendantes ne fournissent pas suffisamment d'informations pour faire croître l'arbre. Voir, par exemple, l'aide de rpart.control: "toute division qui ne diminue pas le manque d'ajustement global d'un facteur cp n'est pas tentée." Vous pouvez essayer de desserrer les paramètres de contrôle, mais rien ne garantit que l'arbre poussera au-delà d'une racine.
CART.fit <- rpart(formula=fm.pipe, data=Data, control=rpart.control(minsplit=2, minbucket=1, cp=0.001))
Mon jeu de données ne contient que 14 lignes. Essayez d'utiliser le code suivant:
dtm<-rpart(playtennis~., weathe_train, method="class", minsplit=2, minbucket=1)