决策树

机器学习超详细实践攻略(9):手把手带你使用决策树算法与调参

[亡魂溺海] 提交于 2020-01-17 09:46:10
决策树算法在工业中本身应用并不多,但是,目前主流的比赛中的王者,包括GBDT、XGBOOST、LGBM都是以决策树为积木搭建出来的,所以理解决策树,是学习这些算法的基石,今天,我们就从模型调用到调参详细说说决策树的使用方法。 一、什么是决策树 既然要用决策树,那么我们首先要知道决策树的基本原理。 初听到决策树这个名字的时候,我觉得他是一种最不像机器学习算法的算法。因为这不就是编程里最基本的if-else选择语句嘛,还能有多厉害? 而且我们生活中的和决策树相关的例子比比皆是,假如你出去买东西,如果价格合适,那就买下来,如果价格太高,那就和商家讨价还价,如果商家同意打折,那就买下来,如果商家不同意便宜点,那就放下东西走人。这就会构建出下图这样的一个决策树。 别急,决策树算法之所以能成为机器学习十大算法,必然有其过人之处。仔细想想,决策树算法并不是单纯地进行决策,而是通过数据集让程序学会像人一样做这一系列的决策过程。 所以决策树算法的核心是要解决两个问题: 1)如何从数据集中找出最佳分枝? 2)如何在合适的时候让决策树停止生长,防止过拟合? 几乎所有与决策树有关的模型调整方法,都逃不开这两个核心问题。 关于第一个问题,一个数据集必然给出了很多的特征,先按照哪个特征来高效地划分数据集,是决策树需要解决的最大问题。当然,我们完全可以按照特征从头到尾顺次来划分数据集,但是,这样做其实并不好

“决策树”——数据挖掘、数据分析

拟墨画扇 提交于 2020-01-16 09:03:04
“决策树”——数据挖掘、数据分析 决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。 决策树的实现首先要有一些先验(已经知道结果的历史)数据做训练,通过分析训练数据得到每个属性对结果的影响的大小,这里我们通过一种叫做信息增益的理论去描述它,期间也涉及到熵的概念。 数据挖掘 中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测(就像上面的银行官员用他来预测贷款风险)。 从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树。 一个决策树包含三种类型的节点: 1.决策节点——通常用矩形框来表式 2.机会节点——通常用圆圈来表式 3.终结点——通常用三角形来表示 决策树学习也是资料探勘中一个普通的方法。在这里,每个决策树都表述了一种树型结构,它由它的分支来对该类型的对象依靠属性进行分类。每个决策树可以依靠对源 数据库 的分割进行数据测试。这个过程可以递归式的对树进行修剪。 当不能再进行分割或一个单独的类可以被应用于某一分支时,递归过程就完成了。另外,随机森林分类器将许多决策树结合起来以提升分类的正确率。 决策树对于常规统计方法的优缺点 优点:

“决策树”——数据挖掘、数据分析

陌路散爱 提交于 2020-01-16 09:02:23
“决策树”——数据挖掘、数据分析 决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。 决策树的实现首先要有一些先验(已经知道结果的历史)数据做训练,通过分析训练数据得到每个属性对结果的影响的大小,这里我们通过一种叫做信息增益的理论去描述它,期间也涉及到熵的概念。 数据挖掘 中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测(就像上面的银行官员用他来预测贷款风险)。 从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树。 一个决策树包含三种类型的节点: 1.决策节点——通常用矩形框来表式 2.机会节点——通常用圆圈来表式 3.终结点——通常用三角形来表示 决策树学习也是资料探勘中一个普通的方法。在这里,每个决策树都表述了一种树型结构,它由它的分支来对该类型的对象依靠属性进行分类。每个决策树可以依靠对源 数据库 的分割进行数据测试。这个过程可以递归式的对树进行修剪。 当不能再进行分割或一个单独的类可以被应用于某一分支时,递归过程就完成了。另外,随机森林分类器将许多决策树结合起来以提升分类的正确率。 决策树对于常规统计方法的优缺点 优点:

决策树

泪湿孤枕 提交于 2020-01-16 09:01:53
策树法(Decision Tree) [ 编辑 ] 什么是决策树?    决策树(decision tree) 一般都是自上而下的来生成的。每个 决策 或事件(即自然状态)都可能引出两个或多个事件,导致不同的结果,把这种决策分支画成图形很像一棵树的枝干,故称决策树。   决策树就是将决策过程各个阶段之间的结构绘制成一张箭线图,我们可以用下图来表示。      选择分割的方法有好几种,但是目的都是一致的:对目标类尝试进行最佳的分割。   从根到叶子节点都有一条路径,这条路径就是一条“规则”。   决策树可以是二叉的,也可以是多叉的。   对每个节点的衡量:   1) 通过该节点的记录数   2) 如果是叶子节点的话,分类的路径   3) 对叶子节点正确分类的 比例   有些规则的效果可以比其他的一些规则要好。 [ 编辑 ] 决策树的构成要素 [1]   决策树的构成有四个要素:(1)决策结点;(2)方案枝;(3)状态结点;(4)概率枝。如图所示:      总之,决策树一般由方块结点、圆形结点、方案枝、概率枝等组成,方块结点称为决策结点,由结点引出若干条细支,每条细支代表一个方案, 称为方案枝;圆形结点称为状态结点,由状态结点引出若干条细支,表示不同的自然状态,称为概率枝。每条概率枝代表一种自然状态。在每条细枝上标明客观状态 的内容和其出现概率

决策树概念学习

老子叫甜甜 提交于 2020-01-16 09:01:17
  决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。    1、应用决策树爱作决策的过程,是从右向左逐步后退进行分析。根据右端的损益值和概率枝的概率,计算出期望值的大小,确定方案的期望结果,然后根据不同方案结果做出选择。 2、计算完毕后,开始对决策树进行剪枝,在每个决策结点删去除了最高期望值以外的其他所有分支,最后步步推进到第一个决策结点,这时就找到了问题的最佳方案。方案的舍弃叫做修枝,被舍弃的方案用"≠"的记号来表示,最后的决策点留下一条树枝,即为最优方案。 案例: 为了适应市场的需要,某地提出了扩大电视机生产的两个方案。一个方案是建设大工厂,第二个方案是建设小工厂。 条件: 建设大工厂需要投资600万元,可使用10年。销路好每年赢利200万元,销路不好则亏损40万元。 建设小工厂投资280万元,如销路好,3年后扩建,扩建需要投资400万元,可使用7年,每年赢利190万元

决策树分析

泪湿孤枕 提交于 2020-01-16 09:00:23
进行科学的决策是项目评估工作中的主要目的之一。科学的决策方法就是对比判断,亦即对拟建项目的备选方案进行比选。但是,决策存在一定的风险性,项目评估工作中的大量决策基本是属于风险型决策。 概率分析为在风险条件下决定方案取舍的方法,决策树分析也是常用的风险决策方法之一。 所谓决策树分析,就是利用概率分析原理,用树状图描述备选方案的内容、参数、状态以及在实施过程中不同阶段方案的相互关系,对方案进行系统分析和评估的方法。应用决策树分析法不仅能进行单阶段决策,而且对多阶段决策也是行之有效的。 一、决策树的结构 决策树是以方框和圆圈为结点,并有直线连接而成的一种像树形状的图形,它是由以下几个因素构成: (一)决策点与方案枝 某项决策的出发点,称为决策点,用方框"口"表示。方框内可用符号表示其为第几级决策点。 某项决策应有若干可供选择的方案,用从决策点引出的若干条直线“—”表示,叫做方案枝。在方案枝的上下侧可注明方案的含义及参数。 (二)状态结点与状态枝 方案在实施过程中由于存在风险性与不确定性,可能出现多种机会或状态,方案在各种自然状态下所能获得的结果(如收益或成本)用圆圈“○”表示,称为状态结点或机会点。 每一方案可能出现的各种状态用由状态结点引出的若干条线"—"表示,称为状态枝。各种状态的代号与概率等参数可标在状态上下侧,故又称其为概率枝。 (三)结果点与损益现值

【技术分享】GBDT算法-原理篇

