为什么我的拟合和修剪的树有相同的 mae

问题描述

我有一些数据,我尝试使用回归树方法来预测 Y。我的拟合和修剪树得到了相同的 MAE。正因为如此,我开始怀疑了。他们可以有相同的 MAE 还是我的代码错误?任何人都可以帮忙吗?

在将某些列选择到我的变量中之前,我应该 na.omit 吗?现在我选择了某些列变量,然后我做了 na.omit。这些程序给出了不同的结果。

我想做 80/20 分割。我的代码在这些方面是否正确?

SP500_annual <- read_excel(XXXX)
sp <- SP500_annual
sp <- sp[,c(17,20,25,35,59,69:72,89,103:104,94)]
sp <- na.omit(sp)
set.seed(123)
train<- sp %>% mutate(id = row_number()) %>% sample_frac(.8,replace = F)
test <- sp %>% mutate(id = row_number()) %>% anti_join(train,by = 'id')
fit <- rpart(close_ave~.,data = train,method = "anova",control = rpart.control(minsplit =20))
printcp(fit)
rsq.rpart(fit)
plotcp(fit)
summary(fit)
plot(fit,uniform = TRUE,main="Regression Tree for SP500")
text(fit,use.n = TRUE,all=TRUE,cex=0.6)
pruned.fit <- prune(fit,cp=fit$cptable[which.min(fit$cptable[,"xerror"]),"CP"])

pic<- plot(pruned.fit,main="Pruned Regression Tree for SP500")
texprune <- text(pruned.fit,all = TRUE,cex=0.7)

mae1 <- mean(abs(test$close_ave-predict(fit,newdata=test)))
mae2 <- mean(abs(test$close_ave-predict(pruned.fit,newdata=test)))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)