R语言-17决策树

Python019

R语言-17决策树,第1张

是一个预测模型,分为回归决策树和分类决策树,根据已知样本训练出一个树模型,从而根据该模型对新样本因变量进行预测,得到预测值或预测的分类

从根节点到叶节点的一条路径就对应着一条规则.整棵决策树就对应着一组表达式规则。叶节点就代表该规则下得到的预测值。如下图决策树模型则是根据房产、结婚、月收入三个属性得到是否可以偿还贷款的规则。

核心是如何从众多属性中挑选出具有代表性的属性作为决策树的分支节点。

最基本的有三种度量方法来选择属性

1. 信息增益(ID3算法)

信息熵

一个信源发送出什么符号是不确定的,衡量它可以根据其出现的概率来度量。概率大,出现机会多,不确定性小;反之不确定性就大。不确定性函数f是概率P的 减函数 。两个独立符号所产生的不确定性应等于各自不确定性之和,即f(P1,P2)=f(P1)+f(P2),这称为可加性。同时满足这两个条件的函数f是对数函数,即

在信源中,考虑的不是某一单个符号发生的不确定性,而是要考虑这个信源所有可能发生情况的平均不确定性。因此,信息熵被定义为

决策树分类过程

2、增益率(C4.5算法)

由于信息增益的缺点是:倾向于选择具有大量值的属性,因为具有大量值的属性每个属性对应数据量少,倾向于具有较高的信息纯度。因此增益率使用【信息增益/以该属性代替的系统熵(类似于前面第一步将play换为该属性计算的系统熵】这个比率,试图克服这种缺点。

g(D,A)代表D数据集A属性的信息增益,

3. 基尼指数(CART算法)

基尼指数:

表示在样本集合中一个随机选中的样本被分错的概率。越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高。

假设集合中有K个类别,则:

说明:

1. pk表示选中的样本属于k类别的概率,则这个样本被分错的概率是(1-pk)

2. 样本集合中有K个类别,一个随机选中的样本可以属于这k个类别中的任意一个,因而对类别就加和

3. 当为二分类是,Gini(P) = 2p(1-p)

基尼指数是将属性A做二元划分,所以得到的是二叉树。当为离散属性时,则会将离散属性的类别两两组合,计算基尼指数。

举个例子:

如上面的特征Temperature,此特征有三个特征取值: “Hot”,“Mild”, “Cool”,

当使用“学历”这个特征对样本集合D进行划分时,划分值分别有三个,因而有三种划分的可能集合,划分后的子集如下:

对于上述的每一种划分,都可以计算出基于 划分特征= 某个特征值 将样本集合D划分为两个子集的纯度:

决策数分类过程

先剪枝 :提前停止树的构建对树剪枝,构造树时,利用信息增益、统计显著性等,当一个节点的划分导致低于上述度量的预定义阈值时,则停止进一步划分。但阈值的确定比较困难。

后剪枝 :更为常用,先得到完全生长的树,再自底向上,用最下面的节点的树叶代替该节点

CART使用代价复杂度剪枝算法 :计算每个节点剪枝后与剪枝前的代价复杂度,如果剪去该节点,代价复杂度较小(复杂度是树的结点与树的错误率也就是误分类比率的函数),则剪去。

C4.5采用悲观剪枝 :类似代价复杂度,但CART是利用剪枝集评估代价复杂度,C4.5是采用训练集加上一个惩罚评估错误率

决策树的可伸缩性

ID3\C4.5\CART都是为较小的数据集设计,都限制训练元祖停留再内存中,为了解决可伸缩性,提出了其它算法如

RainForest(雨林):对每个属性维护一个AVC集,描述该结点的训练元组,所以只要将AVC集放在内存即可

BOAT自助乐观算法:利用统计学,创造给定训练数据的较小样本,每个样本构造一个树,导致多颗树,再利用它们构造1颗新树。优点是可以增量的更新,当插入或删除数据,只需决策树更新,而不用重新构造。

决策树的可视化挖掘

PBC系统可允许用户指定多个分裂点,导致多个分支,传统决策树算法数值属性都是二元划分。并且可以实现交互地构建树。

rpart是采用cart算法,连续型“anova”离散型“class”

2)进行剪枝的函数:prune()

