决策树

用Python可视化决策树【Matplotlib/Graphviz】

筅森魡賤 提交于 2020-04-06 17:40:20
决策树是一种流行的有监督学习方法。决策树的优势在于其既可以用于回归,也可以用于分类,不需要特征缩放,而且具有比较好的可解释性,容易将决策树可视化。可视化的决策树不仅是理解你的模型的好办法,也是向其他人介绍你的模型的运作机制的有利工具。因此掌握决策树可视化的方法对于数据分析工作者来说非常重要。 机器学习相关教程: TensorFlow实战 | 机器学习基础 | 深入浅出Flask | Python基础 在这个教程里,我们将学习以下内容: 如何使用scikit-learn训练一个决策树模型 如何使用Matplotlib将决策树可视化 如何使用Graphviz将决策树可视化 如何将随机森林或决策树包中的单个决策树可视化 教程的代码可以从 这里 下载。现在让我们开始吧。 1、用scikit-learn训练决策树模型 为了可视化决策树,我们首先需要用scikit-learn训练出一个决策树模型。 首先导入必要的Python库: import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.datasets import load_breast_cancer from sklearn.tree import DecisionTreeClassifier from sklearn

Kaggle竞赛入门(一):决策树算法的Python实现

心已入冬 提交于 2020-04-06 17:27:32
本文翻译自kaggle learn,也就是kaggle官方最快入门kaggle竞赛的教程,强调python编程实践和数学思想(而没有涉及数学细节),笔者在不影响算法和程序理解的基础上删除了一些不必要的废话,毕竟英文有的时候比较啰嗦。 一.决策树算法基本原理 背景:假设你的哥哥是一个投资房地产的大佬,投资地产赚了很多钱,你的哥哥准备和你合作,因为你拥有机器学习的知识可以帮助他预测房价。你去问你的哥哥他是如何预测房价的,他告诉你说他完全是依靠直觉,但是你经过调查研究发现他预测房价是根据房价以往的表现来进行预测的,作为一个机器学习编程者,正好也可以以往的房价进行未来房价的预测。机器学习当中有一个决策树的算法,可以用于未来房价的预测,这个模型是这样的,如下所示: 第一行的第一框表示程序的流程图:"如果房子里超过了2个卧室"则执行yes,不是的话则执行“No”,执行yes之后,我们就对它进行预测后的房价是188000刀,执行“no”之后的预测房价则是178000刀,这就是一个简单的决策树。一个条件只有是和否两个分支,但是能不能让这个模型更加合理一点呢?因此我们拟合出了第二个模型,如下图所示: 可以从中看到,除了考虑房子里拥有的房间数量,第二个statement(条件)还考虑到了房子的总面积是多大,接着再根据房间的总面积大小进行预测。得到预测的房价也就是prediccted price

监督学习算法

你。 提交于 2020-04-06 10:04:43
本文首发自公众号: RAIS ,点击直接关注。 前言 本系列文章为 《Deep Learning》 读书笔记,可以参看原书一起阅读,效果更佳。由于各平台 Markdown 解析差异,有些公式显示效果不好,请到我 个人维护网站 查看。 监督学习算法 监督学习算法的定义是,给定一组输入 x 和输出 y,学习如何将其关联起来,现在的大部分情况都是监督学习算法的范畴。 逻辑回归 很多的监督学习算法是基于估计概率分 布P(y|x) 的,假设参数服从高斯分布,我们可以使用最大似然估计找到对于有参分布族 P(y|x;θ) 最好的参数向量 θ,即用最大似然估计得到目标函数,优化这个目标函数。线性回归对应于高斯分布分布族,通过定义一族不同的概率分布,可将线性回归扩展到分类情况中。 具体的做法就是将线性函数的输出使用 sigmoid 函数(就是前文说的那个样子像 S 型)将其压缩到 (0, 1) 空间内,这就叫做逻辑回归。注意这个逻辑回归不是回归,而是用来解决分类问题。当然,线性回归也可以推广为 Softmax 回归,不是这里的重点。 支持向量机 支持向量机是监督学习中关于分类与回归问题中重要的算法。与逻辑回归类似,这个模型也是基于线性函数的,不过输出有所不同,不输出概率,而是输出类别,为正正类,为负负类。 核技巧,其实这是一个数学上的概念,用来增加维度区分不同数据,如下图,区分下图中左侧的四个点

GBDT回归树过程详解