ぃ、小莉子 提交于 2020-01-15 17:28:19
本文原作者:蒋凯,经授权后发布。 原文链接: https://cloud.tencent.com/developer/article/1509000 导语 :工业界机器学习大杀器解读。 GBDT是常用的机器学习算法之一,因其出色的特征自动组合能力和高效的运算大受欢迎。 这里简单介绍一下GBDT算法的原理,后续再写一个实战篇。 1、决策树的分类 决策树分为两大类,分类树和回归树。 分类树用于分类标签值,如晴天/阴天/雾/雨、用户性别、网页是否是垃圾页面; 回归树用于预测实数值,如明天的温度、用户的年龄、网页的相关程度; 两者的区别: 分类树的结果不能进行加减运算,晴天+晴天没有实际意义; 回归树的结果是预测一个数值,可以进行加减运算,例如20岁+3岁=23岁。 GBDT中的决策树是回归树,预测结果是一个数值,在点击率预测方面常用GBDT,例如用户点击某个内容的概率。 2、GBDT概念 GBDT的全称是Gradient Boosting Decision Tree,梯度提升决策树。 要理解GBDT,首先就要理解这个B(Boosting)。 Boosting是一族可将弱学习器提升为强学习器的算法,属于集成学习(ensemble learning)的范畴。Boosting方法基于这样一种思想:对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断

今天学习了一些机器学习的知识点,记录一下

强颜欢笑 提交于 2020-01-15 00:50:56
bagging 和 boosting https://www.cnblogs.com/earendil/p/8872001.html 感觉就是bagging用随机和多次来近似一个比较好的结果,bossting就是用每次的结果计算来找最好的结果 sklearn决策树相关 https://zhuanlan.zhihu.com/p/68683150?utm_source=wechat_session&utm_medium=social&utm_oi=610526923554689024 正好用决策树处理数据,感觉超参数影响挺大,但是不知道怎么选… 随机森林相关 https://blog.csdn.net/cg896406166/article/details/83796557 才在看定义,还没用过,听说效果不错 Bias 和 Variance相关 https://www.jianshu.com/p/8c7f033be58a 这个算是原来就知道的知识,不过现在结构更明朗了 来源: CSDN 作者: BraidTim 链接: https://blog.csdn.net/BraidTim/article/details/103977817

Sklearn 决策树与随机森林

荒凉一梦 提交于 2020-01-14 19:56:30
通过sklearn中的红酒训练集测试并且画树 保存到了桌面的pdf文件中,目前还没有处理中文显示问题。 from sklearn import tree from sklearn . datasets import load_wine from sklearn . model_selection import train_test_split import pandas as pd wine = load_wine ( ) wine . data . shape wine . target pd . concat ( [ pd . DataFrame ( wine . data ) , pd . DataFrame ( wine . target ) ] , axis = 1 ) wine . feature_names wine . target_names Xtrain , Xtest , Ytrain , Ytest = train_test_split ( wine . data , wine . target , test_size = 0.3 ) clf = tree . DecisionTreeClassifier ( criterion = "entropy" ) clf = clf . fit ( Xtrain , Ytrain ) score = clf .

决策树ID3、C4.5概述

余生长醉 提交于 2020-01-14 01:47:56
1.获取数据集 2.从数据集中找到最优的切分特征(离散变量)/最优切分特征和最优切分特征值(连续变量) ID3算法:信息熵/条件熵/信息增益 选择决断特征时选择信息增益最大的 信息熵:[衡量信息的复杂度] H(D) = -∑[P(i)log(p(i))]: p(i)-->第i个类别出现的概率 条件熵:[在X给定的情况下,D的条件分布的熵对X的期望] H(D|X) = ∑[p(j)H(D|X = x(j))] X-->某个特征 x(j)-->特征值 H(D|X = x(j))-->数据D中特征X的特征值等于x(j)时D中相关数据的信息熵 p(j)-->特征X的特征值等于x(j)的概率 信息增益(特征X的信息增益):[在得知特征X的条件下,使得数据D不确定性减少的程度] Gain(D,X) = H(D) - H(D|X) 备注: 信息增益是针对一个一个的特征而言的,就是看数据有他和无他时的信息熵 各是多少,两者差值就是该特征给系统带来的的信息增益 C4.5算法:以信息增益进行分类决策是,存在偏向取值较多的特征的问题, 为了解决这个问题,开发了基于信息增益比的分类决策算法,也就是说C4.5 备注: a.C4.5与ID3都是利用贪心算法进行求解 b.选取决断特征时选择信息增益比最大的 c.分裂信息度量SplitInformatioon(D,X): 备注: 1