3)计算MAE评估回归树模型误差,这里将样本划分成了训练集和测试集,testdata为测试集

rt.mae为根据训练集得到的决策树模型对测试集因变量预测的结果与测试集因变量实际值得到平均绝对误差

play的意思有:比赛;游戏;演出;装扮 ;充当…的角色;玩耍; 演奏等。play是一个英语单词,名词、动词,作名词时意思是“游戏;比赛;剧本”,作及物动词时意思是“游戏;扮演;演奏;播放;同…比赛”,作不及物动词时意思是“演奏;玩耍;上演;参加比赛”。

play的含义:

n.比赛;游戏;戏剧;赌博;活动空间;间隙;轻快的活动。

vt.&vi.玩;演奏;演出;参加比赛。

vt.扮演;担任,充当…的角色;演出;装扮。

vi.玩耍,游戏;[游戏] 参加游戏;赌博;闹着玩。

双语例句:

1、With whom do you play?

你喜欢和谁一起玩?

2、They play with me.

他们和我一起玩。

3、You, she and I should work together and play together.

你、我和她应当共同工作、一起玩耍。

plays。

一、play 英 [pleɪ]     美 [pleɪ]    

v. 玩;比赛;(在运动队中)担当;派...出场;带;踢;击(球);走(棋子);出牌;演奏;播放;扮演;假装;上演;发挥(作用);应付;处理;掠过;浮现;使轻快地活动;(喷泉)喷涌;做游戏

n. 游戏;戏剧;比赛;发挥作用;玩笑;间隙;闪烁;闪现

二、用法

1、play可用作及物动词,也可用作不及物动词。用作及物动词时接表示球或乐器等名词、代词或that从句作宾语。有时还可接双宾语,其间接宾语可转化成介词to或for的宾语,还可接由“(as+) n./adj. ”充当补足语的复合宾语。可用于被动结构。play还可用作系动词,后接形容词或名词作表语。

2、当play后接名词用于演出中作“扮演”解时,一般析为及物动词作“假装…玩”解时,常析为系动词。

3、play作“玩,玩耍”解时一般用于儿童,而很少用于成年人。当play作“演奏”解时,不用于打击乐器(如锣、鼓等)。

4、play后接表示球类或牌等名词时,其前不加冠词the而接乐器时则必须加冠词the,在美式英语中the有时也可以省略。当play用于一般现在时时,宾语前不加冠词,表示经常或定期进行某项娱乐或活动。

5、play的进行体可表示按计划或安排即将发生的动作,此时句中一般伴有表示将来时间的状语或特定的上下文。

6、在非正式书面语体中, play有时能以表示乐器的名词作主语,作“演奏”解,其主动形式含有被动意义。

7、play通常用作不可数名词,但在作“比赛的动作或技巧”解时可用作可数名词,一般其前都有一个形容词修饰。play作“戏剧,剧本”解时可用作可数名词。

8、play单用时,表示“玩某种游戏”,有时可说play (at),如play (at) football。

9、play单用时,还可表示“游玩”,但只限用于儿童,不可以用在成人身上。

10、play with表示“玩(某物)”,如play with a ball。

11、表示“弹奏(乐器)”,现习惯上但用play,而不是play (up)on,如play the violin。

扩展资料

play近义词

一、performance 英 [pə'fɔːməns]     美 [pər'fɔːrməns]    

n. 表演;实行;表现;履行;性能;本事;业绩

示例:Performance is less important than reliability in a car.

汽车的可靠性比其机械性能更重要。

二、challenge 英 ['tʃælɪndʒ]     美 ['tʃælɪndʒ]    

n. 挑战;邀请比赛;盘问;质疑

v. 向 ... 挑战;盘问;质疑

示例:I did not think he was right, so I challenged him.

我认为他是不对的,因此向他提出质询。