| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 机器学习决策树总结 -> 正文阅读 |
|
[数据结构与算法]机器学习决策树总结 |
1、原理:决策树是一种树结构,他包括根节点,分支,叶子结点三部分,根节点表示树的一个属性,叶子表示分类的标记,分支表示输出的结果。该方法从根节点开始循环反复遍历 ,根据测试所得出的结果,将实例分配到其子节点,每个子节点都会对应该特征的一个取值,通过递归的方法,继续对实例进行测试与分配,直到到达 叶节点,最后将实例分到叶节点的类中。 2、生成树的过程: 1?? 特征选择: 方法:ID3,C4.5,CART决策树 ID3:选择信息增益大的特征,但是信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好带来的不利影响,可以通过C4.5来降低影响。 C4.5:选择信息增益率大的特征(信息增益率=信息增益/IV(a)),但是信息增益率可能对取值数目较少的属性有所偏好,因此有一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。 CART决策树:使用基尼指数来选择划分属性,直观来说,基尼指数反映了从数据集D中随机抽取两个样本,其类别标志不一样的概率,因此,基尼指数越小,则数据集D的纯度就越高。 2??决策树的生成 通过以上三种方法,可以递归的生成一颗决策树。 3??决策树的剪枝 剪枝主要是为了对付“过拟合”的问题,即模型对训练样本学的太好了,以至于把训练样本自身的一些特点当作所有数据都具备的特点,而导致了过拟合的问题,因此,可通过主动剪掉一些分支来降低过拟合的风险。 主要方法有预剪枝和后剪枝。 1)预剪枝:是指在决策树生成的过程中,对每个结点在划分前进行估计,若当前结点的划分不能带来泛化能力的提升,则停止划分,并将当前结点标记为叶子结点。 评价预剪枝: 优点:不仅降低了过拟合的风险,还显著减少了训练时间和测试时间的开销 缺点:虽然有些分支在当前的划分不能提升泛化能力,甚至导致泛化能力暂时下降,但在其基础上进行的后续划分,却有可能导致性能显著提高;预剪枝基于这种贪心的本质,禁止这些分支展开,可能会带来欠拟合的风险。 2)后剪枝:先从训练集生成一颗完整的决策树,并且自底向上的对非叶子结点进行考察,若将该结点对应的子数替换成叶子结点,能够带来泛化能力的提升,则将该子数替换成叶子结点。 评价后剪枝: 优点:后剪枝的欠拟合风险很小,泛化能力往往优于预剪枝 缺点:后剪枝是在生成完全决策树之后进行的,并且要自底向上的对决策树中所有非叶子结点进行考察,因此其训练时间开销比未剪枝决策树和预剪枝决策树都要大得多。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 16:35:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |