决策树的基尼系数计算过程
1、基尼指数的计算
在介绍具体的计算之前,先从一个例子入手吧。
先看看下面这个数据,我们需要通过前三列的特征来推断出最后一列是yes,no
1、数据
Chest Pain | Good Blood Circulation | Blocked Arteries | Heart Disease |
---|---|---|---|
No | No | No | No |
Yes | Yes | Yes | Yes |
Yes | Yes | No | No |
Yes | No | ??? | Yes |
etc… | etc… | etc… | etc… |
2、统计
-
Chest Pain
-
true
Heart Disease
- Yes:105
- No:39
-
false
Heart Disease
- Yes:34
- No:125
-
-
Good Blood Circulation
-
true
Heart Disease
- Yes:37
- No:127
-
false
Heart Disease
- Yes:100
- No:33
-
-
Blocked Arteries
-
true
Heart Disease
- Yes:92
- No:31
-
false
Heart Disease
- Yes:45
- No:129
-
在统计数据的时候,若遇见缺失值,最简单的办法就是先跳过这个缺失值
从统计的数据可以看出,在某一特征的条件下,无论是true或者false都有患有Heart Disease的人,同时也都有健康的人。且这两个分布是不同,有的true中患有Heart Disease的多一些,有的false中患有Heart Disease的多一些,则就要引出另一个概念—纯度。刚刚将的那种情况其实就是不纯的,那么我们接下来的操作就是对其不断的提纯。
接下来引出基尼指数的概念:基尼指数遵循最小的准则,计算得到的基尼指数越小,则越纯。接下来则以该特征作为决策树的一个分支。但若当前节点的基尼指数小于待划分节点的基尼指数时,则不需要划分。
3、基尼指数的基本公式
Single_gini = 1 − ( a a + b ) 2 − ( b a +