决策树

集成学习详解

╄→гoц情女王★ 提交于 2020-03-12 11:56:14
摘要 :本文主要目的是梳理集成学习的知识体系 一、什么是集成学习? 面对一个机器学习问题,我们一般有两种方案: 1)训练不同的模型,选取一个效果最好的模型作为解决方案,进行重点调参优化 2)训练多个模型,可能每一个模型并不是最优的,但是综合考虑所有模型的输出结果,就会得到较好的最终结果 方案2便是集成学习 如果训练的多个模型是同一类型的模型(同为决策树或者神经网络等),则称该集成为“同质”的,所用算法称为“基学习算法”,每一个模型叫做“基学习器” 如果训练的多个模型非同一类型,则称该集成为“异质”的,此时不存在“基学习算法”的概念,每一个模型叫做“组件学习器”或“个体学习器”。 二、集成学习的分类 集成学习主要分为两大类,一类是bagging,另一类是boosting,他们分别对应着不同的训练和预测过程 首先我们要明确的是,不同基学习器的训练肯定对应着不同的样本分布或者不同的模型参数,如果使用同一个训练集的相同样本分布且模型参数相同(所选择模型),则集成学习没有意义。 1)在训练方面,bagging是通过对训练集的不同采样+基分类器选择不同超参数的方式进行训练,基分类器之间无强依赖,所以可以并行独自训练;boosting则是按照顺序,首先赋予样本相同的权重去训练第一个基分类器,然后根据该分类器在决策上的表现,提高该分类器分错的样本对应的权重,训练下一个基分类器

集成学习2——bagging

这一生的挚爱 提交于 2020-03-12 08:37:46
本博客仅用于记录学习知识,如有雷同请联系我 参考: https://blog.csdn.net/qq_34106574/article/details/82016442 清华大学 数据挖掘课程 1.Bagging——BootStrap Aggregation bagging是有放回的取出样本中的部分样本,进行多次这种操作得到多组样本,用这些样本训练多个分类器,然后在预测的时候,用这些分类器进行预测,用这些预测值进行投票。比如7个预测为1,3个预测为0,则总的预测值就为1。 2.典型算法 随机森林——Random Forest 随机森林就是将多个(500 <= M <= 5000)决策树集合起来得到一个森林进行决策,根据上面的定义,就是用不同的决策树进行预测,然后用这些预测进行投票。 假设有N个样本,有放回的取N个样本,这种随机抽取的方法最终 的极限是 ,而剩下的数据可以用于测试集。 当然对于这M个决策树,在测试的时候可以用到的测试集的数据是要在训练中没有用的高的数据(训练集不一样,测试集也不一样)。 如果每个样本的特征维度为K,指定一个常数k<<K,随机地从K个特征中选取k个特征子集,每次树进行分裂时,从这k个特征中选择最优的,这和决策树的特征有关 优点: 1.不需要人为的去讲数据分成测试集验证集 2.不需要担心过拟合问题,在随机森林中有多个决策树,即使有一部分树过拟合了

ML - Decision Tree

廉价感情. 提交于 2020-03-11 12:07:32
决策树是一类常见的机器学习方法,决策过程的最终结论对应了我们希望的判定结果。而决策树学习的关键是选择最优化分属性,一般而言,随着划分过程不断进行,我们希望决策树的分支节点所包含的样本尽可能属于同一类别,即节点的“纯度”越来越高。为了度量纯度,我们引入了几个概念,先从信息熵讲起 信息熵 熵是指问题内部混乱程度, 熵值越高,混乱程度越高,纯度越小 。 信息熵:是度量样本集合纯度最常用的一种指标,假定当前样本集合D中第k类样本所占的比例为pk(k=1,2,…,|Y|),则D的信息熵定义为 信息增益 假定离散属性a有V个可能的取值{a1,a2,…,av},若使a来对样本集D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为av的样本,记为Dw。考虑不同分支节点所包含的样本数不同,给分支节点赋予权重,即样本越多的分支节点的影响越大,于是计算出用属性a对样本集D进行划分所获得的信息增益 我们希望每次划分都能够使熵值降低。一般而言,信息增益越大,则意味着使用属性a来划分所获得的“纯度提升”越大,因此,我们可以用信息增益来进行决策树的划分属性选择,这就是著名的 ID3决策树 算法。 信息增益率 实际上, 信息增益对可取值数目较多的属性有所偏好 ,为减少这种偏好可能带来的不利影响,著名的 C4.5决策树 算法不直接使用信息增益,而是使用“增益率”来选择最优划分属性。

决策树代码详解——真正地一行一行来解读

