决策树模型.docx
《决策树模型.docx》由会员分享,可在线阅读,更多相关《决策树模型.docx(10页珍藏版)》请在冰豆网上搜索。
决策树模型
--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--
决策树模型(总11页)
决策树(分类与回归方法)
1.决策树模型
(1)定义:
分类决策树是一种描述对实例进行分类的树形结构
(2)组成:
节点
内部节点:
表示一个特征或者属性
叶节点:
表示一个类
有向边
(3)分类过程
从根节点开始,对实例的某一特征进行测试(特征选取)
根据测试结果,讲实例分配到其子节点(每一个子节点对应着该特征的一个取值)
递归的对实例进行测试并分配,直到叶节点
将实例分配到叶节点的类中(决策树生成)
为避免过拟合进行剪枝处理(决策树剪枝)
(4)决策树学习:
学习的本质:
从训练数据集中归纳出一组分类规则,在学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型.
决策树的构建:
构建根节点,将所有训练集都放在根节点,选择一个最优特征
按照这一特征将训练数据集分割为子集
如果这些子集能够被正确分类,构建叶节点
如果还有子集不能被正确分类
对这些子集选择新的最优特征,继续对其进行分割,构建新的节点
2.特征选择
特征选择在于选取对训练数据具有分类能力的特征,准则通常是信息增益或则信息增益比.
熵(entropy)[表示随机变量不确定性的度量]
熵越大随机变量的不确定性就越大
条件熵:
H(Y/X)表示在已知随机变量X的条件下随机变量Y得不确定性.
信息增益[表示得知特征X的信息从而得到类Y的信息的不确定性减少的程度],特征A对于训练数据集D的信息增益为g(D,A)=H(D)-H(D/A)
选择方法:
对训练数据集(子集)D,计算每个特征的信息增益,比较大小,选择信息增益最大的特征
参数:
具体算法:
输入:
训练数据集D与特征A
具体计算例子:
<统计学习方法>P62
注:
信息增益值的大小是相对于训练数据集而言的,并没有绝对意义
信息增益比:
3.决策树的生成[只考虑局部最优]
ID3算法
核心:
在决策树的各个节点上应用信息增益准则选择特征,递归的构建决策树
具体方法:
从根节点开始,对节点计算所有可能的特征的信息增益,选择信息增益最大的特征作为节点的特征,由该特征的不同取值建立子节点
再对子节点递归的应用上述方法,构建决策树
直到所有特征的信息增益很小或者没有特征可以选择为止
算法:
(用信息增益比来选取特征)
算法:
4.决策树的剪枝(解决过拟合问题)
通过极小化决策树整体的损失函数或代价函数来实现
参数:
为叶节点t上的经验熵
公式;
决策树学习的损失函数定义为:
C(T)表示模型对训练数据的预测误差,(模型与训练数据的拟合度)/T/表示模型的复杂度
5.CART算法(二叉树,内部节点只能根据属性进行二分)
CART为分类与回归树,内部节点特征的取值只有”是’与’否’
对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则,进行特征选取
回归树[对应着特征空间的一个划分以及在划分单元的输出值]
算法:
分类树
基尼指数:
[基尼指数值越大,样本的不确定性就越大]
算法:
熵与基尼指数的差别
Gini指数的计算不需要对数运算,更加高效;
Gini指数更偏向于连续属性,熵更偏向于离散属性。
6.决策树的优缺点,主要解决问题
决策树主要用来进行分类问题的处理(可以解决回归问题),主要优点是具有可读性,分类速度快.
优点:
•决策树易于理解和实现.人们在通过解释后都有能力去理解决策树所表达的意义。
•对于决策树,数据的准备往往是简单或者是不必要的.其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。
•能够同时处理数据型和常规型属性。
其他的技术往往要求数据属性的单一。
•在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
•对缺失值不敏感
•可以处理不相关特征数据
•效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。
缺点:
1)对连续性的字段比较难预测。
2)对有时间顺序的数据,需要很多预处理的工作。
3)当类别太多时,错误可能就会增加的比较快。
4)一般的算法分类的时候,只是根据一个字段来分类。
在处理特征关联性比较强的数据时表现得不是太好
适应条件:
如果不强调的解释度,尽量避免单棵决策树,用集成树模型
在集成数模型中,优先推荐使用xgboost
在中小数据集上,优先选择集成树模型。
大数据集上推荐神经网络
在需要模型解释度的项目上,优先使用树模型
在项目时间较短的项目上,如果数据质量低(大量缺失值、噪音等),优先使用集成树模型
在硬件条件有限及机器学习知识有限的前提下,优先选择树模型
连续值的处理与缺失值的处理[西瓜书P83]