• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言之回归树

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

参考自【数据挖掘与R语言】

rpart包可实现回归树。通常分为两步建立回归树:1.生成一棵较大的树  2.通过统计估计删除一些结点来对树进行修剪。

回归树基础实现

library(rpart)

rpart(y~.,data=data1)  参数形式与lm()函数的参数形式相同

 

 

图形化展示:

plot(rm)
text(rm)

 

rpart()函数构建树时,满足下列条件,树构建过程将结束:

1、偏差的减少小于某一个给定界限值时;

2、当结点中的样本数量小于某个给定界限时;

3、当树的深度大于一个给定的界限值

这3个界限值由rpart()函数中的三个参数(cp、minsplit、maxdepth)来确定。默认值为0.01、20、30

修剪方法

rpart包中实现了一种复杂度损失修剪的修剪方法

这个方法使用R在每个树结点计算的参数值cp,这种修剪方法试图估计cp值以确保达到预测的准确性和树的大小之间的最佳折中。

可用printcp()函数可生成回归树的一些子树,并估计这些树的性能。

 

plotcp(rm)

 

由rpart()函数建立的回归树是上面列表中的最后一个树(树9)。这个树的cp值是0.01(cp的默认值),该树包括九个测试和一个相对误差值(与根结点相比)0.354。

R应用10折交叉验证的内部过程,评估该树的平均相对误差为0.70241+0.11523

根据这些更稳健的性能估计信息,可以避免过度拟合问题。

可以看到,8号树的预测相对误差(0.67733)最小。

 

选择好的回归树的准则:

1、以估计的cp值为准则;

2、1-SE规则;这包括检查交叉验证的估计误差(xerror列)以及标准误差(xstd列)。

在这个案例中,1-SE规则树是最小的树,误差小于0.67733+0.10892=0.78625,而由1检验的2号树的估计误差为0.73358.

 

若想要选择不是R建议的树,可通过使用不同的cp值来建立这棵树:

rm2=prune(rm,cp=0.08)

  

 

 

交互的对树进行修剪:snip.rpart()

两种方式:

1、指出需要修剪的那个地方的结点号(可以通过输出树对象来得到树的结点号),返回树对象

 

2、首先在图形窗口画出回归树,然后调用没有第二参数的函数。点击结点,即在这个结点对树进行修剪。可持续执行,直到右击结束。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言eval(quote(x))和eval(x)发布时间:2022-07-18
下一篇:
拓端tecdat|在R语言中显示美丽的数据摘要summary统计信息发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap