免费的海报设计网站,做的比较好的货运网站,汉中城乡建设网站,做网站的专业叫什么软件系列文章目录
第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 第一章 Python 机器学习入门之牛顿法 第二章 Python 机器学习入门之逻辑回归 番外 Python 机器学习入门之K近邻算法 番外 Python 机器学习入门之K-Means聚类算法 第三章 Python 机…系列文章目录
第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 第一章 Python 机器学习入门之牛顿法 第二章 Python 机器学习入门之逻辑回归 番外 Python 机器学习入门之K近邻算法 番外 Python 机器学习入门之K-Means聚类算法 第三章 Python 机器学习入门之ID3决策树算法 ID3决策树算法 系列文章目录前言一、ID3决策树简介1、定义2、例子3、原理 二、ID3决策树详解1、前置条件2、计算信息增益 三、优缺点1、优点2、缺点 前言
开始新的一章这章主要介绍决策树decision tree算法它是一种常用的分类和回归方法同时在它的基础上还演化出了随机森林、XgBoost等算法这篇文章说说最早的决策树算法ID3决策树。
一、ID3决策树简介
1、定义
百科定义 决策树Decision Tree是在已知各种情况发生概率的基础上通过构成决策树来求取净现值的期望值大于等于零的概率评价项目风险判断其可行性的决策分析方法是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干故称决策树。
没有找到单独给ID3决策树的定义所以就先用下决策树的普遍定义决策树简单来说就是我们经常在代码里面写的if…else if…esle if…这样的情况
2、例子
光说理论可能不太懂我们举个例子看看我们经常听到这瓜保熟吗这个梗这是出自电视剧《征服》里面的一幕名场面那我们就看看瓜熟不熟需要什么条件呢 本人爱吃西瓜不太会选西瓜就会这两三把式让大家见笑了首先我们可以根据拍打西瓜时候的声音沉不沉重来看是不是熟瓜如果是当当的清脆声那就是生瓜如果声音沉重一般就是熟瓜其次就看看瓜藤卷不卷瓜藤卷到一定程度基本上就可以判定是熟瓜了当然判断条件肯定不止这两个其余条件有懂的朋友可以在下面评论让我学习学习哈 3、原理
从上面的例子中我们基本可以理解了决策树的原理那我们现在就来说说ID3决策树上面的例子提到了两个判断条件瓜声和瓜藤但是哪个放前面判断哪个放后面判断呢 这时候一位大佬昆兰使用信息论上的熵这个概念该概念是由香农提出进行思考并在此基础上使用信息增益这个概念构建了决策树决策的过程
从根节点开始计算所有可能的特征的信息增益选择信息增益最大的特征作为节点的划分特征由该特征的不同取值建立子节点再对子节点递归1-2步构建决策树直到没有特征可以选择或类别完全相同为止得到最终的决策树
二、ID3决策树详解
1、前置条件
之前说到了熵和信息增益这两个概念这块后面单独出一篇文章说下我们当前只要需要明确两个概念熵可以用来度量条件的不确定性信息增益则是减少不确定的程度所以我们每次优先挑选信息增益最大的特征确保接下来的特征分类结果更准确。
这里顺口提一句由于该性质一般来说ID3决策树通常只用于分类几乎不用于回归网上资料中常提到决策树可用于回归和分类问题那一般指的是C4.5算法和CART分类回归树ID3可以说是不支持回归问题的。
2、计算信息增益
流程在上述原理中已经提过这里就谈谈如何计算信息增益
假定样本集合D中第i类样本所占的比例为Pi求它的信息熵求离散特征a对数据集D的条件信息熵 计算信息增益
三、优缺点
1、优点
简单理解处理分类问题低计算复杂度
2、缺点
处理连续型特征困难容易过拟合处理缺失数据困难对类别不平衡敏感不支持剪枝