规则学习中的规则 (rule) 指狭义的逻辑规则,呈 if-then 形式
\begin{align} \overbrace{\otimes}^{规则头} \underbrace{\gets}_{蕴含} \overbrace{f_1 \wedge \underbrace{f_2}_{文字} \wedge \cdots \wedge f_L}^{规则体} \end{align}
文字 (literal):对特征进行检验的布尔表达式,如$(天气 = 雨天)$
一个规则可以看成一个学习模型
符合规则的样本称为被该规则覆盖 (cover)
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
$\class{blue}{是 \gets (方式 = 吃饭) \wedge (疫情 = 清零)}$
$\class{red}{否 \gets (课业 = 繁重)}$
一个样本若被判定结果不同的多个规则覆盖,称发生了冲突
冲突消解 (conflict resolution):
规则集合未必能覆盖所有未知样本
\begin{align} 规则集合 = \begin{cases} 是 \gets (方式 = 吃饭) \wedge (疫情 = 清零) \\ 否 \gets (课业 = 繁重) \end{cases} \end{align}
默认规则:例如“未被规则集合覆盖的都不约会”
序贯覆盖 (sequential covering),即逐条归纳
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
$是 \gets (时间 = 周六)$
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
$是 \gets (时间 = 周日)$
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
$是 \gets (时间 = 周六) \wedge (方式 = 吃饭)$
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
$是 \gets (时间 = 周日) \wedge (方式 = 吃饭)$
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
$是 \gets (时间 = 周日) \wedge (方式 = 吃饭)$
$\class{red}{是 \gets (时间 = 周间) \wedge (课业 = 轻松)}$
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
$是 \gets (时间 = 周日) \wedge (方式 = 吃饭)$
$\class{red}{是 \gets (时间 = 周间) \wedge (课业 = 轻松)}$
$\class{yellow}{是 \gets (方式 = 吃饭) \wedge (课业 = 轻松)}$
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
$是 \gets (时间 = 周日) \wedge (方式 = 吃饭)$
$\class{red}{是 \gets (时间 = 周间) \wedge (课业 = 轻松)}$
$\class{yellow}{是 \gets (方式 = 吃饭) \wedge (课业 = 轻松)}$
$\class{blue}{是 \gets (课业 = 轻松) \wedge (电视 = 精彩)}$
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
$是 \gets (时间 = 周日) \wedge (方式 = 吃饭)$
$\class{red}{是 \gets (时间 = 周间) \wedge (课业 = 轻松)}$
$\class{yellow}{是 \gets (方式 = 吃饭) \wedge (课业 = 轻松)}$
$\class{blue}{是 \gets (课业 = 轻松) \wedge (电视 = 精彩)}$
$\class{orange}{是 \gets (课业=适中) \wedge (电视 = 无聊)}$
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
$是 \gets (时间 = 周日) \wedge (方式 = 吃饭)$
$\class{red}{是 \gets (时间 = 周间) \wedge (课业 = 轻松)}$
$\class{yellow}{是 \gets (方式 = 吃饭) \wedge (课业 = 轻松)}$
$\class{blue}{是 \gets (课业 = 轻松) \wedge (电视 = 精彩)}$
$\class{orange}{是 \gets (课业=适中) \wedge (电视 = 无聊)}$
$\class{cyan}{是 \gets (时间 = 周六) \wedge (方式=逛街) \\ \quad \quad \quad \wedge (课业 = 轻松)}$
序贯覆盖:删除样本
决策树:划分样本
输入:训练集$\dc = \{ (\xv_i, y_i) \}_{i \in [m]}$,属性集$\ac = \{ a_j \}_{j \in [d]}$
过程:函数$\TG(\dc,\ac)$
输出:以$\node$为根结点的一棵决策树
目标:随着划分的不断进行,决策树结点的纯度越来越高
设数据集$\dc$中第$k$类样本的比例为$p_k = p(y = k)$,熵定义为
\begin{align} H(\dc) = - \sum_{k \in [C]} p_k \log p_k \end{align}
设属性$a$取值为$a_1, \ldots, a_V$,据此可将$\dc$划分为$\dc_1, \ldots, \dc_V$
用属性$a$对$\dc$进行划分产生的信息增益 (information gain)
\begin{align} \gain(\dc,a) = H(\dc) - \sum_{v \in [V]} \frac{|\dc_v|}{|\dc|} H(\dc_v) \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
\begin{align} H(\dc) & = - \frac{8}{17} \log \frac{8}{17} - \frac{9}{17} \log \frac{9}{17} \\ & = \log 17 - \frac{18}{17} \log 3 - \frac{24}{17} = 0.998 \end{align}
\begin{align} \class{red}{\dc_1}-周六,\class{yellow}{\dc_2}-周日,\class{blue}{\dc_3}-周间 \end{align}
\begin{align} \class{red}{H(\dc_1)} & = - \frac{3}{6} \log \frac{3}{6} - \frac{3}{6} \log \frac{3}{6} = \log 2 = 1 \\[4pt] \class{yellow}{H(\dc_2)} & = - \frac{4}{6} \log \frac{4}{6} - \frac{2}{6} \log \frac{2}{6} \\ & = \log 3 - \frac{2}{3} = 0.918 \\[4pt] \class{blue}{H(\dc_3)} & = - \frac{1}{5} \log \frac{1}{5} - \frac{4}{5} \log \frac{4}{5} \\ & = \log 5 - \frac{8}{5} = 0.722 \end{align}
\begin{align} \gain & (\dc, 时间) = 0.998 - \frac{6}{17} \times 1 \\ & - \frac{6}{17} \times 0.918 - \frac{5}{17} \times 0.722 = 0.108 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
\begin{align} H(\dc) & = - \frac{8}{17} \log \frac{8}{17} - \frac{9}{17} \log \frac{9}{17} \\ & = \log 17 - \frac{18}{17} \log 3 - \frac{24}{17} = 0.998 \end{align}
\begin{align} \class{red}{\dc_1}-吃饭,\class{yellow}{\dc_2}-逛街,\class{blue}{\dc_3}-学习 \end{align}
\begin{align} \class{red}{H(\dc_1)} & = - \frac{5}{8} \log \frac{5}{8} - \frac{3}{8} \log \frac{3}{8} \\ & = 3 - \frac{5}{8} \log 5 - \frac{3}{8} \log 3 = 0.954 \\[4pt] \class{yellow}{H(\dc_2)} & = - \frac{3}{7} \log \frac{3}{7} - \frac{4}{7} \log \frac{4}{7} \\ & = \log 7 - \frac{3}{7} \log 3 - \frac{8}{7} = 0.985 \\[4pt] \class{blue}{H(\dc_3)} & = 0 \end{align}
\begin{align} \gain & (\dc, 方式) = 0.998 - \frac{8}{17} \times 0.954 \\ & - \frac{7}{17} \times 0.985 = 0.143 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
\begin{align} H(\dc) & = - \frac{8}{17} \log \frac{8}{17} - \frac{9}{17} \log \frac{9}{17} \\ & = \log 17 - \frac{18}{17} \log 3 - \frac{24}{17} = 0.998 \end{align}
\begin{align} \class{red}{\dc_1}-晴天,\class{yellow}{\dc_2}-阴天,\class{blue}{\dc_3}-雨天 \end{align}
\begin{align} \class{red}{H(\dc_1)} & = - \frac{6}{10} \log \frac{6}{10} - \frac{4}{10} \log \frac{4}{10} \\ & = \log 5 - \frac{3}{5} \log 3 - \frac{2}{5} = 0.971 \\[4pt] \class{yellow}{H(\dc_2)} & = - \frac{2}{5} \log \frac{2}{5} - \frac{3}{5} \log \frac{3}{5} \\ & = \log 5 - \frac{3}{5} \log 3 - \frac{2}{5} = 0.971 \\[4pt] \class{blue}{H(\dc_3)} & = 0 \end{align}
\begin{align} \gain & (\dc, 天气) = 0.998 - \frac{10}{17} \times 0.971 \\ & - \frac{5}{17} \times 0.971 = 0.141 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
\begin{align} H(\dc) & = - \frac{8}{17} \log \frac{8}{17} - \frac{9}{17} \log \frac{9}{17} \\ & = \log 17 - \frac{18}{17} \log 3 - \frac{24}{17} = 0.998 \end{align}
\begin{align} \class{red}{\dc_1}-轻松,\class{yellow}{\dc_2}-适中,\class{blue}{\dc_3}-繁重 \end{align}
\begin{align} \class{red}{H(\dc_1)} & = - \frac{7}{9} \log \frac{7}{9} - \frac{2}{9} \log \frac{2}{9} \\ & = 2 \log 3 - \frac{7}{9} \log 7 - \frac{2}{9} = 0.764 \\[4pt] \class{yellow}{H(\dc_2)} & = - \frac{1}{5} \log \frac{1}{5} - \frac{4}{5} \log \frac{4}{5} \\ & = \log 5 - \frac{8}{5} = 0.722 \\[4pt] \class{blue}{H(\dc_3)} & = 0 \end{align}
\begin{align} \gain & (\dc, 课业) = 0.998 - \frac{9}{17} \times 0.764 \\ & - \frac{5}{17} \times 0.722 = 0.381 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
\begin{align} H(\dc) & = - \frac{8}{17} \log \frac{8}{17} - \frac{9}{17} \log \frac{9}{17} \\ & = \log 17 - \frac{18}{17} \log 3 - \frac{24}{17} = 0.998 \end{align}
\begin{align} \class{red}{\dc_1}-清零,\class{yellow}{\dc_2}-平缓,\class{blue}{\dc_3}-严峻 \end{align}
\begin{align} \class{red}{H(\dc_1)} & = - \frac{5}{7} \log \frac{5}{7} - \frac{2}{7} \log \frac{2}{7} \\ & = \log 7 - \frac{5}{7} \log 5 - \frac{2}{7} = 0.863 \\[4pt] \class{yellow}{H(\dc_2)} & = - \frac{3}{6} \log \frac{3}{6} - \frac{3}{6} \log \frac{3}{6} = \log 2 = 1 \\[4pt] \class{blue}{H(\dc_3)} & = 0 \end{align}
\begin{align} \gain & (\dc, 疫情) = 0.998 - \frac{7}{17} \times 0.863 \\ & - \frac{6}{17} \times 1 = 0.289 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
\begin{align} H(\dc) & = - \frac{8}{17} \log \frac{8}{17} - \frac{9}{17} \log \frac{9}{17} \\ & = \log 17 - \frac{18}{17} \log 3 - \frac{24}{17} = 0.998 \end{align}
\begin{align} \class{red}{\dc_1}-精彩,\class{yellow}{\dc_2}-无聊 \end{align}
\begin{align} \class{red}{H(\dc_1)} & = - \frac{6}{12} \log \frac{6}{12} - \frac{6}{12} \log \frac{6}{12} = 1 \\[4pt] \class{yellow}{H(\dc_2)} & = - \frac{2}{5} \log \frac{2}{5} - \frac{3}{5} \log \frac{3}{5} \\ & = \log 5 - \frac{3}{5} \log 3 - \frac{2}{5} = 0.971 \end{align}
\begin{align} \gain & (\dc, 电视) = 0.998 - \frac{12}{17} \times 1 \\ & - \frac{5}{17} \times 0.971 = 0.006 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 11 | 周间 | 学习 | 雨天 | 繁重 | 严峻 | 精彩 | 否 |
| 12 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 无聊 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
| 16 | 周间 | 吃饭 | 晴天 | 繁重 | 严峻 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
\begin{align} & \gain (\dc, 时间) = 0.108 \\ & \gain (\dc, 方式) = 0.143 \\ & \gain (\dc, 天气) = 0.141 \\ & \gain (\dc, 课业) = \class{blue}{0.381} \\ & \gain (\dc, 疫情) = 0.289 \\ & \gain (\dc, 电视) = 0.006 \\[4pt] & 属性\class{blue}{课业}的信息增益最大 \\[4pt] & \dc_1 = \{ 1, 2, 3, 4, 5, 6, 8, 10, 15 \} \\ & \dc_2 = \{ 7, 9, 13, 14, 17 \} \\ & \dc_3 = \{ 11, 12, 16 \} ,全负 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 7 | 周日 | 逛街 | 晴天 | 适中 | 平缓 | 无聊 | 是 |
| 9 | 周日 | 逛街 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
| 13 | 周六 | 逛街 | 晴天 | 适中 | 清零 | 精彩 | 否 |
| 14 | 周间 | 逛街 | 阴天 | 适中 | 清零 | 精彩 | 否 |
| 17 | 周六 | 吃饭 | 阴天 | 适中 | 平缓 | 精彩 | 否 |
\begin{align} & 时间: \frac{2}{5} H(\class{blue}{\{ 7,9 \}}) + \frac{2}{5} H(\{ 13,17 \}) + \frac{1}{5} H(\{ 14 \}) > 0 \\ & 方式: \frac{4}{5} H(\class{blue}{\{ 7,9,13,14 \}}) + \frac{1}{5} H(\{ 17 \}) > 0 \\ & 天气: \frac{2}{5} H(\class{blue}{\{ 7,13 \}}) + \frac{3}{5} H(\{ 9,14,17 \}) > 0 \\ & 疫情: \frac{3}{5} H(\class{blue}{\{ 7,9,17 \}}) + \frac{2}{5} H(\{ 13,14 \}) > 0 \\ & 电视: \frac{1}{5} H(\{ 7 \}) + \frac{4}{5} H(\{ 9,13,14,17 \}) = 0 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
\begin{align} & \gain (\dc_1, 时间) = H (\dc_1) - \frac{4}{9} \class{red}{H(\{ 1,4,6,10 \})} - \frac{4}{9} \class{yellow}{H(\{ 2,3,8,15 \})} - \frac{1}{9} \class{blue}{H(\{ 5 \})} \\ & = \left( - \frac{7}{9} \log \frac{7}{9} - \frac{2}{9} \log \frac{2}{9} \right) - \frac{4}{9} \left( - \frac{3}{4} \log \frac{3}{4} - \frac{1}{4} \log \frac{1}{4} \right) - \frac{4}{9} \left( - \frac{3}{4} \log \frac{3}{4} - \frac{1}{4} \log \frac{1}{4} \right) \\ & = \frac{8}{3} \log 3 - \frac{7}{9} \log 7 - 2 = 0.043 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
\begin{align} & \gain (\dc_1, 方式) = H (\dc_1) - \frac{5}{9} \class{red}{H(\{ 1,2,3,4,5 \})} - \frac{3}{9} \class{yellow}{H(\{ 6,8,15 \})} - \frac{1}{9} \class{blue}{H(\{ 10 \})} \\ & = \left( - \frac{7}{9} \log \frac{7}{9} - \frac{2}{9} \log \frac{2}{9} \right) - \frac{3}{9} \left( - \frac{2}{3} \log \frac{2}{3} - \frac{1}{3} \log \frac{1}{3} \right) \\ & = \frac{5}{3} \log 3 - \frac{7}{9} \log 7 = 0.458 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
\begin{align} & \gain (\dc_1, 天气) = H (\dc_1) - \frac{6}{9} \class{red}{H(\{ 1,3,5,6,8,15 \})} - \frac{2}{9} \class{yellow}{H(\{ 2,4 \})} - \frac{1}{9} \class{blue}{H(\{ 10 \})} \\ & = \left( - \frac{7}{9} \log \frac{7}{9} - \frac{2}{9} \log \frac{2}{9} \right) - \frac{6}{9} \left( - \frac{5}{6} \log \frac{5}{6} - \frac{1}{6} \log \frac{1}{6} \right) \\ & = \frac{4}{3} \log 3 - \frac{7}{9} \log 7 + \frac{5}{9} \log 5 - \frac{8}{9} = 0.331 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
\begin{align} & \gain (\dc_1, 疫情) = H (\dc_1) - \frac{5}{9} \class{red}{H(\{ 1,2,3,4,5 \})} - \frac{3}{9} \class{yellow}{H(\{ 6,8,15 \})} - \frac{1}{9} \class{blue}{H(\{ 10 \})} \\ & = \left( - \frac{7}{9} \log \frac{7}{9} - \frac{2}{9} \log \frac{2}{9} \right) - \frac{3}{9} \left( - \frac{2}{3} \log \frac{2}{3} - \frac{1}{3} \log \frac{1}{3} \right) \\ & = \frac{5}{3} \log 3 - \frac{7}{9} \log 7 = 0.458 \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 1 | 周六 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 2 | 周日 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 3 | 周日 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 4 | 周六 | 吃饭 | 阴天 | 轻松 | 清零 | 精彩 | 是 |
| 5 | 周间 | 吃饭 | 晴天 | 轻松 | 清零 | 精彩 | 是 |
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 10 | 周六 | 学习 | 雨天 | 轻松 | 严峻 | 无聊 | 否 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
\begin{align} & \gain (\dc_1, 电视) = H (\dc_1) - \frac{6}{9} \class{red}{H(\{ 1,2,3,4,5,8 \})} - \frac{3}{9} \class{yellow}{H(\{ 6,10,15 \})} \\ & = \left( - \frac{7}{9} \log \frac{7}{9} - \frac{2}{9} \log \frac{2}{9} \right) - \frac{3}{9} \left( - \frac{2}{3} \log \frac{2}{3} - \frac{1}{3} \log \frac{1}{3} \right) \\ & = \frac{5}{3} \log 3 - \frac{7}{9} \log 7 = 0.458 \end{align}
\begin{align} & \gain (\dc_1, 时间) = 0.043 \\ & \gain (\dc_1, 方式) = 0.458 \\ & \gain (\dc_1, 天气) = 0.331 \\ & \gain (\dc_1, 疫情) = \class{blue}{0.458} \\ & \gain (\dc_1, 电视) = 0.458 \\[4pt] & \{ 1, 2, 3, 4, 5 \} 全正,\{ 10 \} 全负 \\[4pt] & \dc_4 = \{ 6, 8, 15 \} \\ \end{align}
| 次序 | 时间 | 方式 | 天气 | 课业 | 疫情 | 电视 | 约会 |
|---|---|---|---|---|---|---|---|
| 6 | 周六 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 是 |
| 8 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 精彩 | 是 |
| 15 | 周日 | 逛街 | 晴天 | 轻松 | 平缓 | 无聊 | 否 |
\begin{align} & \gain (\dc_4, 时间) = \gain (\dc_4, 电视) = H(\dc_4) - \frac{2}{3} \times 1, ~ 不妨选时间 \end{align}
ID3 (iterative dichotomiser)
信息增益偏好取值数目多的属性,将“次序”加入属性集会如何?
C4.5 决策树:使用增益率选择最优划分属性
\begin{align} \mathrm{Gain\_ratio} = \frac{\gain(\dc,a)}{\mathrm{IV}(a)}, \quad \mathrm{IV}(a) = -\sum_{v \in [V]} \frac{|\dc_v|}{|\dc|} \log \frac{|\dc_v|}{|\dc|} \end{align}
分类回归树 (classification and regression tree, CART)
\begin{align} \gini(\dc) = \sum_{k \in [C]} \sum_{k' \ne k} p_k p_{k'}, \quad \mathrm{Gini\_index} (\dc,a) = \sum_{v \in [V]} \frac{|\dc_v|}{|\dc|} \gini(\dc_v) \end{align}
给定数据集$\dc$和属性$a$,假设$m$个样本出现了$n$个不同的取值
\begin{align} a_1 < a_2 < \cdots < a_n \end{align}
考虑$n-1$个区间的中点作为候选划分点
\begin{align} T_a = \left\{ \frac{a_i+a_{i+1}}{2} \mid i \in [n-1] \right\} \end{align}
每个划分点$t$将数据集$\dc$分为$\dc_+^{(t)}$和$\dc_-^{(t)}$两部分,信息增益为
\begin{align} \gain(\dc,a) & = \max_{t \in T_a} \gain (\dc,a,t) \\ & = \max_{t \in T_a} \left\{ H(\dc) - \frac{|\dc_+^{(t)}|}{|\dc|} H(\dc_+^{(t)}) - \frac{|\dc_-^{(t)}|}{|\dc|} H(\dc_-^{(t)}) \right\} \end{align}
美国植物学家安德森收集,英国统计学家费雪引入到统计分析中
150 个样本
4 个特征
3 个类别,每类 50 个样本
import numpy as np import pandas as pd from sklearn.datasets import load_iris iris = load_iris() print(iris.DESCR) # -------------------- # Iris plants dataset # # **Data Set Characteristics:** # # :Number of Instances: 150 (50 in each of three classes) # :Number of Attributes: 4 numeric, predictive attributes and the class # :Attribute Information: # - sepal length in cm 花萼长度 # - sepal width in cm 花萼宽度 # - petal length in cm 花瓣长度 # - petal width in cm 花瓣宽度 # - class: # - Iris-Setosa 山鸢尾 # - Iris-Versicolour 杂色鸢尾 # - Iris-Virginica 维吉尼亚鸢尾 # # :Summary Statistics: # # ============== ==== ==== ======= ===== ==================== # Min Max Mean SD Class Correlation # ============== ==== ==== ======= ===== ==================== # sepal length: 4.3 7.9 5.84 0.83 0.7826 # sepal width: 2.0 4.4 3.05 0.43 -0.4194 # petal length: 1.0 6.9 3.76 1.76 0.9490 (high!) # petal width: 0.1 2.5 1.20 0.76 0.9565 (high!) # ============== ==== ==== ======= ===== ==================== #
from sklearn import tree import graphviz clf = tree.DecisionTreeClassifier() clf = clf.fit(X, y) dot_data = tree.export_graphviz( clf, out_file=None ) graph = graphviz.Source(dot_data) graph
from sklearn import tree import graphviz clf = tree.DecisionTreeClassifier( criterion='entropy', max_depth=4 ) clf = clf.fit(X, y) dot_data = tree.export_graphviz( clf, out_file=None ) graph = graphviz.Source(dot_data) graph
class sklearn.tree.DecisionTreeClassifier(*, criterion='gini', splitter='best', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None, random_state=None, max_leaf_nodes=None, min_impurity_decrease=0.0, class_weight=None, ccp_alpha=0.0 )
决策树的每一个分支都是一条逻辑规则
决策树转化成规则集,经合并、删减,泛化性能可能会变得更好
除信息增益、增益率、基尼指数外,还有许多划分准则,它们
剪枝的方法和程度对决策树泛化性能的影响很显著
多变量决策树