例2:
数据库面向5个事物,min-sup=60%,min-conf=80%. TID T100
购买商品
{M,O,N,K,E,Y}
T200 {D,O,N,K,E,Y}
T300 T400 T500
{M,A,K,E } {M,U,C,K,Y} {C,O,O,K,I,E}
(1) 分别用Apriori算法找出所有频繁项集
(2) 列举所有与下面的元规则匹配的强关联规则(给出支持度S和置信度C),
其中,X代表顾客的变量,item代表项的变量(如“A”,“B”等) 对于? x∈transaction,buys(X,item1)^buys(X,item2)=>buys(X,item3) [S,C] 解:(1)、用Apriori算法找出所有频繁项集。原数据库D如下: TID T100 T200 T300
Items M O N K E Y D O N K E Y M A K E
T400 M U C K Y T500 C O O K I E
扫描D后,得到候选1-项集C1,如下所示: Itemset {M} {O} {N} {K} {E} {Y} Sup
3
3
2
5
4
3
从而得到频繁一项集L1:
itemset sup {M} 3 {O} 3 {K} 5 {E} 4 {Y}
3
{D} {A} 1
1
{U} {C} 1
2
{I} 1
再次扫描D后,得到候选2-项集C2: Itemset {M,
O}
Sup
1
3
2
2
3
{M,K} {M,E} {M,Y} {O,K} {O,E
} 3
2 {O,Y} {K,E
} 4
3
2
{K,Y} {E,Y}
根据上面候选2-项集,产生频繁2-项集L2: Itemset Sup
{M,K} 3
{O,K} 3
{O.E} 3
{K,E} 4
{K,Y} 3
再次扫描D后,得到候选3-项集C3: Itemset {M,O,K} {M ,K,E
}
Sup
1
2
2
3
2
2
2
{M,K,Y} {O,K,E} {O,K,Y} {K,E,Y} {O,E,Y}
根据上面候选3-项集,产生频繁3-项集L3:
Itemset {O,K,E}
Sup 3
综上所述,得到所有的频繁项集如下所示: 频繁1-项集:{M};{O};{K};{E};{Y}.
频繁2-项集:{M,K};{O,K};{O,E};{K,E};{K,Y}. 频繁3-项集:{O,E,K}.
(2)、从上面得出的频繁3-项集中,构造如下关联规则:
buys(X,O)^buys(X,E)=>buys(X,K) [support=3/5=60%,confidence=100%] buys(X,O)^buys(X,K)=>buys(X,E) [support=3/5=60%,confidence=100%]
buys(X,E)^buys(X,K)=>buys(X,O) [support=3/5=60%,confidence=75%] 得到符合条件的强关联规则,即sup>=60%,conf>=80%,如下所示: buys(X,O)^buys(X,E)=>buys(X,K) [support=3/5=60%,confidence=100%] buys(X,O)^buys(X,K)=>buys(X,E) [support=3/5=60%,confidence=100%] 二、 决策树算法的基本思想,采用ID3算法进行分类。
监督式(supervised learning)的机器学习法------决策树(Decision Tree)
非监督式(unsupervised learning)的机器学习法-----集群分析法(Cluster Analysis) 基础知识:信息论:若一事件有k种结果,对应的机率为Pi。则此事件发生后所得到的信息量I(视为Entropy)为:I=-(p1*log2(p1)+ p2*log2(p2)+?+ pk*log2(pk)) 如:设 k=4? p1=0.25,p2=0.25,p3=0.25,p4=0.25 I=-(0.25*log2(0.25)*4)=2
信息获利(Information Gain) :若分类标记(Y)分为(成功、失败)两种,X为预测变量(类别属性;k类),n为总样本数(n1为总样本数中具成功标记的个数),经由X变量将样本分类后mi为X=i类中的总样本个数(mi1为X=i类中具成功标记的个数)。根据变量X将n个样本分为m1,m2,?,mk的信息获利为:Gain(X)=I(n,n1)-E(X),其中I(n,n1)=-((n1/n)log2(n1/n)+(1-n1/n)log2(1-n1/n))E(X)=(m1/n)*I(m1,m11)+(m2/n)*I(m2,m21)+?(mk/n)*I(mk,mk1)
ID3算法(C4.5,C5.0)的一个例子:
I(16,4)=-((4/16)*log2(4/16)+(12/16)*log2(12/16))=0.8113
E(年龄)=(6/16)*I(6,1)+(10/16)*I(10,3)=0.7946 Gain(年龄)=I(16,4)-E(年龄)=0.0167