最近公司在培训,学习之余遇到的问题写篇博客记录下
文章内容来自其他博客以及个人理解
决策树可以用于分类也可以用于回归分析
分类决策树模型是描述实例的特征并分类的一种树形结构,结构分为内部节点和也节点,内部节点表示特征,叶节点表示结果
拿相亲来说,决策树模型就是下图这个,长方形为这个人的某个特征,内部节点就是这个长方形,是其特征;叶节点是椭圆,就是其得到的结果,是备胎还是值得考虑。而特征也是一个分类的规则条件。是将它继续划分到哪一边。每一个特征都会影响这个决策树分类的结果。
决策树的构建过程要分为3个步骤:
特征选择
决策树的生成
决策树的修剪
使用决策树做预测需要一下过程:
- 收集数据:可以使用任何方法。比如想构建一个相亲系统,我们可以从媒婆那里,或者通过采访相亲对象获取数据。根据他们考虑的因素和最终的选择结果,就可以得到一些供我们利用的数据了。
- 准备数据:收集完的数据,我们要进行整理,将这些所有收集的信息按照一定规则整理出来,并排版,方便我们进行后续处理。
- 分析数据:可以使用任何方法,决策树构造完成之后,我们可以检查决策树图形是否符合预期。
- 训练算法:这个过程也就是构造决策树,同样也可以说是决策树学习,就是构造一个决策树的数据结构。
- 测试算法:使用经验树计算错误率。当错误率达到了可接收范围,这个决策树就可以投放使用了。
- 使用算法:此步骤可以使用适用于任何监督学习算法,而使用决策树可以更好地理解数据的内在含义。
1.特征选择:
特征选择就是选取具有分类能力的特征,如果某个特征对本次分类不会产生影响或则说产生的影响很低,那么我们就可以选择抛弃这个特征。这个特征就是没有分类能力的,无用特征。而在选取特征上,有一个方法就是计算某个特征的信息增益,然后看其信息增益的大小,越大的说明它对本次分类结果影响越大,反之亦然。
这里有一个实例,就是贷款申请的样本数据:
这次我们通过说给的数据学习一个贷款申请的决策树,用于对未来某个客户提出申请贷款时,我们可以根据这个人的一些特征数据考虑是否给这个人贷款。
特征选择就是决定用哪个特征来划分特征空间。比如,我们通过上述数据表得到两个可能的决策树,分别由两个不同特征的根结点构成。
图(a)所示的根结点的特征是年龄,有3个取值,对应于不同的取值有不同的子结点。图(b)所示的根节点的特征是工作,有2个取值,对应于不同的取值有不同的子结点。两个决策树都可以从此延续下去。问题是:究竟选择哪个特征更好些?这就要求确定选择特征的准则。直观上,如果一个特征具有更好的分类能力,或者说,按照这一特征将训练数据集分割成子集,使得各个子集在当前条件下有最好的分类,那么就更应该选择这个特征。信息增益就能够很好地表示这一直观的准则。
什么是信息增益呢?在划分数据集之后信息发生的变化称为信息增益,知道如何计算信息增益,我们就可以计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是最好的选择。
##(1)香农熵(经验熵)
###简单介绍下香农熵:
一条信息的信息量大小和它的不确定性有直接关系,如果需要搞清楚一件非常不确定或者一无所知的事情 ,就需要大量信息;相反如果我们已经很了解某件事,那么不需要太多信息就能搞清楚。所以我们可以认为,信息量的度量等于不确定性的多少。P(x)是不同节点的概率
假如马上要举行世界杯赛了,大家都很关心谁会是冠军。当每个球队夺冠的可能性(概率)不等时,香农指出,它的准确信息量应该是= -(p1*log p1 + p2 * log p2 + ... +p32 *log p32),其中,p1,p2 , ...,p32 分别是这 32 个球队夺冠的概率。香农把它称为“信息熵” (Entropy)
###回归正题: