IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 机器学习啃书之决策树 -> 正文阅读

[人工智能]机器学习啃书之决策树

?本小菜鸡在努力找工作中,基础不扎实努力啃书恶补,如有不严谨描述,还请大佬指正!

一、什么是决策树

根据数据特征(if-else形式)划分数据集,进而进行分类。

比如:

if (特征A的值为“是”):
    if (特征B的值为“是”):
        if (特征C的值为“是”):
            类别 = 正类
        else:
            类别=负类
    else:
        类别 = 负类
else:
    类别 = 负类

二、为什么要用决策树

为了理解数据中所蕴涵的知识信息

三、怎么样用决策树

总流程:

选择纯度度量指标-->选取能让纯度最大的那个特征作为该次的决策条件-->以该特征切分数据集,同时将该特征从切分后的子集中剔除--->重复第二第三步直至停止条件

停止条件有以下三种:

1. 完成分类

2. 特征维度已经全部用上,就以占比最大的类别作为当前节点的归属类别

3.纯度一样,无法继续分裂

1.决策条件

找到好的决策条件--->什么叫好的决策条件--->“纯度”高的--->决策后,二叉树的一个分支几乎都是正类,另一个分支几乎都是负类(希望这个决策条件可以一锤定音

纯度的三个特点:

1)?当一个分支下的所有样本都为一类时,纯度最高

2)当一个分支下样本所属类别一半为正类,一半为负类时,纯度最低

3)纯度的考察与正类或者负类无关

纯度的计算指标:

用信息熵来衡量纯度,信息熵在通信里用于衡量不确定性:信息熵越小,系统越稳定(可以一锤定音),则意味着纯度越大。p为概率,在二元分类中,若p=1.则H为0;若p=0.5,H = 1,分类情况最不确定,最混乱。

H(X) = -\sum_{k=1}^{N}p_klog_2(p_k)

?纯度计算算法:

1)ID3算法:信息增益

G(D,\alpha ) = H(x)-\sum_{v=1}^{V}\frac{\left | D^v \right |}{\left | D \right |}H(D^v)

2) C4.5算法:信息增益比

G_r = \frac{G(D,a)}{IV(a)}

IV(a) = \frac{\left | D^v \right |}{D}log_2\frac{\left | D^v \right |}{\left [ D \right ]}

3) CART算法:基尼系数

Gini(D) = 1 - \sum_{k=1}^{N}p_k^2

例:用Gini系数选择特征,建立决策树?

下面是一个上班是否需要带雨伞的问题,特征为天气和驾驶:

step1:选择使用决策特征(用驾驶or用天气)

?首先计算天气的基尼系数,可见有三种天气:晴、多云、下雨

则:

天气_Gini = P(晴)× 晴_Gini + P(多云)×多云_Gini +P(下雨)×下雨_Gini

晴天样本数为2,晴天需要打伞的个数为0,晴天不打伞的个数为2,所以:

晴_Gini = 1-(0^2+1^2) = 0

多云的样本数为4,需要打伞的个数为2,不打伞的个数为2,所以:

多云_Gini = 1-(2/4)^2-(2/4)^2 = 0.5

下雨的样本数为3,需要打伞的个数为1,不打伞的个数为2:所以:

下雨_Gini = 1-(1/3)^2-(2/3)^2 = 0.444

天气_Gini = 2/9 × 0 + 4/9 ×0.5 +3/9 ×0.444 = 0.3689

?然后计算驾驶的基尼系数,同理可得,驾驶_Gini = 0.444.

因为天气_Gini 比驾驶_Gini 小,说明“天气”这个特征更能一步到位,所以使用天气作为第一个决策节点。

2. 解决过拟合

1)预剪枝:在分支划分前就进行剪枝判断

2)后剪枝: 在分支划分之后就进行剪枝判断

Decision Tree

未完待续

参考书籍:《机器学习算法的数学解析和python实现》

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:19:21  更:2021-11-29 16:21:58 
 
开发: 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/27 3:50:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码