数据挖掘导论学习笔记 第五章 分类算法

本文详细介绍了数据挖掘中的分类算法,包括基于规则的分类器、最近邻分类器、贝叶斯分类器,特别是朴素贝叶斯和决策树。讨论了支持向量机(SVM)、线性和非线性SVM,以及组合方法如装袋和提升。此外,还涵盖了处理不平衡类问题的策略。
摘要由CSDN通过智能技术生成

5.1基于规则的分类器

基于规则的分类器的规则用析取范式 R = ( r 1 ∨ r 2 ∨ ⋯ ∨ r k ) R=(r_1\lor r_2 \lor \cdots \lor r_k) R=(r1r2rk)表示。R称作规则集, r i r_i ri是分类规则或析取项
每一个分类规则都可以表示为:规则前件 ⇒ \Rightarrow 规则后件
如果规则r的前件和记录x的属性匹配,则称r覆盖x。称r被激发或被触发。
分类规则的质量可以用覆盖率(coverage)和准确率(accuracy)来度量 C o v e r a g e ( r ) = ∣ A ∣ ∣ D ∣ A c c u r a c y ( r ) = ∣ A ∩ y ∣ ∣ A ∣ Coverage(r)=\frac{|A|}{|D|} \\ \\ \\ Accuracy(r)=\frac{|A\cap y|}{|A|} Coverage(r)=DAAccuracy(r)=AAy
其中|A|表示符合前件的记录数, ∣ A ∩ y ∣ |A\cap y| Ay表示同时符合前后件的记录数,|D|表示记录总数。

5.1.1基于规则的分类器的工作原理

互斥规则(Mutually Exclusive Rule):如果规则集R中不存在两条规则被同一条记录触发,则称R中的规则是互斥的。。
穷举规则(Exhaustive Rule):如果对属性值任一组合,R中都有一条规则加以覆盖,则称规则集R具有穷举覆盖
默认规则:默认规则的前件为空,当所有其他规则失效时触发。
有序规则(ordered rule):在这种方法中,规则集中的规则按照优先级降序排列,优先级的定义方法很多(覆盖率准确率总描述长度规则产生的顺序等)。有序的规则集也称决策表(decision list)
无序规则:允许一条测试记录触发多条分类规则,每触发一次看做一次对类的加权投票(权数可以是准确率),最后根据票数将记录分配到某个类标号。这优于有序原则,建模开销也小,但对测试记录分类很繁重。
本章主要讨论使用有序规则的分类器

5.1.2规则的排序方案

基于规则的排序方案
基于类的排序方案:大部分分类器都是用这种方案

5.1.4规则提取的直接方法

直接方法就是直接从数据中提取分类规则

Rule_set = {}; //学习的规则集初试为空
 E是训练记录,Y是类的有序集
for 每个类c do
     repeat
         Rule = Learn_One_Rule(E,Att-vals,y)
         从E中删除被Rule覆盖的训练记录;
      until终止条件被满足
      Rule_set = Rule_set +Rule%追加rule到列表尾部
end for
把默认规则插入到规则列表的尾部
返回Rule_set
1.Learn-One-Rule函数

Learn_One_Rule采用一种贪心的增长规则。他先产生一个初始规则r。并不断对该规则求精,直到满足某种终止条件为止。
规则增长策略
(1)从一般到特殊:从初始规则r(前件为空)开始,添加合取项来提高规则质量
(2)从特殊到一般:相反
束状搜索:算法维护k个最佳候选规则,个候选规则在其前件中添加或删除合取项独立增长。评估候选规则的质量,选择k个进行下一轮迭代
规则评估 由于准确率存在片面性,我们提供以下几种方法来解决问题。

(1)可以使用统计检验剪出覆盖率较低的规则。似然比(likelihood ratio)统计量: R = 2 ∑ i = 1 k f i log ⁡ 2 f i / e i R=2\sum_{i=1}^kf_i\log_2{f_i/e_i} R=2i=1kfilog2fi/ei
k表示类的个数, f i f_i fi表示被规则覆盖的类i的样本的观测频率, e i e_i ei是规则做随机猜测的期望频率。R是满足自由度为k-1的 χ 2 \chi^2 χ2分布。较大的R值说明该规则作出的正确预测数显著的大于随机猜测的结果。
(2)可以使用一种考虑规则覆盖率的评估度量:
L a p l a c e = f + + 1 n + k m 估 计 = f + + k p + n + k Laplace=\frac{f_++1}{n+k} \\ m估计=\frac{f_++k p_+}{n+k} Laplace=n+kf++1m=n+kf++kp+
n为规则覆盖的样例数, f + f_+ f+为规则覆盖的正例数,k是总类数,p+是正类的先验概率。由于规则的覆盖率,两个度量达到了准确率和正类先验概率之间的平衡。当覆盖率很高时,他们都趋向于规则的准确率 f + / n f_+/n f+/n
(3)另一种可使用的评估度量是考虑规则的支持度计数的评估度量。
F O I L 信 息 增 益 = p 1 × ( log ⁡ 2 p 1 p 1 + n 1 − log ⁡ 2 p 0 p 0 + n 0 ) FOIL信息增益=p_1 \times (\log_2{\frac{p_1}{p_1+n_1}}-\log_2{\frac{p_0}{p_0+n_0}}) FOIL=p1×(log2p1+n1p1log2p0+n0p0)在这种度量中,规则的支持度计数对应于它所覆盖的正例数。假设规则r:A→+覆盖p0个正例和n0个反例,增加新的合取项B,扩展后的规则r‘=A且B→+覆盖p1个正例,和n1个反例。
该度量值与p1和p1/(p1_n1)成正比,所以它倾向于选择那些高支持度计数和高准确率的规则。
规则剪枝,对于Learn——One——Rule函数产生的的规则,也可以像对第四章中的决策树一样剪枝,来改善泛化误差。就像4.4节介绍的那样。

2.顺序覆盖基本原理

规则提取出来后,顺序覆盖算法必须删除该规则所覆盖的所有正例和反例。

3.RIPPER算法

该算法的复杂度几乎线性的随着训练样例的数目增长,并且特别适合为类分布不均衡的数据及建立模型。它也能很好地处理噪声数据集。
RIPPER算法按照类的频率进行排序 ( y 1 , y 2 , ⋯   , y c ) (y_1,y_2,\cdots,y_c) (y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李烟云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值