百般思念 提交于 2020-04-06 09:53:18
GBDT回归树过程详解 转载 简单点1024 最后发布于2018-04-11 22:56:46 阅读数 10281 收藏 展开 综述 GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力较强的算法。   GBDT中的树是回归树(不是分类树),GBDT用来做回归预测,调整后也可以用于分类。   GBDT的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合。业界中,Facebook使用其来自动发现有效的特征、特征组合,来作为LR模型中的特征,以提高 CTR预估(Click-Through Rate Prediction)的准确性(详见参考文献5、6);GBDT在淘宝的搜索及预测业务上也发挥了重要作用(详见参考文献7)。 一、Regression Decision Tree:回归树 回归树总体流程类似于分类树,区别在于,回归树的每一个节点都会得一个预测值,以年龄为例,该预测值等于属于这个节点的所有人年龄的平均值。分枝时穷举每一个feature的每个阈值找最好的分割点,但衡量最好的标准不再是最大熵,而是最小化平方误差。也就是被预测出错的人数越多

数据仓库学习

半腔热情 提交于 2020-04-06 05:47:28
第一部分 导论 第1章 商业数据挖掘简介  1.1 介绍  1.2 进行数据挖掘需要什么  1.3 数据挖掘  1.4 集聚营销  1.5 商业数据挖掘  1.6 数据挖掘工具 第2章 数据挖掘过程与知识发  2.1 CRISP-DM  2.2 知识发现过程 第3章 数据挖掘的数据库支持  3.1 数据仓库  3.2 数据集市  3.3 联机分析处理  3.4 数据仓库的实现  3.5 元数据  3.6 系统示范  3.7 数据质量  3.8 软件产品  3.9 实例 第二部分 数据挖掘工具 第4章 数据挖掘方法概述  4.1 数据挖掘方法  4.2 数据挖掘视野  4.3 数据挖掘的作用  4.4 实证数据集 附录4A 第5章 聚类分析  5.1 聚类分析  5.2 聚类分析的描述  5.3 类数量的变动  5.4 聚类分析的运用  5.5 在软件中使用聚类分析  5.6 大数据集的方法运用  5.7 软件产品 附录5A 第6章 数据挖掘中的回归算法  6.1 回归模型  6.2 逻辑回归  6.3 线性判别分析  6.4 数据挖掘中回归的实际应用  6.5 大样本数据集的模型应用 第7章 数据挖掘中的神经网络  7.1 神经网络  7.2 数据挖掘中的神经网络  7.3 神经网络的商业应用  7.4 神经网络应用于大样本数据集  7.5 神经网络产品 第8章 决策树算法  8

什么是判别式和生成式模型?

人盡茶涼 提交于 2020-04-06 03:33:55
判别方法 :由数据直接学习 决策函数 Y=f(X),或者由条件分布概率P(Y|X)作为预测模型为判别模型。 常见的 判别模型 有线性回归、boosting、SVM、决策树、感知机、线性判别分析(LDA)、逻辑斯蒂回归等算法。 生成方法 :由数据学习x和y的 联合概率密度分布函 数P(Y,X),然后通过贝叶斯公式求出条件概率分布P(Y|X)作为预测的模型为生成模型。 常见的 生成模型 有朴素贝叶斯、隐马尔科夫模型、高斯混合模型、文档主题生成模型(LDA)等。 举例 : 判断一个动物是大象还是猫,记住大象是长鼻子就可以判别出哪个是大象,将大象和猫画出来与动物进行对比,那个像就是那个。 人工智能更多面试问题关注公众号: 我们都是码农 (allmanong),或者扫描下方二维码! 来源: oschina 链接: https://my.oschina.net/u/4354590/blog/3220630

什么是判别式和生成式模型?

别来无恙 提交于 2020-04-06 01:50:11
判别方法 :由数据直接学习 决策函数 Y=f(X),或者由条件分布概率P(Y|X)作为预测模型为判别模型。 常见的 判别模型 有线性回归、boosting、SVM、决策树、感知机、线性判别分析(LDA)、逻辑斯蒂回归等算法。 生成方法 :由数据学习x和y的 联合概率密度分布函 数P(Y,X),然后通过贝叶斯公式求出条件概率分布P(Y|X)作为预测的模型为生成模型。 常见的 生成模型 有朴素贝叶斯、隐马尔科夫模型、高斯混合模型、文档主题生成模型(LDA)等。 举例 : 判断一个动物是大象还是猫,记住大象是长鼻子就可以判别出哪个是大象,将大象和猫画出来与动物进行对比,那个像就是那个。 人工智能更多面试问题关注公众号: 我们都是码农 (allmanong),或者扫描下方二维码! 来源: oschina 链接: https://my.oschina.net/u/4287823/blog/3220620

数据挖掘-决策树 Decision tree

