决策树CART算法、基尼系数的计算方法和含义[通俗易懂]

决策树CART算法、基尼系数的计算方法和含义[通俗易懂]决策树CART算法——基尼系数决策树的CART算法使用基尼系数来选择划分属性。一个数据集的纯度可以用基尼系数来度量Gini(D)=∑k=1∣y∣∑k′≠kpkpk′=1−∑k=1∣y∣pk2\begin{aligned}Gini(D)=\sum_{k=1}^{|y|}\sum_{k'\nek}p_kp_{k'}=1-\sum_{k=1}^{|y|}…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

决策树CART算法——基尼系数

决策树的CART算法使用基尼系数来选择划分属性。一个数据集的纯度可以用基尼系数来度量

G i n i ( D ) = ∑ k = 1 ∣ y ∣ ∑ k ′ ≠ k p k p k ′ = 1 − ∑ k = 1 ∣ y ∣ p k 2 \begin{aligned}Gini(D) = \sum_{k=1}^{|y|}\sum_{k'\ne k}p_kp_{k'} = 1-\sum_{k=1}^{|y|}p_k^2\end{aligned} Gini(D)=k=1yk̸=kpkpk=1k=1ypk2

直观来说,数据集的基尼系数反映了从数据集D中随机抽取两个样本,其类别不一样的概率。因此,基尼系数越小,数据集的纯度越高。

那么属性a的基尼系数为

G i n i _ i n d e x ( D , a ) = ∑ v = 1 V ∣ D v ∣ D G i n i ( D v ) \begin{aligned}Gini\_index(D,a) = \sum_{v=1}^{V}\frac{|D^v|}{D}Gini(D^v)\end{aligned} Gini_index(D,a)=v=1VDDvGini(Dv)

与数据集D中a属性的熵值计算类似,参考我的博文1我的博文2

于是,我们在候选属性集合A中,选择那个使得划分后的基尼指数值最小的属性作为最优划分属性

a ∗ = a r g m i n a ∈ A G i n i _ i n d e x ( D , a ) a_* = argmin_{a\in A}Gini\_index(D,a) a=argminaAGini_index(D,a)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182588.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos 强制关闭端口占用

    centos 强制关闭端口占用1、查找被占用的端口(比如kafka9092端口)netstat-lnp|grep90922、使用kill命令强关端口kill-912896

    2022年7月20日
    38
  • 什么是宽字节注入_百分号两个字节

    什么是宽字节注入_百分号两个字节宽字节注入原理:宽字节(两字节)带来的安全问题主要是吃ASCII字符(一字节)的现象,使用一些特殊字符来”吃掉“经过转义符“\”。在重新详细了解宽字节注入之前,我认为宽字节注入只是出现在网站使用GBK编码的时代,现在已经很少出现了,但是实际上宽字节不只是出现在GBK编码中。在PHP中,通过iconv()进行编码转换时,也可能出现宽字节注入。还有一个误区:这里的编码问题不是出现在HTML页面…

    2022年10月15日
    1
  • pytest的使用_java中方法的调用

    pytest的使用_java中方法的调用Pytest执行用例规则Pytest在命令行中支持多种方式来运行和选择测试用例1.对某个目录下所有的用例pytest2.对模块中进行测试pytesttest_mod.py3.对文件夹进行

    2022年7月29日
    9
  • pycharm2020.3.2激活码_在线激活

    (pycharm2020.3.2激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月29日
    416
  • Ext3语法笔记——apply与applyIf

    Ext3语法笔记——apply与applyIf1.apply与applyIf   两者都是用于copy对象属性   Ext.apply(trgObj,sourceObj,[optObj]);    Ext.applyIf(trgObj,sourceObj,[optObj]);   trgObj,目标对象,属性要copy到它;sourceObj,源对象,用它的属性来copy,optObj可选,目标…

    2022年7月28日
    12
  • JAVA生成uuid_uuidJDK生成代码

    JAVA生成uuid_uuidJDK生成代码uuid作为通用识别码,其java的实现版本如下,本文以将url(https://blog.csdn.net/renyuanfang/article/details/86701148)转换成uuid为例,实现具体的代码实现importjava.util.UUID;importjava.nio.ByteBuffer;importjava.nio.ByteOrder;impor…

    2022年9月22日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号