————致力于用代码改变世界

机器学习之——基尼指数的计算[例题]

0 前言

  • 本文主要介绍基尼指数的计算公式及计算方法,并举出相关例题帮助理解。
  • 读者需要提前了解:信息熵
  • 数据集:贷款.CSV

1 基尼指数简述

  • 基尼指数(Gini Index)是一个在多个领域都有应用的重要指标,但其主要应用之一是在决策树算法中,用于衡量数据集的不纯度或混乱程度

  • 基尼指数也被称为基尼不纯度,表示在样本集合中一个随机选中的样本被分错的概率。
    基尼值越小,表示集合中被选中的样本被分错的概率越小,即集合的纯度越高;反之,基尼指数越大,集合越不纯。

  • 若使用基尼指数构建决策树时,基尼指数构建的决策树是二叉树。这种二叉树结构使得CART(Classification and Regression Trees)算法在分类和回归任务中都具有较好的性能,因为它能够较为高效地降低数据集的不纯度,并生成易于理解和解释的模型。

2 基尼指数与信息熵

如果你了解信息熵(它表示了随机变量的不确定度,对于一组数据来说,越随机,不确定性就越高,信息熵越大;不确定性越低,信息熵就越小),你可能会发现信息熵和基尼指数有些相似。

3 公式

image
image

  • D表示总的样本数据集。
  • A表示选定的特征。
  • D1和D2分别表示根据特征A的某个值(通常是阈值或分类点)将数据集D分成的两个子集。
  • |D|、|D1|和|D2|分别表示数据集D、D1和D2中的样本数量。
  • Gini(D)、Gini(D1)和Gini(D2)分别表示数据集D、D1和D2的基尼指数。
  • 注:计算Gini(D,A)时,数据集D只能分为两个子数据集。

4 数据集二分

4.1 理论

  • CART算法构建的是一棵二叉树,每一次分裂只会产生两个节点,怎么办呢?很简单,只要将其中一个离散值独立作为一个节点,其他的离散值生成另外一个节点即可。这种分裂方案有多少个离散值就有多少种划分的方法。

  • 举一个简单的例子:如果某离散属性一个有三个离散值X,Y,Z,则该属性的分裂方法有:
    {X}、{Y,Z}
    {Y}、{X,Z}
    {Z}、{X,Y}
    分别计算每种划分方法的基尼值或者样本方差确定最优的方法。

4.2 示例

采用贷款数据集,详细请见前言。
image

5 例题

5.1 样本基尼指数的计算

5.1.1 例题一

假设有一个数据集包含以下样本:

类别 个数
类别A: 11个样本
类别B: 1个样本

image

5.1.2 例题二

笔者使用贷款数据集D,详细请见前言。
image

5.1.3 例题三

笔者使用贷款数据集D,详细请见前言。
image

5.1.4 小结

根据例题一、例题二、例题三,发现最终计算的基尼指数依次增大。
例题一:0.1528
例题二:0.48
例题三:0.6577
表示数据越来越混乱,纯度越来越低。

5.2 特征A条件下基尼指数的计算

5.2.1 例题一

笔者使用贷款数据集D,详细请见前言。
image

image

image

6 计算程序

稍后再补

7 结语

如有错误请指正,禁止商用。

posted @ 2024-09-06 16:53  hello_nullptr  阅读(181)  评论(0编辑  收藏  举报