首页 > 其他分享 >机器学习 | 决策树

机器学习 | 决策树

时间:2022-10-29 16:22:53浏览次数:48  
标签:结点 机器 text sum 学习 增益 Ent quad 决策树

Def

信息熵

\[\text{Ent}(D)=\sum p_k\log p_k \]

条件熵

\[\text{Ent}(D|A)=\sum\frac{|D^v|}{|D|}\text{Ent}(D^v) \]

信息增益

\[\text{Gain}(D,A)=\text{Ent}(D)-\text{Ent}(D|A) \]

信息增益率

\[\text{Gain}_r (D,A)=\frac{\text{Gain}(D,A)}{\text{IV}(A)} \]

固有值

\[\text{IV(A)}=\sum\frac{|D^v|}{|D|}\log\frac{|D^v|}{|D|} \]

基尼系数

\[\text{Gini}(D)=1-\sum p_k^2 \]

条件基尼系数

\[\text{Gini}(D|A)=\sum \frac{|D^v|}{|D|}\text{Gini}(D^v) \]

信息熵反映的是数据的混乱程度, 熵值高则意为纯度低, 反之熵值低则意为纯度高即分类效果好. 信息熵的概念由香农提出, 沿袭了热力学中由玻尔兹曼发现的熵的定义式.

信息增益指的是以某一属性对数据集进行分类, 使熵下降的量的多少. 显然信息增益越高, 越适合作为分类标准.

信息增益率概念的提出是为了防止递归到后期只判定信息增益, 出现的过拟合现象.

基尼系数的直观意义是在数据集中任取两个样本, 它们属于不同类的概率. 可知其值越低, 纯度越高, 分类效果越好.

ID3 算法

以信息增益作为分类标准.

C4.5 算法

以信息增益率作为分类标准.

CART 算法

以基尼系数作为分类标准.

三个算法的流程都是:

  1. 输入训练集 \(D\), 属性集 \(A\).
  2. 生成决策树 \(\text{TreeGenerate(D,A)}\):
    生成结点 \(\text{node}\);
    \(\text{if}\) \(D\) 中样本属于同一类别 \(\text{then}\)
    \(\quad\) 标记 \(\text{node}\) 为该类叶结点; \(\text{return}\)
    \(\text{end if}\)
    \(\text{if}\) \(A=\emptyset\ \text{OR}\ D\) 中所有样本所有属性值相同 \(\text{then}\)
    \(\quad\) 标记 \(\text{node}\) 为叶结点, 类别为 \(D\) 中样本最多的类; \(\text{return}\)
    \(\text{end if}\)
    从 \(A\) 中选择最优划分属性 \(a\);
    \(\text{for}\) \(a\) 中每一个值 \(a^v\) \(\text{do}\)
    \(\quad\) 为 \(\text{node}\) 生成一个分支, 令 \(D^v\) 为该属性值的样本子集;
    \(\quad \text{if}\) \(D^v\) 为空 \(\text{then}\)
    \(\quad\quad\) 该分支结点标记为叶结点, 类别为 \(D\) 中样本最多的类; \(\text{return}\)
    \(\quad \text{else}\)
    \(\quad\quad \text{TreeGenerate}(D^v,A- \{a\})\)
    \(\quad \text{end if}\)
    \(\text{end for}\)
  3. 输出以 \(\text{node}\) 为根结点的决策树.

Code

标签:结点,机器,text,sum,学习,增益,Ent,quad,决策树
From: https://www.cnblogs.com/Arcticus/p/16838755.html

相关文章

  • 2022-2023-1 20221306《计算机基础与程序设计》第九周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(2022-2023-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第九周作业)......
  • Angr-CTF学习笔记11-13
    11_angr_sim_scanf汇编代码:.text:0804862Apush14h;n.text:0804862Cpush0;c.text:0804862Eleaeax,[ebp+key_string].text:08048631pusheax;s.text:08......
  • Angr-CTF学习笔记1-5
    Angr-CTF如何使用Angr-CTF建议运行环境为Ubuntu16.04,macOS下安装Angr存在一些Bug(比如说Angr库的安装,Mach-O文件格式的执行程序有Bug)找到一个空白的目录,执行......
  • 图论学习笔记
    topback序noip迫在眉睫,图论算法久未谋面……不是在沉默中爆发,就是在沉默中灭亡……终于,我痛下决心,在一个风雨交加的夜晚,向图论宣战!说明部分图片或文字来源于......
  • Javascript学习随笔
    JavaScript:简称JS,是一个运行在客户端/浏览器的【解释性】【弱类型】【面向对象】脚本语言。想要运行js需要运行环境:浏览器自带js解释器node.js需要安装环境编译型:在......
  • HTML4学习随笔
    HTMLhtml:超文本标记语言(HyperTextMarkupLanguage)(html结构)(css表现)(js行为)<!DOCTYPEhtml><!--声明文档类型让浏览器以html的格式解析--><htmllang="en"><head......
  • HTML5学习随笔
    HTML5含义:html5是超文本语言的第五次重大修改的版本,html5里面做了很多兼容处理,能够兼容多数浏览器。和之前相比:新增了很多内容: 1.语义化标签 2.增强型表单 3.......
  • CSS2学习随笔
    CSSCSS:层叠样式表(CascadingStyleSheets)修饰网页,且能配合js对原有样式进行更改。css的层叠性:一个元素可能同时被多个css选择器选中,每个选择器都有一些css规则,这......
  • CSS3学习随笔
    CSS3css3是css2的升级,相比新增主要内容css选择器,和css属性新增内容:语言模块,背景,列表,边框,文本,盒子特效,多列目录CSS3渐进增强和优雅降级(面试题)渐进增强优雅降级选择器属性......
  • MySQL学习笔记(sql语句为主)
    MySQL学习笔记MySQL实战应用根据老杜mysql的课程内容整理的学习笔记命令行基本操作登录mysql(cmd)://显示密码的形式mysql-uroot-pabc123//隐藏密码的形式mysql-......