假如想象 提交于 2020-03-11 03:56:18
因为决策树代码构建有点复杂,整体贴上来会显得有点难懂,所以我们在这里将从每个函数开始一点一点进行讲解,最后把这些函数按顺序复制到程序里就能运行: 首先是第一个函数:生成数据集。 def createDataSet(): dataSet = [[1, 1, 1, 'yes'], [1, 0, 1, 'yes'], [1, 0, 2, 'no'], [0, 1, 2, 'no'], [0, 1, 2, 'no'], [1, 1, 2, 'yes'], [0, 0, 2, 'yes'], [0, 1, 0, 'no'], ] labels = ['ddddd','fffff','sssss'] #change to discrete values return dataSet, labels 这个函数没啥可说的了,就是先建立一个数据集,里面每行数据代表一个样本,每个样本的前三个数据代表三个特征,第四个数据代表样本的分类。下面的标签表示每个样本的这三个特征分别是啥。这里为了省事直接用几个字母代替了。 然后是第二个函数:计算信息熵。 # 计算信息熵 def calcShannonEnt(dataSet): numEntries = len(dataSet) # 样本数 labelCounts = {} #构建一个字典 for featVec in dataSet: # 遍历每个样本

机器学习(三)——决策树(decision tree)算法介绍

喜你入骨 提交于 2020-03-08 07:55:01
0.机器学习中分类和预测算法的评估标准 准确率 速度 强壮性 可规模性 可解释性 1、什么是决策树/判定树(decision tree)? 判定树是一个类似于流程图的树结构:其中,每个内部节点表示一个属性上的测试,每个分支代表一个属性的输出,而每个树叶节点代表类或者类分布。树的最顶层是根节点。 2、机器学习中分类方法的重要算法是决策树 3、构造决策树的基本算法 3.1熵(entropy)概念 信息和抽象,如何度量? 1948年,香农提出了 ”信息熵(entropy)“的概念,一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,或者是我们一无所知的事情,需要了解大量信息==>信息量的度量就等于不确定性的多少。 用比特(bit)来衡量信息的多少 即变量的不确定性越大,熵也就越大 3.2 决策树归纳算法(ID3) 1970-1980, 选择属性判断节点: 信息获取量:Gain(A) = Info(D) - Infor_A(D) 通过A来作为节点分类获取了多少信息 举例: 根据没有任何属性来分类,数据集本身的目标类的信息值: 来源: https://www.cnblogs.com/Melvin-Dong/p/7343981.html

「资源」每天花5h来学习Hadoop+Spark大数据巨量分析与机器学习实战

落花浮王杯 提交于 2020-03-07 19:30:19
本文的主题是Hadoop+Spark大数据分析与机器学习。众所周知,Hadoop是运用最多的大数据平台,然而Spark 异军突起,与Hadoop兼容而且运行速度更快,各大公司也开始加入Spark的开发。例如,IBM公司加入Apache Spark社区,打算培育百万名数据科学家。谷歌(Google)公司与微软公司也分别应用了Spark的功能来构建服务、发展大数据分析云与机器学习平台。这些大公司的加入,也意味着未来更多公司会采用Hadoop+ Spark进行大数据的数据分析。 然而,目前市面上虽然很多大数据的书,但是多半偏向理论或应用层面的介绍,网络上的信息虽然很多,但是也很杂乱。本文希望能够用浅显易懂的原理介绍和说明,再加上上机实践操作、范例程序,来降低大数据技术的学习门槛,带领读者进入大数据与机器学习的领域。当然整个大数据的生态系非常庞大,需要学习的东西太多。希望读者通过本文的学习,有了基本的概念后,能比较容易踏入这个领域,以便继续深入与研究其他大数据的相关技术。 文档内容简介 本文档从浅显易懂的“大数据和机器学习”原理介绍和说明入手,讲述大数据和机器学习的基本概念,如:分类、分析、训练、建模、预测、机器学习(推荐引擎)、机器学习(二元分类)、机器学习(多元分类)、机器学习(回归分析)和数据可视化应用。为降低读者学习大数据技术的门槛,书中提供了丰富的上机实践操作和范例程序详解

简单粗暴理解与实现机器学习之集成学习(三):Boosting集成原理、实现过程、api介绍、GBDT、XGBoost、泰勒展开式

送分小仙女□ 提交于 2020-03-07 04:24:46
集成学习 文章目录 集成学习 学习目标 5.3 Boosting 1.boosting集成原理 1.1 什么是boosting 1.2 实现过程: 1.训练第一个学习器 2.调整数据分布 3.训练第二个学习器 4.再次调整数据分布 5.依次训练学习器,调整数据分布 **6.整体过程实现** 1.3 api介绍 2 GBDT(了解) 2.1 梯度的概念(复习) 2.2 GBDT执行流程 2.3 案例 2.4 GBDT主要执行思想 3.XGBoost【了解】 4 什么是泰勒展开式【拓展】 学习目标 了解集成学习中主要解决的两个核心任务 知道bagging集成原理 知道随机森林决策树的建立过程 知道为什么需要随机有放回(Bootstrap)的抽样 应用RandomForestClassifie实现随机森林算法 知道boosting集成原理 知道bagging和boosting的区别 了解gbdt实现过程 5.3 Boosting 1.boosting集成原理 1.1 什么是boosting 随着学习的积累从弱到强 简而言之:每新加入一个弱学习器,整体能力就会得到提升 代表算法:Adaboost,GBDT,XGBoost 1.2 实现过程: 1.训练第一个学习器 2.调整数据分布 3.训练第二个学习器 4.再次调整数据分布 5.依次训练学习器,调整数据分布 6.整体过程实现 关键点:

