精华内容
下载资源
问答
  • 基尼系数matlab代码

    2018-01-27 16:30:30
    基尼系数与洛伦兹曲线matlab实现代码,可通过该代码对洛伦兹曲线与基尼系数进行拟合
  • 一段关于基尼系数的求解代码在matlab中运行 一段关于基尼系数的求解代码在matlab中运行
  • stata基尼系数算法

    2017-11-27 19:10:27
    基尼系数作为经济研究中一个重要指标,其计算用代码较为简便。这是用stata来计算基尼系数的指导说明,其中包括代码和数据。
  • 基尼系数计算工具

    2013-07-28 12:41:37
    基尼系数计算小工具,源代码,算算你们那里的收入均衡情况
  • 基尼系数 定义公式,经验公式 代码: 条件熵,条件基尼系数 条件熵定义公式,经验公式 条件基尼系数定义公式,经验公式 代码: 信息增益,信息增益比,基尼增益 信息增益 信息增益比 基尼增益 代码: 初始化,涉及...

    初始化,涉及到使用的变量:

    # =============================================================================
    # 计算信息量的相关算法
    # =============================================================================
    import math
    import numpy as np
    
    class Cluster:
        def __init__(self,x,y,sample_weight=None,base=2):
            # 记录数据集的变量为numpy数组
            self._x,self._y = x.T,y
            # 利用样本权重对类别向量计数,self._counters样本各个类别的计数
            if sample_weight is None:
                self._counters = np.bincount(self._y)
            else:
                self._counters = np.bincount(self._y,weights = sample_weight*len(sample_weight))
            # 记录样本权重的属性
            self._sample_weight = sample_weight
            # 记录中间结果的属性
            self._con_chaos_cache = self._ent_cache = self._gini_cache = None
            # 记录对数的底的属性
            self._base = base
    

    信息熵

    定义公式,经验公式

    在这里插入图片描述
    在这里插入图片描述

    代码:

        # 定义计算信息熵的函数,默认计算整个样本信息熵,self._ent_cache就是样本信息熵
        # 子样本信息熵需要给出每个类别的数量
        def ent(self,ent=None,eps = 1e-12):
            # 如果已经计算过,且调用时没有额外给各类别样本的个数,就直接返回调用结果
            if self._ent_cache is not None and ent is None:
                return self._ent_cache
            
            _len = len(self._y)
            # 如果没有给出各类别样本的个数,就是用结构本身的计数器来获取相应的个数
            if ent is None:
                ent = self._counters
            
            # eps使算法的稳定性更好
            _ent_cache = max(eps,-sum(
                    [_c / _len*math.log(_c / _len,self._base) if _c !=0 else 0 for _c in ent]))
            
            # 如果调用时没有给出各个类别样本数量,就将计算的信息熵保存下来
            if ent is None:
                self._ent_cache = _ent_cache
            return _ent_cache
    

    基尼系数

    定义公式,经验公式

    在这里插入图片描述
    在这里插入图片描述

    代码:

        # 计算基尼系数,p为各个分类数量
        def gini(self,p=None):
            if self._gini_cache is not None and p is None:
                return self._gini_cache
            _len = len(self._y)
            # 如果没有给出各类别样本的个数,就是用结构本身的计数器来获取相应的个数
            if p is None:
                p = self._counters
            _gini_cache = 1-np.sum((p/_len)**2)
            
            if p is None:
                self._gini_cache = _gini_cache
            
            return _gini_cache
    

    条件熵,条件基尼系数

    条件熵定义公式,经验公式

    在这里插入图片描述

    在这里插入图片描述

    条件基尼系数定义公式,经验公式

    在这里插入图片描述
    在这里插入图片描述

    代码:

    # =============================================================================
    #     定义计算H(y|A)和 Gini(y|A)
    # =============================================================================
        def con_chaos(self,idx,criterion="ent",features=None):
            # 根据不同的准则调用不同的方法, lambda input:output
            if criterion == "ent":
                _meghod = lambda Cluster: Cluster.ent()
            elif criterion == "gini":
                _meghod = lambda Cluster: Cluster.gini()
            
            # 获取相应纬度的向量,也就是feathure A ,是一个[N]的行向量
            # data为feature = idx的N个数据的feathureValue
            data = self._x[idx]
            # 如果没有给出该feathure的取值空间,就调用set函数自己算出来
            # 调用set比较耗时,决策实现尽量传入features
            # features为该feature的取值空间
            if features is None:
                features = set(data)
                
            # 获取这个feature下的各个featureValue在data中的位置
            # 返回的是[featureValue,对应的mask]
            tmp_labels = [data == feature for feature in features]
            # 在这个函数里没有使用,记录下来后面会用
            # [featureValue,对应的它的样本数量]
            self._con_chaos_cache =[np.sum(_label) for _label in tmp_labels]
            # 利用mask获取每个featureValue对应的y样本
            # [featureValue,对应他的y样本]
            label_lst = [self._y[label] for label in tmp_labels]
            
            # 上面的操作就是为了获取mask,从而获取:在feature=idx,取m个不同featureValue
            # 时,这个时候的x样本和y样本,利用这些样本求信息增益的后半部分
            
            # 记录H(y|A)最后计算结果
            rs =0
            # 记录每一个featureValue对应的信息增益的后半部分,
            # 也就是条件不确定度,后面决策树生成会用到
            chaos_lst =[]
            
            for data_label,tar_label in zip(tmp_labels,label_lst):
                # 获取对应的x样本,mask使用条件row=column,所以需要转置,
                # 匹配的y样本就是tar_label,名字取得有点问题,应该叫tar_data
                tmp_data = self._x.T[data_label]
                
                if self._sample_weight is None:
                    # 恕我直言这个地方没必要用_meghod,有点炫耀技术,应该可以直接调用吧
                    _chaos = _meghod(Cluster(tmp_data,tar_label,base=self._base))
                else:
                    _new_weights = self._sample_weight[data_label]
                    _chaos = _meghod(Cluster(tmp_data,tar_label,_new_weights/np.sum(
                            _new_weights),base=self._base))
                # 计算信息增益外面的那个求和,注意负号在里面计算互信息里计算过了
                # 把m个featureValue遍历完毕,就计算出了H(y|A)
                rs +=len(tmp_data)/len(data)*_chaos
                # 记录各部分条件不确定度,后面决策树生成会用到
                chaos_lst.append(_chaos)
                
            return rs,chaos_lst
    

    信息增益,信息增益比,基尼增益

    信息增益

    在这里插入图片描述

    信息增益比

    在这里插入图片描述
    HA(y)H_A(y)的定义和经验求法:
    在这里插入图片描述
    在这里插入图片描述
    可以看出也可以使用熵的函数求解。

    基尼增益

    在这里插入图片描述

    代码:

    # =============================================================================
    #     计算信息增益
    # =============================================================================
        # get_chaos_lst用于控制输出
        def info_gain(self,idx,criterion="ent",get_chaos_lst=False,features=None):
            # 依据不同的准则,获取相应的条件不确定度
            if criterion in ("ent","ratio"):
                _con_chaos,_chaos_lst =self.con_chaos(idx,"ent",features)
                _gain = self.ent() - _con_chaos
                
                # 我们知道g_ratio(y,A) = g(y,A)/H_A(y)
                # self._con_chaos_cache :[featureValue,对应的它的样本数量]
                # H_A(y)如何求?根据他的经验熵公式,只要把[featureValue,对应的它的样本数量]
                # 带入计算就可以了
                if criterion == "ratio":
                    _gain /= self.ent(self._con_chaos_cache)
                    
            elif criterion == "gini":
                _con_chaos,_chaos_lst =self.con_chaos(idx,"gini",features)
                _gain = self.gini() - _con_chaos
            
            return (_gain,_chaos_lst) if get_chaos_lst else _gain
    
    展开全文
  • 这是用于使用基尼系数运行Shapley值回归的代码。 训练模型后,我们想了解每个预测变量如何对模型预测做出贡献。 解决此问题的一种方法是使用Shapley值回归(SVR)。 传统的SVR方法适用于线性回归模型,并使用Shapley...
  • 代码实现 套用公式: def gini(a: int, b: int) -> float: return 1-pow(a/(a+b), 2)-pow(b/(a+b), 2) def gini_total(a: int, b: int, c: int, d: int) -> float: return (a+b)/(a+b+c+d) * gini(a, b) +...

    代码实现
    套用公式:

    def gini(a: int, b: int) -> float:
        return 1-pow(a/(a+b), 2)-pow(b/(a+b), 2)
    
    
    def gini_total(a: int, b: int, c: int, d: int) -> float:
        return (a+b)/(a+b+c+d) * gini(a, b) + (c+d)/(a+b+c+d) * gini(c, d)
    
    
    print(gini(13, 98))
    print(gini(24, 29))
    print(gini_total(13, 98, 24, 29))
    

    numpy实现

    import numpy as np
    
    def gini(data_list):
        data_length = len(data_list)
        total_sum = np.sum(data_list)
        total_gini = 0
        for i in range(data_length):
            temp_denominator = data_list[i][0] + data_list[i][1]
            temp_son = np.sum(data_list[i])
            temp_gini = 1 - np.power(data_list[i][0]/temp_denominator, 2) - np.power(data_list[i][1]/temp_denominator, 2)
            total_gini = temp_gini * temp_son / total_sum + total_gini
        return total_gini
    

    测试结果
    在这里插入图片描述

    展开全文
  • 大家在机器学习中经常会看到基尼系数的词汇,有时候在做比赛的时候,有些赛题的Scoring Metric就是基尼系数。我们去Google或者Baidu,得到的都是些不甚满意的经济学相关的解释。那么在机器学习、数据挖掘领域,基尼...

    引言

    大家在机器学习中经常会看到基尼系数的词汇,有时候在做比赛的时候,有些赛题的Scoring Metric就是基尼系数。我们去Google或者Baidu,得到的都是些不甚满意的经济学相关的解释。那么在机器学习、数据挖掘领域,基尼系数在实际的应用场景中又该如何解释以及如何实现呢?
    基尼系数的经济学解释

    首先,我们先看一张从Wiki上找来的经典图片:
    Gini
    基尼系数是一个分布不平衡程度的度量。它被定义成大小在0到1之间的比值:分子是均匀分布直线与洛伦兹曲线之间的面积,分母是均匀分布直线下方的面积。它是由意大利统计学家Corrado Gini提出并于1912年发表论文:”Variability and Mutability”。
    基尼系数的计算

    首先我们直接构造赛题结果:真实数据与预测数据

    predictions = [0.9, 0.3, 0.8, 0.75, 0.65, 0.6, 0.78, 0.7, 0.05, 0.4, 0.4, 0.05, 0.5, 0.1, 0.1]
    actual = [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]

    1
    2

    参考Wiki上关于财富基尼系数计算公式的定义:
    In some cases, this equation can be applied to calculate the Gini coefficient without direct reference to the Lorenz curve. For example, (taking y to mean the income or wealth of a person or household): For a population uniform on the values yi, i = 1 to n, indexed in non-decreasing order (yi ≤ yi+1):
    G=1n(n+1−2∑ni=1(n+1−i)yi∑ni=1yi)(1)

    上面的话我通俗翻译下:在某些情况下,我们能够不直接参考洛伦兹曲线来计算出基尼系数。比如,(假设y代表某人或某个家庭的财富值):序列yi是非递减序列。那么序列yi就代表着从穷人到富人的排列顺序。因此基尼系数的公式就是:
    G=1n(n+1−2∑ni=1(n+1−i)yi∑ni=1yi)(1)

    那么这个公式我在这里将它拆分解释下:

    n代表y的个数
    ∑ni=1yi

    代表总财富值
    ∑ni=1(n+1−i)yi

    代表财富值的累计求和

    1.数据转换

    在这里我们并没有穷人到富人的数据序列,我们可以将预测值从小到大排列。

    # Sort the actual values by the predictions
    data = zip(actual, predictions)
    sorted_data = sorted(data, key=lambda d: d[1])
    sorted_actual = [d[0] for d in sorted_data]
    print('Sorted Actual Values', sorted_actual)

    1
    2
    3
    4
    5

    [out] Sorted Actual Values [0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1]

    1

    2.累计求和

    在这里我们对排序后的真实值累计求和:

    # Sum up the actual values
    cumulative_actual = np.cumsum(sorted_actual)
    cumulative_index = np.arange(1, len(cumulative_actual)+1)

    plt.plot(cumulative_index, cumulative_actual)
    plt.xlabel('Cumulative Number of Predictions')
    plt.ylabel('Cumulative Actual Values')
    plt.show()

    1
    2
    3
    4
    5
    6
    7
    8

    cum_sum
    上图显示的折线就与我们从wiki上找来的图片中的洛伦兹曲线相对应。
    3.Normalization

    接下来我们将数据Normalization到0,1之间。并画出45度线。

    cumulative_actual_shares = cumulative_actual / sum(actual)
    cumulative_index_shares = cumulative_index / len(predictions)

    # Add (0, 0) to the plot
    x_values = [0] + list(cumulative_index_shares)
    y_values = [0] + list(cumulative_actual_shares)

    # Display the 45° line stacked on top of the y values
    diagonal = [x - y for (x, y) in zip(x_values, y_values)]

    plt.stackplot(x_values, y_values, diagonal)
    plt.xlabel('Cumulative Share of Predictions')
    plt.ylabel('Cumulative Share of Actual Values')
    plt.show()

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    normalization
    4.计算橙色区域面积

    我们使用线性代数库scipy,求得橙色区域面积:

    fy = scipy.interpolate.interp1d(x_values, y_values)
    blue_area, _ = scipy.integrate.quad(fy, 0, 1, points=x_values)
    orange_area = 0.5 - blue_area
    print('Orange Area: %.3f' % orange_area)

    1
    2
    3
    4

    [out] Orange Area: 0.189

    1

    5.最大可能的基尼系数

    前面我们是按照预测值对真实值排序,得到一个基尼系数;现在我们按照真实值给真实值排序,得到最大可能的基尼系数:

    cumulative_actual_shares_perfect = np.cumsum(sorted(actual)) / sum(actual)
    y_values_perfect = [0] + list(cumulative_actual_shares_perfect)

    # Display the 45° line stacked on top of the y values
    diagonal = [x - y for (x, y) in zip(x_values, y_values_perfect)]

    plt.stackplot(x_values, y_values_perfect, diagonal)
    plt.xlabel('Cumulative Share of Predictions')
    plt.ylabel('Cumulative Share of Actual Values')
    plt.show()

    # Integrate the the curve function
    fy = scipy.interpolate.interp1d(x_values, y_values_perfect)
    blue_area, _ = scipy.integrate.quad(fy, 0, 1, points=x_values)
    orange_area = 0.5 - blue_area
    print('Orange Area: %.3f' % orange_area)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16

    maxgini

    [out] Orange Area: 0.300

    1

    数据挖掘中的Scoring Metric的实现

    在这里我们封装好基尼系数的函数,可用来作为比赛中的打分函数。

    def gini(actual, pred):
    assert (len(actual) == len(pred))
    all = np.asarray(np.c_[actual, pred, np.arange(len(actual))], dtype=np.float)
    all = all[np.lexsort((all[:, 2], -1 * all[:, 1]))]
    totalLosses = all[:, 0].sum()
    giniSum = all[:, 0].cumsum().sum() / totalLosses

    giniSum -= (len(actual) + 1) / 2.
    return giniSum / len(actual)


    def gini_normalized(actual, pred):
    return gini(actual, pred) / gini(actual, actual)


    gini_predictions = gini(actual, predictions)
    gini_max = gini(actual, actual)
    ngini= gini_normalized(actual, predictions)
    print('Gini: %.3f, Max. Gini: %.3f, Normalized Gini: %.3f' % (gini_predictions, gini_max, ngini))

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19

    [out] Gini: 0.189, Max. Gini: 0.300, Normalized Gini: 0.630

    1

    总结

    关于Gini系数的pdf文章,请戳:传送门
    ---------------------
    作者:OraYang
    来源:CSDN
    原文:https://blog.csdn.net/u010665216/article/details/78528261
    版权声明:本文为博主原创文章,转载请附上博文链接!

    转载于:https://www.cnblogs.com/Rvin/p/11127876.html

    展开全文
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...

    欢迎使用Markdown编辑器

    你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

    新的改变

    我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

    1. 全新的界面设计 ,将会带来全新的写作体验;
    2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
    3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
    4. 全新的 KaTeX数学公式 语法;
    5. 增加了支持甘特图的mermaid语法1 功能;
    6. 增加了 多屏幕编辑 Markdown文章功能;
    7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
    8. 增加了 检查列表 功能。

    功能快捷键

    撤销:Ctrl/Command + Z
    重做:Ctrl/Command + Y
    加粗:Ctrl/Command + B
    斜体:Ctrl/Command + I
    标题:Ctrl/Command + Shift + H
    无序列表:Ctrl/Command + Shift + U
    有序列表:Ctrl/Command + Shift + O
    检查列表:Ctrl/Command + Shift + C
    插入代码:Ctrl/Command + Shift + K
    插入链接:Ctrl/Command + Shift + L
    插入图片:Ctrl/Command + Shift + G
    查找:Ctrl/Command + F
    替换:Ctrl/Command + G

    合理的创建标题,有助于目录的生成

    直接输入1次#,并按下space后,将生成1级标题。
    输入2次#,并按下space后,将生成2级标题。
    以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

    如何改变文本的样式

    强调文本 强调文本

    加粗文本 加粗文本

    标记文本

    删除文本

    引用文本

    H2O is是液体。

    210 运算结果是 1024.

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    居中的图片: Alt

    居中并且带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';
    

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目 Value
    电脑 $1600
    手机 $12
    导管 $1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列 第二列 第三列
    第一列文本居中 第二列文本居右 第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPE ASCII HTML
    Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
    Quotes "Isn't this fun?" “Isn’t this fun?”
    Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to-HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。2

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ(n)=(n1)!nN\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N 是通过欧拉积分

    Γ(z)=0tz1etdt. \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

    张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间,文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    Created with Raphaël 2.2.0开始我的操作确认?结束yesno
    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. mermaid语法说明 ↩︎

    2. 注脚的解释 ↩︎

    展开全文
  • 定义:基尼指数(基尼不纯度):表示在样本集合中一个随机选中的样本被分错的概率。...基尼系数的性质与信息熵一样:度量随机变量的不确定度的大小; G 越大,数据的不确定性越高; G 越小,数据的不确定性越低; ...
  • 实际上 CART 分类树与 C4.5 算法类似,只是属性选择的指标采用的是基尼系数。 你可能在经济学中听过说基尼系数,它是用来衡量一个国家收入差距的常用指标。当基尼系数大于 0.4 的时候,说明财富差异悬殊。基尼系数在...
  • 收入分配是福利经济学中的重要话题。假设有5个人的收入分别是[99.5,101,...基尼系数是衡量一个地区居民收入差距的常用指标。它的取值范围是[0,1]。基尼系数越接近0表明收入分配越趋向平等。国际惯例把基尼系数为...
  • 1、不同削减率下的负荷(也就是y轴),与x轴数据:指标数据 之间的基尼系数; 2、求解的每组基尼系数必须小于初始值; 3、y轴数据必须满足y1<y2<y3…<y10。 这段代码在Matlab中运行得出来的...
  • 1、matlab实现决策树(默认用基尼系数来划分属性)创建分类决策树或回归决策树load carsmall % matlab自带数据,可以直接运行。数据包含变量:Horsepower, Weight, MPGX = [Horsepower Weight];rtree = fitrtree(X,MPG...
  • 一、概述 决策树是一种有监督学习算法,是一种... 一个特征的信息增益(或信息增益率,或基尼系数)越大,表明特征对样本的熵的减少能力更强(越快到达叶子结点),这个特征使得数据由不 确定性到确定性的能力越强。...
  • 3.3 基尼系数(CART) 4 剪枝处理 4.1 预剪枝 4.2 后剪枝 5 多变量决策树 6 决策树优缺点 6.1 优点 6.2 缺点 7 代码实践 1 定义  决策树是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值...
  • 决策树,特征选择的三个准则:信息增益(ID3),信息增益比(C4.5),基尼系数(CART)。决策树的生成,决策树的剪枝。
  • 以下是我的学习笔记,以及总结,如有错误之处请不吝赐教。 基础概念: 熵Entropy:是衡量纯度的一个标准,表达式可以...基尼系数Gini Index:Gini(D)越小,数据集D的纯度越高,具体表达式如下: 实际上基尼...
  • python 决策回归树

    2020-07-02 15:56:47
    CART算法:CART算法使用基尼系数来代替信息增益比,基尼系数代表了模型的不纯度,基尼系数越小,不纯度越低,特征越好。比较基尼系数和熵模型的表达式,二次运算比对数简单很多。尤其是二分类问题,更加简单。CART...
  • 基尼系数代表了模型的纯度,基尼系数越小,则纯度越高,特征越好。 具体的,在分类问题中,假设有K个类别,第k个类别的概率为, 则基尼系数的表达式为: 1.1代码实现 def gini(y): counter = Counter(y) res =...
  • ID3(纯度+基尼系数)&CART信息增益率&C4.5各种决策树比较与总结决策树编程实战调用sklearn库实现回归决策树手动实现ID3决策树使用sklearn库回归决策树预测boston房价使用sklearn库分类决策树对iris分类 决策...
  • 0. 介绍 Gini index: CART决策树使用“基尼指数”(Gini index)来选择划分属性。...于是,我们在选择划分属性时,选择那个使划分后Gini系数最小的属性作为最优划分属性。 1. 心脏病例子: 收集数据:
  • 量化去中心化,Part-2

    2018-11-01 13:48:49
    ​ 最大基尼系数:区块链...因此,通过这个衡量标准,比特币和以太坊的基尼系数最大值都约为 0.92,因为两者的节点所具有的客户端高度集中在一个代码库中(比特币的是 Bitcoin Core,以太坊的是 geth)。 至关重要...
  • 区块链软件谈:去中心化原理最大基尼系数:区块链去中心化...因此,通过这个衡量标准,比特币和以太坊的基尼系数最大值都约为 0.92,因为两者的节点所具有的客户端高度集中在一个代码库中(比特币的是 Bitcoin Cor...

空空如也

空空如也

1 2 3
收藏数 53
精华内容 21
关键字:

基尼系数代码