导图社区 决策树
决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。
这是一篇关于MYSQL-进阶篇(一)的思维导图,包含存储引擎、索引、SQL优化等内容。希望对你有所帮助!
这是一篇关于MYSQL-基础篇(二)的思维导图,包含约束、 多表查询、窗口函数、事务等。有需要的朋友赶紧收藏吧!
这是一篇关于MYSQL-基础篇(一)的思维导图,MySQL是一个流行的关系型数据库管理系统(RDBMS),使用SQL(结构化查询语言)作为其主要的查询语言。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
决策树
简介
思想:决策树是一种类似于流程图的树形结构,采用贪心算法的思想,确保每一次的划分选择当前最优。叶子节点为分类结果,其他节点为属性划分节点。
图解:
决策树算法需考虑的几个问题
决策树的深度如何确定?
方法一:经验法则(随便设置)
方法二:准确率(准确率低就提高深度,反之亦然)
方法三:叶子节点的样本数量(数量多就提高深度,反之亦然)
决策树的属性节点如何划分?
方法一:ID3算法
方法二:C4.5算法
方法三:CART算法
决策树的叶子节点代表的分类结果如何计算?
分类:计算众数
回归;计算均值
针对属性划分方式的深入探讨
ID3算法(已被我淘汰)
算法思想:采用信息增益度量属性划分好坏
计算公式:Gain(A)=Info(D)-InfoA(D),即数据集D划分前的信息熵-数据集按属性A划分后的信息熵=信息增益
总结:信息增益越大,划分属性越优秀
显著缺点:某一属性值的样本数量过多严重影响模型准确度
C4.5算法
算法思想:采用信息增益率度量属性划分好坏
计算公式:GainRate(A)=Gain(A)/SplitInfoA(D),即数据集D按属性A划分后的信息增益/分裂信息=信息增益率(减少某一属性值的样本数量过多带来的影响)
总结:信息增益率越大,划分属性越优秀
显著缺点:速度缓慢(对数运算+排序运算)且只能用于分类
CART算法
算法思想:采用Gini系数度量属性划分好坏
计算公式:detaGini(A)=Gini(D)-GiniA(D),即数据集D划分前的基尼系数-数据集按属性A划分后的基尼系数=deta基尼系数(不纯度)
总结:deta基尼系数越大,划分属性越优秀
决策树算法的共同缺点
模型易过拟合
忽略属性间的相关性
数据不平衡严重影响准确度
决策树的优化
如何解决过拟合问题?
预剪枝
定义:在决策树生成过程中,对每个划分节点进行评估,如果不能带来性能提升就停止划分
缺点:容易导致欠拟合
后剪枝
定义:先生成完整决策树,再自底向上对非叶结点进行考察,若替换成叶结点能带来性能提升则将子树替换为叶结点
缺点:训练耗费大量时间
如何解决数据不平衡问题?
数量规约:样本基数大的降采样,样本基数小的升采样
权值调整:降低基数大的样本权重,提升基数小的样本权重
如何解决属性相关性被忽略的问题?
貌似是决策树算法本身的缺陷,无法解决
CART树分类
属性划分方式采用基尼系数(基尼系数越小,划分属性越优秀)
损失函数=C(T)+α|T|,即训练误差与节点总数的线性平衡
CART树回归
属性划分采用方差(方差越小,划分属性越优秀)
损失函数=MSE