机器学习——决策树ID3
来源:互联网 发布:知乎提问有什么话题 编辑:程序博客网 时间:2024/04/30 01:57
一.决策树算法概述:
决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。
决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
分类树(决策树)是一种十分常用的分类方法。他是一种监管学习,所谓监管学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。
一个很直观的描述,可以见下面的图,跟数据结构里面的树很是相似的。
二,决策树的优缺点:
优点:计算复杂度度不高,输出结果易于理解,对中间值的缺失不敏感,可以理解不相关特征数据。
缺点:可能会产生过度匹配问题。
实用数据类型:数值型和标称型
三.决策树创建分支伪代码:
检测数据集中的每个子项是否属于同一分类: If so return 类标签 Else 寻找划分数据集的最好特征 划分数据集 创建分支节点 for 每个划分的子集 调用函数createBranch并增加返回结果到分支节点中 return 分支节点
四.利用到的一些公式
信息增益:
划分数据集的大原则是:将无序的数据变得更加有序。组织杂乱无章数据的一种方法就是使用信息论度量信息,信息论是量化处理信息的分支科学。在划分数据集之前之后信息发生的变化称为信息增益,知道任何计算信息增益,我们就可以计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是最好的选择。
“信息熵”是度量样本集合纯度最常用的一种指标。假定当前样本集合D中第k类样本所占的比例为pk(k = 1,2,3,..n),则D的信息熵定义为:
Ent(D)的值越小,则D的纯度越高。
假定离散属性a有V个可能的取值{a1,a2,...,an},若使用a来对样本集D进行划分,则会产生N个分支节点,其中第n个分支节点包含了D中所在属性a上取值为an的样本,记为Dn。信息增益定义为:
一般而言,信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大。
参考文献:机器学习(周志华),机器学习实战
- 机器学习——决策树ID3
- 机器学习实战——简单决策树ID3学习
- 机器学习之决策树——ID3算法简介
- 机器学习实战之 决策树——ID3算法
- Python机器学习算法实践——决策树(ID3)
- 【机器学习算法模型】分类决策树——ID3
- 机器学习实战—ch03 .决策树(ID3算法)
- 机器学习—决策树(ID3,C4.5)算法解析
- 机器学习—决策树(ID3算法)及其python实现
- 机器学习算法-决策树ID3
- 机器学习--决策树(ID3)算法
- <机器学习>ID3决策树javaDemo
- 机器学习之决策树--ID3
- 机器学习-决策树 ID3算法
- 《机器学习实战》ID3-决策树
- 《机器学习实战》学习笔记(2)—— 使用ID3算法构造决策树
- 机器学习实战学习笔记(二)分类—ID3决策树算法(python3实现)
- 决策树—ID3
- detectMITE 安装以及使用
- redis的回收策略
- FMDatabase一些基本操作
- pods常见错误
- C++ const类成员函数
- 机器学习——决策树ID3
- smack 4.1.4开发安卓的注册方法
- ccf 权限查询
- 数字游戏
- TCP滑窗管理
- & | << >> 运算符和0x
- Leetcode-42 Trapping in Rain Water
- 序列化的认识
- 使用jstl动态的显示几行几列的数据