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

R语言笔记之树模型

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

本文来源于《北美数据科学家的私房课》

树模型中几个重要定义词

分类树(预测离散型结果的树),回归树(预测连续型结果的树),分裂点,根节点,叶节点,节点的度,树的度,修剪,树枝(子树),亲节点和子节点。
(本人乌鸦之作,大家了解分类过程就好,大伙稍安勿躁~)

其中长相—-根节点(分裂点),年龄和经济状况—–分裂点,小鲜肉所在的那些节点是终节点(叶子节点),长相节点的度为2(2条树枝),整颗树的度为4(4条树枝),我们将王XX枝丫移除,就是修剪;长相是年龄和经济状况的亲节点,年龄和经济状况是长相的子节点。

分裂准则:(对于分类树(离散因变量))

Gini系数:
它用来衡量一个集合样本的杂质
例:50个学生,有25个是计算机专业。其中女生30人,5个是计算机专业,男生20人,20人都是计算机专业。
我们用性别变量对计算机专业的学生划分对应的Gini系数。
女生对应的Gini系数:1/6*5/6+5/6*1/6=5/18
男生对应的Gini系数:
0*1+1*0=0
分类总体的Gini系数:
3/5*5/18+2/5*0=1/6
原观测的基尼系数是25/50=1/2,进过性别分裂后Gini系数降至1/6,该分裂点对降低Gini系数的贡献是1/3.
信息增益:

纯度越高的节点描述起来需要的信息更少。
对系统的无序度量叫做熵,但系统内样本是一类是,熵是0,即不存在无序。如果各类样本比例是50%~50%,那么熵是1.熵越小越好!

分裂准则(对于回归树)

最小化SSE:(递归划分)
需要将数据集S分成两组S1,S2,其中S1,S2的选取需要使得整体的误差平方和达到最小。
树的修剪:
树模型需要防止过度拟合,实现方法如下:
1.对树的大小进行限制
2.对树进行修剪
通过一些参数来限制树的大小

(1)每个节点处的最小样本量(样本太大,拟合不足,样本太小,过度拟合)
(2)最大树深度(树生长的过深,也会过度拟合)
(3)最大终结点数目(类似于树深度的限定。参数通常取变量个数的平方根效果最好,不过最好在变量个数的30%~40%区间进行调优)
让树先充分生长,再回头移除一些不显著的树枝

实现方法如下:
(1)代价-复杂度调优
即在SSE基础上加上一个关于终节点数目的罚函数,通过一个调优参数控制罚函数的权重:
2) 降低误判率修剪
-将树的所有分裂点都纳入修剪的候选名单,对某个分裂点进行修剪意味着将该分裂点下的整个子树都去掉,将该节点设置为叶节点。
这里数据集被分成3个子集:
(1) 用于训练完整的树
(2) 用于修剪
(3) 用于测试最终模型
若对某个节点(分裂点)进行修剪后的树,在(2)子集上得到的准确度不小于原来完整树(2)上的精确度,那么久进行修剪,并将该节点设置为叶节点。否则保留该节点。
当子集(2)的样本量比用于训练的子集(1)少很多时,存在过度修剪的风险。
(3) 误判率-复杂度修剪
每个分裂节点对降低误判率都有前潜在作用,但节点越多,树越复杂。
这里的方法就是使者两者间权衡
计算公式如下:
a(t)可以看做子树T对应价值的衡量
该修剪过程大致如下:
1.对每个分裂点计算对应的价值度量a
2.剪去价值最低 节点
3.不断重复上面过程,产生了森林
4.在森林中选出精确度最高的树
(4) 最小化误判率修剪
这是一个自下而上的过程,目的在于寻找能够最小化模型在新数据预期误判率的树。
修剪预期误判率公式如下:
该修剪算法过程如下:
1.在树的每个非叶节点处,计算该节点修剪后的预期误判率
2.计算该节点下的子树未经修剪得到的预期误判率
3.如果修剪使得预期误判率提高,那么不修剪,否则就修剪


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
ChinaHadoop大会 2103: R语言为Hadoop注入统计血脉发布时间:2022-07-18
下一篇:
R语言学习心得(1)—RGUI与Rstudio发布时间: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