基尼系数的直观解释

我们在使用分类算法训练数据后,评价分类模型的优劣时,经常会遇到一个词,“

基尼系数

”。

那么,什么是基尼系数呢?

本文将尝试用最简单的方式介绍什么是“

基尼系数

”以及它的计算方法和意义。

希望能让大家对

基尼系数

有个直观的印象,而不仅仅是记住它枯燥的计算公式。

1. 从分类模型开始

首先,先假设有一个分类案例,包含

2个种类

的数据(紫色和蓝色),每个分类的数据有

10个





上图中的3种不同颜色的直线,代表3种不同参数的分类模型。

从图中可以看出:

  • 绿色的线分类效果最好,完美分割了

    2个种类

    的数据
  • 黄色次之,有

    3个蓝色

    的数据分类错误
  • 红色的分类效果最差,有

    8个紫色

    的数据分类错误

对于上面这种简单的数据(只有

2个维度



10个数据

)和简单的分类模型(

线性分类

)来说,

我们通过作图可以一眼看出哪个分类模型的效果最好。

而现实中的实际情况,往往是不仅数据量大,数据维度也很多,分类模型也不会仅仅是一条二维直线。

这时,无法像上面那样绘制出二维图形来,那么该如何去定量的评估一个分类模型的好坏呢?

2. 基尼系数


基尼系数

就是这样一种指标,通过一个分类模型的

基尼系数



Gini

),来帮助我们判断分类模型的好坏。

2.1. 绿色模型

对于绿色的分类模型:


分类过程

分类结果

概率
选择

紫色

数据,并且被分类为

紫色
正确 50%
选择

紫色

数据,并且被分类为

蓝色
错误 0%
选择

蓝色

数据,并且被分类为

蓝色
正确 50%
选择

蓝色

数据,并且被分类为

紫色
错误 0%

概率计算方式说明:比如对于表格第一行,【选择

紫色

数据,并且被分类为

紫色

】的概率。

首先,【选择

紫色

数据】的概率为

50%

,因为总共

20条

数据,紫色数据有

10条



其次,【并且被分类为** 紫色**】的概率为

100%

,因为绿色的模型可以正确分类所有的数据。

所以,【选择

紫色

数据,并且被分类为

紫色

】的概率为

50% x 100% = 50%

其余3行的概率同上一样计算。

2.2. 黄色模型

对于黄色的模型:


分类过程

分类结果

概率
选择

紫色

数据,并且被分类为

紫色
正确 50%
选择

紫色

数据,并且被分类为

蓝色
错误 0%
选择

蓝色

数据,并且被分类为

蓝色
正确 35%
选择

蓝色

数据,并且被分类为

紫色
错误 15%

对于上面表格中的第三行,【选择

蓝色

数据,并且被分类为

蓝色

】为什么是

35%



首先,【选择

蓝色

数据】的概率为

50%

,因为总共

20条

数据,蓝色数据有

10条



其次,【并且被分类为

蓝色

】的概率是

70%

,从图中可以看出

黄色的模型

对于

10条

蓝色数据,有

7条

分类正确,有

3条

被错误分类到紫色的那一类中了。

所以,【选择

蓝色

数据,并且被分类为

蓝色

】的概率为

50% x 70% = 35%

表格第四行的

15%

也是同样方式计算出的。

2.3. 红色模型

最后,看下红色的模型:


分类过程

分类结果

概率
选择

紫色

数据,并且被分类为

紫色
正确 10%
选择

紫色

数据,并且被分类为

蓝色
错误 40%
选择

蓝色

数据,并且被分类为

蓝色
正确 50%
选择

蓝色

数据,并且被分类为

紫色
错误 0%

计算方式前面已经介绍,这里不再赘述。

2.4. 计算公式


3种

不同效果的

分类模型

的分类效果统计在上面的表格中。

根据这些概率,我们如何给模型打分,从而确定模型好坏呢?

答案就是

基尼系数



Gini

),这时我们再来看看基尼系数的计算公式:


\(Gini = \sum_{i=1}^C p(i)\times (1-p(i))\)


其中,

\(C\)

是数据的总类别数量,本文的例子中有两类数据,所以

\(C=2\)



\(p(i)\)

是选择某个类别

\(i\)

的数据的概率。

下面来看看本文中的

3个模型

的基尼系数分别是多少。

我们假设

\(p(1)\)

代表选中

紫色

数据的概率;

\(p(2)\)

代表选中

蓝色

数据的概率

那么,对于绿色模型,


绿色线上部分

的基尼系数:

\(G_{up} = p(1)\times(1-p(1)) + p(2)(1-p(2))\)




绿色线上部分

,全是紫色数据,所以

\(p(1) = 1,\quad p(2)=0\)



因此,

\(G_{up} = 1\times(1-1)+0\times(1-0) = 0\)


对于

绿色线下部分

,同理可计算出

\(G_{down}=0\)

又因为

绿色线上下部分

的数据量都是10条,各占总数据量的

50%



所以最终绿色模型整体的基尼系数:

\(G_{green}=50\% G_{up} + 50\% G_{down} = 0\)

对于黄色模型:



黄色线上部分

,10个紫色数据,3个蓝色数据,所以

\(p(1) = \frac{10}{13},\quad p(2)=\frac{3}{13}\)



因此,

\(G_{up} = \frac{10}{13}\times(1-\frac{10}{13})+\frac{3}{13}\times(1-\frac{3}{13}) \approx 0.355\)



黄色线下部分

,0个紫色数据,7个蓝色数据,所以

\(p(1) = 0,\quad p(2)=1\)

,所以

\(G_{down}=0\)

又因为

黄色线上下部分

的数据量分别

13条



7条

,各占总数据量的

\(\frac{13}{20},\quad \frac{7}{20}\)



所以最终黄色模型整体的基尼系数:

\(G_{yellow}=\frac{13}{20} G_{up} + \frac{7}{20} G_{down} \approx 0.23\)

对于红色模型:

和上面同理计算出:

\(G_{up}=0\)



\(G_{down} \approx 0.494\)




\(G_{red} = \frac{2}{20} \times G_{up} + \frac{18}{20}\times G_{down} \approx 0.444\)

基尼系数是介于

0~1

的数值,且越小表示效果越好,

因为

\(G_{green}=0<G_{yellow}=0.23<G_{red}=0.444\)


所以 绿色模型

优于

黄色模型

优于

红色模型。

3. 总结

通过比较不同模型的

基尼系数

的值,不仅可以一下看出分类模型的好坏,还可以根据数值的大小了解究竟好多少。

基尼系数也为我们训练分类模型时提供了一个优化的方向,

一方面,对于

不同的分类模型

,我们可以通过比较它们的基尼系数,确定哪种模型效果更好;

另一方面,对于

同一个分类模型

,我们可以通过观察其中每个分类的基尼系数(比如上面的

\(G_{up}\)



\(G_{down}\)

),

从而确定那个分类的效果比较差,那就是重点优化的方向。

未经允许不得转载:大白鲨游戏网 » 基尼系数的直观解释