私のデータセットと同様に、Leakageには2つの値1,0があります。 1の行は約300行で、569378行の行は1です。これが、rpartの結果で1つのルートを取得した理由です。
どうすればこれを解決できますか?
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
独立変数がツリーを成長させるのに十分な情報を提供しない場合、これを「解決」する方法がない場合があります。たとえば、rpart.controlのヘルプを参照してください。「全体の適合の欠如をcpの係数で減少させない分割は試行されません。 "コントロールパラメータを緩めることもできますが、ツリーがルートを超えて成長するという保証はありません。
CART.fit <- rpart(formula=fm.pipe, data=Data, control=rpart.control(minsplit=2, minbucket=1, cp=0.001))
データセットには14行しか含まれていません。次のコードを使用してみてください:
dtm<-rpart(playtennis~., weathe_train, method="class", minsplit=2, minbucket=1)