1.什么是决策树
决策树 (Decision tree) 是一种基本的分类与回归方法。它是一个树形结构,对于指定特征空间上的数据点来说,总能顺着决策树的根节点一步步分配到子节点最终到达叶节点,而叶节点表示了该数据点所属的分类。在每一次分配到子节点的过程中可以看作是对数据点中特有的特征属性值进行的 if-then 判断。
决策树可以认为是 if-then 规则的集合,也可以认为时定义在特征空间与类空间上的条件概率分布。其主要优点是模型具有可读性,分类速度快。如何得到该决策树叫做决策树学习,决策树学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型。预测试,对新的数据,利用决策树模型进行分类。
1.3 决策树发展
第一个决策树算法: CLS (Concept Learning System)
使决策树受到关注、成为机器学习主流技术的算法: ID3
最常用的决策树算法: C4.5
可以用于回归任务的决策树算法: CART (Classification and Regression Tree
基于决策树的最强大算法: RF (Random Forest)
2.决策树的结构
• 决策树由节点和分支组成。
• 节点有三种类型:根节点,内部节点和叶节点。-般的,一棵决策树包含一个根节点,若干个内部节点和若干个叶节点。
• 分支:用于连接各个节点。
• 决策树学习的目的是为了产生一棵泛化能力强的决策树
• 、2.决策树的构建
• 2.1 基本原理
• 策略:自上而下分而治之
• ●.自根至叶的递归过程, 在每个中间结点寻找一 个“划分” 属性。
• ●1)开始:构建根节点;所有训练数据都放在根节点,选择-个最优特征,按着这一特征将训练数据集分割成子集,进入子节点。
• ●2)所有子集按内部节点的属性递归的进行分割。
• ●3)如果这些子集已经能够被基本正确分类,那么构建叶节点,并将这些子集分到所对应的叶节点去。
• ●4)每个子集都被分到叶节点.上,即都有了明确的类,这样就生成了一颗决策树。
•
• 策略:分而治之”(divide- -and-conquer)
• 自根至叶的递归过程,在每个中间结点寻找一个“划分”(split or test)属性
• 三种停止条件:
• (1)当前结点包含的样本全属于同一类别,无需划分;
• (2)当前属性集为空,或是所有样本在所有属性.上取值相同,无法划分;
• (3)当前结点包含的样本集合为空,不能划分.
• 3. 决策树的本质
• 树的分类本质--轴平行分类
•
• 每个属性视为坐标空间中的一个坐标轴d个属性描述的样本就对应了d维空间中的一个数据点对样本分类===》在这个坐标空间中寻找不同类样本之间的分类边界
• 决策树的分类边界特点: 轴平行,即它的分类边界由若干个与坐标轴平行的分段组成
• 4.决策树算法总结
• 优点:
• (1)速度快:计算量相对较小,且容易转化成分类规则。只要沿着树根向下一直走到叶,沿途的分裂条件就能够唯一确定一条分类的谓词。
• (2)准确性高:挖掘出的分类规则准确性高,便于理解,决策树可以清晰的显示哪些字段比较重要。
• (3) 非参数学习,不需要设置参数。
•
• 缺点:
• (1)缺乏伸缩性:由于进行深度优先搜索,所以算法受内存大小限制,难于处理大训练集。
• (2)为了处理大数据集或连续值的种种改进算法(离散化、取样)不仅增加了分类算法的额外开销,而且降低了分类的准确性,对连续性的字段比较难预测,当类别太多时,错误可能就会增加的比较快,对有时间顺序的数据,需要很多预处理的工作。