|
|
|
@ -95,3 +95,121 @@ Example
|
|
|
|
|
|
|
|
|
|
如果有1个坏苹果和9个好苹果时,我们可以认为大部分都是坏苹果。内部并不混乱,确定性很大,熵很小。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 信息增益
|
|
|
|
|
|
|
|
|
|
Information gain
|
|
|
|
|
|
|
|
|
|
表示得知特征X的信息而使得类Y的信息的不确定性减少的程度。
|
|
|
|
|
|
|
|
|
|
特征A对训练集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即:g(D, A) = H(D) - H(D|A)
|
|
|
|
|
|
|
|
|
|
当前的信息熵等于划分完(如划分成两个)的信息熵之和。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**信息增益算法**
|
|
|
|
|
|
|
|
|
|
输入:训练数据集D和特征A
|
|
|
|
|
|
|
|
|
|
输出:特征A对训练数据集D的信息
|
|
|
|
|
|
|
|
|
|
1. 计算数据集D的经验熵H(D)
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
2. 计算特征A对数据集D的经验条件熵H(D|A)
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
3. 计算信息增益
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 举个例子
|
|
|
|
|
|
|
|
|
|
Example
|
|
|
|
|
|
|
|
|
|
是否信贷
|
|
|
|
|
|
|
|
|
|
| ID | 年龄 | 有工作 | 有自己房子 | 信贷情况 | 类别 |
|
|
|
|
|
| ---- | ---- | ------ | ---------- | -------- | ---- |
|
|
|
|
|
| 1 | 青年 | 否 | 否 | 一般 | 否 |
|
|
|
|
|
| 2 | 青年 | 否 | 否 | 好 | 否 |
|
|
|
|
|
| 3 | 青年 | 是 | 否 | 好 | 是 |
|
|
|
|
|
| 4 | 青年 | 是 | 是 | 一般 | 是 |
|
|
|
|
|
| 5 | 青年 | 否 | 否 | 一般 | 否 |
|
|
|
|
|
| 6 | 中年 | 否 | 否 | 一般 | 否 |
|
|
|
|
|
| 7 | 中年 | 否 | 否 | 好 | 否 |
|
|
|
|
|
| 8 | 中年 | 是 | 是 | 好 | 是 |
|
|
|
|
|
| 9 | 中年 | 否 | 是 | 非常好 | 是 |
|
|
|
|
|
| 10 | 中年 | 否 | 是 | 非常好 | 是 |
|
|
|
|
|
| 11 | 老年 | 否 | 是 | 非常好 | 是 |
|
|
|
|
|
| 12 | 老年 | 否 | 是 | 好 | 是 |
|
|
|
|
|
| 13 | 老年 | 是 | 否 | 好 | 是 |
|
|
|
|
|
| 14 | 老年 | 是 | 否 | 非常好 | 是 |
|
|
|
|
|
| 15 | 老年 | 否 | 否 | 一般 | 否 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
对上表所给的训练数据集D,根据信息增益准则选择最优特征。首先计算经验熵H(D)
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
> 计算类别:一共15个类别,9个是,6个否
|
|
|
|
|
|
|
|
|
|
然后计算各特征对数据集D的信息增益,分别以A1,A2,A3,A4表示年龄、有工作、有自己房子和信贷情况4个特征,则
|
|
|
|
|
|
|
|
|
|
1. 首先计算年龄
|
|
|
|
|
|
|
|
|
|
> H(D)=0.971上面计算了,H(D1)青年,H(D2)中年,H(D3)老年
|
|
|
|
|
|
|
|
|
|
2. 计算有工作
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
> H(D)=0.971,H(D1)是有工作,H(D2)是无工作
|
|
|
|
|
|
|
|
|
|
3. 计算有无房子
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
4. 计算信贷情况
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
有无房子是作为信贷的第一个划分,下降的最快
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 信息增益比
|
|
|
|
|
|
|
|
|
|
Information gain ratio
|
|
|
|
|
|
|
|
|
|
**信息增益比:**
|
|
|
|
|
|
|
|
|
|
如果以信息增益为划分依据,存在偏向选择取值较多的特征,信息增益是对这一问题进行矫正。
|
|
|
|
|
|
|
|
|
|
**举例**:
|
|
|
|
|
|
|
|
|
|
如上面的例子,后面加入了身份证这个特征,身份证又是唯一的,算法对样本画了个15叉树,一层就搞定了全部的分类。
|
|
|
|
|
|
|
|
|
|
这样会造成一个问题,划分会倾向于特征取值数目较多的,即分的更快。
|
|
|
|
|
|
|
|
|
|
但在预测集上就出现很大的问题了,即预测集的身份证肯定也是唯一的。
|
|
|
|
|
|
|
|
|
|
**定义:**
|
|
|
|
|
|
|
|
|
|
特征A对训练数据集D的信息增益比定义为其信息增益g(D,A)与训练数据集D关于特征A的经验熵H(D)之比:
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**计算**:
|
|
|
|
|
|
|
|
|
|
如上面的年龄,有3个类(青年、中年、老年),
|
|
|
|
|
|
|
|
|
|