机器学习160道面试题

爷,独闯天下 提交于 2020-03-06 10:19:46
数据科学职位的典型面试过程会有很多轮,其中通常会涉及理论概念,目的是确定应聘者是否了解机器学习的基础知识。 在这篇文章中,我想总结一下我所有的面试经历(面试or被面试)并提出了160多个数据科学理论问题的清单。 其中包括以下主题: 线性回归 模型验证 分类和逻辑回归 正则化 决策树 随机森林 GBDT 神经网络 文本分类 聚类 排序:搜索和推荐 时间序列 这篇文章中的问题数量似乎远远不够,请记住,面试流程是根据公司的需求和你的工作经历而定的。因此,如果你的工作中没有用过时间序列模型或计算机视觉模型,就不会收到类似的问题。提示:如果不知道某些面试问题的答案,不要灰心。为了简化起见,我根据难度将问题分为三类: 👶容易 ⭐️中号 🚀专家 开始吧! 有监督的机器学习 什么是有监督学习?👶 线性回归 什么是回归?哪些模型可用于解决回归问题?👶 什么是线性回归?什么时候使用它?👶 什么是正态分布?为什么要重视它?👶 如何检查变量是否遵循正态分布?‍⭐️ 如何建立价格预测模型?价格是否正态分布?需要对价格进行预处理吗?‍⭐️ 解决线性回归的模型有哪些?‍⭐️ 什么是梯度下降?它是如何工作的?‍⭐️ 什么是正规方程?‍⭐️ 什么是SGD-随机梯度下降?与通常的梯度下降有何不同?‍⭐️ 有哪些评估回归模型的指标?👶 什么是MSE和RMSE?👶 验证方式 什么是过拟合?👶 如何验证模型?👶

160个机器学习面试题

半城伤御伤魂 提交于 2020-03-06 09:30:23
原文: https://hackernoon.com/160-data-science-interview-questions-415s3y2a Alexey Grigorev(Lead Data Scientist at OLX Group) 数据科学职位的典型面试过程会有很多轮,其中通常会涉及理论概念,目的是确定应聘者是否了解机器学习的基础知识。 在这篇文章中,我想总结一下我所有的面试经历(面试or被面试)并提出了160多个数据科学理论问题的清单。 其中包括以下主题: 线性回归 模型验证 分类和逻辑回归 正则化 决策树 随机森林 GBDT 神经网络 文本分类 聚类 排序:搜索和推荐 时间序列 这篇文章中的问题数量似乎远远不够,请记住,面试流程是根据公司的需求和你的工作经历而定的。因此,如果你的工作中没有用过时间序列模型或计算机视觉模型,就不会收到类似的问题。 提示:如果不知道某些面试问题的答案,不要灰心。为了简化起见,我根据难度将问题分为三类: 👶容易 ⭐️中号 🚀专家 开始吧! 有监督的机器学习 什么是有监督学习?👶 线性回归 什么是回归?哪些模型可用于解决回归问题?👶 什么是线性回归?什么时候使用它?👶 什么是正态分布?为什么要重视它?👶 如何检查变量是否遵循正态分布?‍⭐️ 如何建立价格预测模型?价格是否正态分布?需要对价格进行预处理吗?‍⭐️ 解决线性回归的模型有哪些?

决策树

旧街凉风 提交于 2020-03-06 05:35:06
一个 决策树 是一种 决策支持 工具,它采用了 树状 模型 的决定及其可能产生的后果,包括 偶然 事件的结果,资源成本和 效用 。它是显示仅包含条件控制语句的 算法的 一种方法。 决策树通常用于 运营研究 ,特别是 决策分析 ,以帮助确定最有可能达到 目标 的策略,但也是 机器学习中 的流行工具。 内容 1 概述 2 决策树构建块 2.1 决策树元素 2.2 决策规则 2.3 使用流程图符号的决策树 2.4 分析示例 2.5 影响图 3 关联规则归纳 4 优点和缺点 5 另见 6 参考文献 7 外部链接 概述 [ 编辑 ] 决策树是类似于 流程图 的结构,其中每个内部节点表示对属性的“测试”(例如,硬币翻转是否出现在头部或尾部),每个分支代表测试的结果,并且每个叶节点表示class label(在计算所有属性后做出的决定)。从根到叶的路径表示分类规则。 在 决策分析中 ,决策树和密切相关的 影响图 被用作视觉和分析决策支持工具,其中计算竞争备选方案的 预期值 (或 预期效用 )。 决策树由三种类型的节点组成: [1] 决策节点 - 通常由正方形表示 机会节点 - 通常由圆圈表示 结束节点 - 通常由三角形表示 决策树通常用于 运营研究 和 运营管理 。如果在实践中决策必须在线进行而不是在不完全知识下进行召回,则决策树应与 概率 模型并行作为最佳选择模型或在线选择模型 算法 。