≯℡__Kan透↙ 提交于 2020-04-04 11:31:30
数据挖掘-决策树 Decision tree 目录 数据挖掘-决策树 Decision tree 1. 决策树概述 1.1 决策树介绍 1.1.1 决策树定义 1.1.2 本质 1.1.3 决策树的组成 1.1.4 决策树的分类 1.1.5 决策过程 1.2 决策树的优化 1.2.1 过拟合 1.3.1 剪枝 2. 理论基础 2.1 香农理论 2.1.1 信息量 2.1.2 平均信息量/信息熵 2.1.3 条件熵 2.1.4 信息增益(Information gain) 2.1.5 信息增益率 (Information Gain Ratio) 2.1.6 基尼系数 3. 决策树算法 3.1 ID3算法 3.1.1 ID3算法简述 3.1.2 熵值对决策的影响 3.1.3 算法思想 3.1.4 递归返回条件 3.1.5 算法步骤 3.1.6 ID3算法缺点 3.2 C 4.5 算法 3.2.1 为什么采用C 4.5 算法? 3.2.2 C4.5对以上缺点的改进 3.2.3 算法思想 3.2.4 算法步骤 3.2.6 决策树C4.5算法的不足与改进 3.3 CART分类/回归树 3.3.1 为什么引入CART分类/回归树 3.3.2 结点选择标准 3.3.3 CART分类树算法对连续特征和离散特征的处理 3.3.4 CART分类树算法思想 3.3.6 CART剪枝 4. 总结 4.1

《机器学习》(西瓜书)摘要 - 未完结

霸气de小男生 提交于 2020-04-03 20:52:11
第一章 <待更> 第二章 模型评估与选择 1,经验误差与过拟合 训练集上产生的误差成为训练误差或者经验误差;由于泛化误差不可知,故用经验误差来衡量泛化误差。 应适当允许经验误差;不是越小越好,太小,则易过拟合;太大,则欠拟合; 2,模型评估方法 评估学习器泛化误差,所用的测试集,要尽可能与训练集互斥。从数据集中产生训练集与测试集的方法有: 留出法 (Hold-out):分层采样,直接将数据集分成互斥的两个集合,一个作为训练集,一个作为测试集。 若干次随机划分,多次重复后取均值;训练集与数据集大小的妥协:2/3~4/5用于训练。 交叉验证法 (Cross Validation):先将数据集划分为k个大小相同的互斥子集(仍然分层采用),然后每次用k-1个子集的并集作为训练集,另一个作为测试集,进行k次,最终返回k个测试结果的均值。 特例:留一法(leave-one-out),特点: 评估准确,但开销太大。 自助法 (Bootstrap):以自助采样法为基础,每次随机从数据集D中挑选一个样本,将其拷贝放入数据集D`;重复m次,就得到含有m个样本的训练集D`。D\D`作为测试集。 Bagging和随机森林基于此。 3, 性能度量 错误率与精度 查准率和查全率: P-R曲线。 ROC和AUC:ROC是假正例率和真正例率的曲线;AUC:Area Under ROC Curve. 第四章 决策树

随机森林学习笔记

蓝咒 提交于 2020-04-02 15:03:21
1.分类回归树CART 随机森林是由多颗CART树组成的 1、下面简单叙述下CART树及生成树的原理。 CART(Classification and regression tree)是决策树的一种,主要由特征选择,树的生成和剪枝三部分组成。它主要用来处理分类和回归问题。 (1)、回归树:使用平方误差最小准则 训练集为:D={(x1,y1), (x2,y2), …, (xn,yn)}。 输出Y为连续变量,将输入划分为M个区域,分别为R 1 ,R 2 ,…,R M ,每个区域的输出值分别为:c1,c2,…,c m 则回归树模型可表示为: 则平方误差为: 假如使用特征j的取值s来将输入空间划分为两个区域,分别为: 我们需要最小化损失函数,即:   其中c1,c2分别为R1,R2区间内的输出平均值。(此处与统计学习课本上的公式有所不同,在课本中里面的c1,c2都需要取最小值,但是,在确定的区间中,当c1,c2取区间输出值的平均值时其平方会达到最小,为简单起见,故而在此直接使用区间的输出均值。)   为了使平方误差最小,我们需要依次对每个特征的每个取值进行遍历,计算出当前每一个可能的切分点的误差,最后选择切分误差最小的点将输入空间切分为两个部分,然后递归上述步骤,直到切分结束。此方法切分的树称为最小二乘回归树。 最小二乘回归树生成过程: 1)依次遍历每个特征j,以及该特征的每个取值s