第5章 分类: 其他技术
基于规则的分类
最近邻分类
贝叶斯分类
神经网络
支持向量机
组合方法
不平衡类问题
多类问题
5.1 基于规则的分类器
基于规则的分类器
n 使用一组 “if…then…” 规则进行分类
n 规则表示为: (Condition) y
n 其中
n Condition 是属性测试的合取
n y 是类标号
n 左部: 规则的前件或前提
n 右部: 规则的结论
n 分类规则的例子:
n (Blood Type=Warm) (Lay Eggs=Yes) Birds
n (Taxable Income < 50K) (Refund=Yes) Evade =No
2022年6月6日星期一
数据挖掘导论
3
基于规则的分类器: 例
n 脊椎动物数据集
名称
人类
蟒蛇
鲑鱼
鲸
青蛙
巨蜥
蝙蝠
鸽子
猫
虹鳉
美洲鳄
企鹅
豪猪
鳗鲡
蝾螈
体温 表皮覆盖 胎生 水生动物 飞行动物 有腿 冬眠 类标号
恒温
冷血
冷血
恒温
冷血
冷血
恒温
恒温
恒温
冷血
冷血
恒温
恒温
冷血
冷血
毛发
鳞片
鳞片
毛发
无
鳞片
毛发
羽毛
软毛
鳞片
鳞片
羽毛
刚毛
鳞片
无
是
否
否
是
否
否
是
否
是
是
否
否
是
否
否
否
否
是
是
半
否
否
否
否
是
半
半
否
是
半
否
否
否
否
否
否
是
是
否
否
否
否
否
否
否
是
否
否
否
是
是
是
是
是
否
是
是
是
否
是
否
是
否
否
是
否
是
否
否
否
否
否
是
否
是
哺乳类
爬行类
鱼类
哺乳类
两栖类
爬行类
哺乳类
鸟类
哺乳类
鱼类
爬行类
鸟类
哺乳类
鱼类
两栖类
2022年6月6日星期一
数据挖掘导论
4
基于规则的分类器的使用
n 如果该实例的属性满足规则 r 的条件,则称规则 r 覆盖 实例 x
n 当 r 覆盖给定的记录时,称 r 被触发
n 脊椎动物分类问题的规则集:
r1:(胎生 = 否)(飞行动物 = 是)→ 鸟类
r2:(胎生 = 否)(水生动物 = 是)→ 鱼类
r3:(胎生 = 是)(体温 = 恒温)→ 哺乳类
r4:(胎生 = 否)(飞行动物 = 否)→ 爬行类
r5:(水生动物 = 半)→ 两栖类
名称
鹰
灰熊
体温 表皮覆盖 胎生 水生动物 飞行动物 有腿 冬眠 类标号
恒温
恒温
羽毛
软毛
否
是
否
否
是
否
是
是
否
是
?
?
n 规则r1覆盖“鹰” => 鸟类
n 规则r3 覆盖“灰熊” => 哺乳类
2022年6月6日星期一
数据挖掘导论
5
规则的质量
n 用覆盖率和准确率来度量
n 给定数据集D和分类规则
r : (Condition) y
n 规则的覆盖率(coverage) :
n 满足规则前件的记录所占的
比例
n 规则的准确率(accuracy) :
n 在满足规则前件的记录中,
满足规则后件的记录所占的
比例
n 规则: (Status=Single) No
Coverage = 40%, Accuracy = 50%
Tid Refund Marital
Status
Taxable
Income Class
Yes
1
No
2
No
3
Yes
4
No
5
No
6
Yes
7
No
8
9
No
10 No
10
Single
125K
100K
Married
Single
70K
Married
120K
Divorced 95K
60K
Married
Divorced 220K
Single
85K
75K
Married
Single
90K
No
No
No
No
Yes
No
No
Yes
No
Yes
2022年6月6日星期一
数据挖掘导论
6
如何用规则分类
n 基于规则的分类器根据测试记录所触发的规则来对
记录进行分类。
2022年6月6日星期一
数据挖掘导论
7
如何用规则分类
n 一组规则
r1:(胎生 = 否)(飞行动物 = 是)→ 鸟类
r2:(胎生 = 否)(水生动物 = 是)→ 鱼类
r3:(胎生 = 是)(体温 = 恒温)→ 哺乳类
r4:(胎生 = 否)(飞行动物 = 否)→ 爬行类
r5:(水生动物 = 半)→ 两栖类
n 待分类记录:
名称
体温
狐猴
飞行动物
水生动物
恒温
冷血
冷血
胎生
是
否
海龟
是
狗鲨
n 狐猴触发规则 r3, 它分到哺乳类
n 海龟触发规则r4和 r5----冲突(冲突类别必须得到解决)
n 狗鲨未触发任何规则(即使记录不被规则覆盖,需要确保分类器仍能对
否
否
否
?
?
?
半水生
否
是
类
记录做出可靠的预测)
2022年6月6日星期一
数据挖掘导论
8