决策树学习
学堂在线机器学习笔记
什么是决策树
决策树基本上就是把我们以前的经验总结出来。我给你准备了一个享受运动的训练集。如果我们要出门进行体育活动,一般会根据“天气”、“温度”、“湿度”、“风”这几个条件来判断,最后得到结果:去运动?还是不去?
适用于决策树学习的经典目标问题
- 带有非数值特征的分类问题
- 离散特征
- 没有相似度概念 (比如天气,阴天跟雨天跟接近还是阴天跟有雾更接近,没有明确的可度量方式)
- 特征无序 (比如男性,女性 ,不能说男性群体>女性群体)
样本表示
- 属性的列表而非数值向量
例如享受运动的例子:
6值属性:天气、温度、湿度、风、水温、预测天气
某一天的天气实例:{晴、暖、一般、强、暖、不变}
决策树-概念
经典决策树算法
经典决策树算法-ID3 流程
- 自顶向下,贪心搜索
- 递归算法 • 核心循环:
- A :下一步 最佳 决策属性
- 将 A 作为当前节点决策属性
- 对属性A (vi )的每个值,创建与其对应的新的子节点
- 根据属性值将训练样本分配到各个节点
- 如果 训练样本被完美分类,则退出循环,否则继续 下探分裂新的叶节点
这里要解决2个问题:哪个属性是最佳属性?何时返回(停止分裂)?
第一个问题:
属性选择和节点混杂度(Impurity)
- 基本原则: 简洁 —— 我们偏向于使用简