!"#!$!%%
&
M
'(()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*
+,-,.))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*
),+,,/01/1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2
&)03450,61/1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2
*)'7,8,+,,/01/1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2
9)0:03,+,,/01/1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2
;)'0<,+,,/01/1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))=
),+,,/01/1,))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&&
&),+,,/01/1,))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&&
*)'7>03,+,,/01/1?,))))))))))))))))))))))))))))))))))))))))))))))))))))))&&
9)0:03,+,,/01/1?,)))))))))))))))))))))))))))))))))))))))))))))))))))))))&*
;)@,1AB,1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&*
C)'0<,+,,/01/1?,)))))))))))))))))))))))))))))))))))))))))))))))))))))&9
2)D/D0,+,,/01/1EF1/1?,))))))))))))))))))))))))))))))))))&C
),+,,/01/1?4G1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&2
E),+,,/0HI31/J,))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&=
&)G80@,)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&K
*),+,,/0LM4N03M4H))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&K
9)'7>03GBOP,+,,/0))))))))))))))))))))))))))))))))))))))))))))))))&K
;)'0<,+,,/0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))&Q
C)M0,RR,+,,/0,S/M4H)))))))))))))))))))))))))))))))))))))))*&
2),R0@,PH?,1TT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))**
=)03-,U8,N03'))))))))))))))))))))))))))))))))))))))))))))))))))*;
,F,'8/))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*C
V!WXYZ[!!Y%\]^_X`$
X_a _bWXYca a_X%_dZeWXYffZghig
!iZ[ad_jViVk#%lmjn_XV!cga _%_dZe
WXY_VidZeWXYjVYi]X_^_)
^ngjVYo_XVp`%_! !
WXYqojV)
BodyrsConsequenttSupportiConfidenceu
,%_cqi
&) i]%vBodyw)
*) !"i]!nvConsequentw)
9) #$%ifZgvx%_yVo!f%zWXYX_ce]%
]]!n{_"nk%V|w)
*
;) $&'()(icpkvx]%"nk%VqyVonz_]!n
"nk%V|w)
*+',,}V~'rsD_V%t•)9i•)Qu
€ xV,%]VD•V-Vca‚_%_Q•ƒ%a‚_ !),%i
Z•V]ca‚_ca V_%_9•ƒW„_WXY)|
./ 0)0 1
€ 3…r†
&
i
*
i
9
i)))i
‡!%a‚__…}Zv!!f•WXYw)
,!ˆV_‰k!f•WXYca _…k-ItemSet)
€ !_VvTransactionwiecqŠ_V,p!Item ,⊆
i]Š_Vqp_%‹c‹WV,)
€ ,V_…_V,\VLL⊆,iL!]}%_)
€ 3V,\VLL ⊆,i]bL!]Item%_),ŒY!f%z
_XVZga __V\V!}L%o•_Zg_V%_d
ZeWXYca _…ZgsupportˆV!itemcqi\
€ !pgjVYo_XVV!!f•WXYL
]4}WŽ_if X then Yi]•YL⇒4i
L⊂i4⊂]L∩4r∅)
€ L⇒4qZgsupports,qZƒZg_V%_\VL∪4)Eb
Z!!%ˆVp!}Zg_Vq\V!}cq)
€ Lrs4qcpkvconfidencewciy•‹Zg!f%z_Vq
\V^L∪4%oZgX__Vq\VL)
9
(D) Card
(X) Card
(X)support
=
s%
(D) Card
(X Card
Y) (Xsupport
=
∪
=⇒
wY
)
support(X)
Y)support(X
(Xconfidence
∪
=⇒
uwit csY
€ EYV !$dZeWXY`]Y#n
qcpŠ% ]cpkbd_a‘_Š% vcpŠ% g•w]_a‘_
kvcpkg•wW_a‚Z•W’_"c‹%ab)0_a‘_Š% ]
_a‘_kfa ca •Yminsup]minconf)
€ ,!ItemSetqsupportbdVky“_minsupca _…Large ItemSet)
ItemSet „Žca _…Small ItemSet)
2/ 3#45678
€ 9dZeWXYq%a‚_”TIDiitemsi]b,c‹WVˆV_V
)
€ #:(Zga _}%_!ItemSet)
€ );.<=);2<=///);<•Yp!k-ItemSetqItemyV_‰t&uit*ui)))i
tui]bt&ust*us)))stu)
€ 0rL)4]4m-ItemSetiV•__…4m-extension ˆVL)
€ 'ŠItemSetq%a‚_countc•aZgsupportItemSetcq),%a‚_count
ca eŽ_%‹y“_•ItemSetca Žfcf)
€ Ebp!_ViZ–"mkW[_pc•!Z%VX_
!q—ZgcpŠ% ]cpkbdcpŠ% ˜#
vZ!w]cpk˜#v™w)
€ ,#n !q•ca !m`Vyab
>?@).,#n!}v}Z}ZwZ!!%ˆVqbdZ!)
cq!}qZ!!%g•k_…!V%_}}Z}iX_!„
Ž_…DV}Z})
>?@)2D•W’_!V%_}}c•!ZX__g)EbŠ
!V%_}}Z}i#n!%Š_ˆV_…i]bŠ!
a]kVq⇒v€wi—Y_XVZ!!%vw]bZ!!%vw
bd™)
A/ BCD53EFGHI
;
€ W„__VW‹v%VZVw]!fWXYv}wV
cq
• Dg !q•q/v*
?&
w
• p!\Ž!`/v*
w
€ ad_!!#nhv!V}%wW[V%oZ[%_ypˆVcpŠ
% vD!!%w
• 0†iG‡qcpD!!%g• α n]GZ–cqcp
D!!%g•α
• 0šGqcpD!!%˜dα†iG‡qcpD!!%˜
dα)
• D•W’_hˆV?&}c•!YhˆV})
C
/ JKJK
!%%ca 1V}Z_%V›Vi,VZœ}Zi%D›Vc
"#fcf]z&QQ9)Gca !y•,qcpŠ% Z˜V•Z≥
Z
•
]cpk≥
•
vZ
•
i
•
V_a‘_W_a‚W{_"c‹]Z
•
rZ!!i
•
r™w)•Y
!!?’!•yi
!!?’\_]o)
Gcš%V
1) Tìm tất cả các tập mục phổ biến với minsupp nào đó.
2) Sử dụng các tập mục phổ biến để sinh ra các luật kết hợp với độ tin cậy
minconf nào đó.
€ Zga _ˆV$_}i}"#Y#)
€ ,š!\_]oš!rsš!}"#Y#)
€ ,ypyV\_]oypyVrsypyV}"#Y#)E
!’]byp;iypCiž
€ 0_koŸˆk'…!ˆV!!•y!n!!•y)
€ >?@).ZgZ!!%Š!_‰p!f•]"}l_ap
V%_}}Z})D!!%ˆVl_Z!)
€ >?@)2EbŠ!V%_}}y•Z_}]]ŽpV%_}}Z}
bi!kca _…!\_]ovVWWV}}Z}?w)ZgZ!!%
Š!%odZeWXYi$cqjkc‹!Large Item[
Z[i]VW{_Ž_g_yab!)
€ >?@)Aš!Žyab*c^_„#koip!V%_}
}Z}XV)
,!_VW‹i_a‘_Z!!%g•Z!
J?!’!•y%_
($'
&)
&
rLarge_1_ItemSetsvw
2
*)
&$%vr*
?&
≠∅ ¡¡w'$
9) L(M
;)
rV!%%?_}v
?&
w
C) &$%vŠp_VW‹,
∈
w'$
2) L(M
=)
,
rZyZ}v
i,w
K) &$%vŠp\_•]o
∈
,
w'$
Q) )¡¡
&•) ('N
&&)
r†∈
¢)≥Z!‡
&*) ('N
&9)
%}%∪
€ Large_1_ItemSetsvw %n ] Item qZg support b d Vk y“_
Z!)
&)
for alltransaction∈do
*)
for allitem∈do
9) )count¡¡
;)
&r{¢)count ≥minsup}
€ Apriori_Genv
?&
w[Y]Yš!vk-1wItemSetc•!Z
!k_ItemSetb),VZgˆV
?&
€!#nvk-1w?ItemSet]
jn%n]ˆV!k-ItemSet)
&) Join
?&
with
?&
*) Insert into
9) select!)}
&
i!)}
*
i)))!)}
?&
ij)}
?&
;) from
?&
as!i
?&
asj
C)
wherev!)}
&
rj)}
&
w∧)))∧v!)}
?*
rj)}
?*
w∧v!)}
?&
”j)}
?&
w
Yv!)}
?&
”j)}
?&
wZ–yncn^_!Zyp%{_
V)
OP.p]`W’!_VW‹$qVcdV_aZV
9 0)1QRM?)1PS(1T
& †yi i i k‡
* †yi ‡
9 †!i Zi ‡
=
; †Vi yi i W‡
C †Vi y‡
2 †}i i k‡
= †Vi yi ‡
Min Support = 30%,Min Confidence = 60%
+P%M(.U(1=P)QV.
(1 #WXYZ[
†V‡ 9
†y‡ C
†‡ 9
†‡ 9
£yab,$H&%oVq!*_‰š!*?}
††Viy‡i†Vi‡i†Vi‡i†yi‡i†yi‡i†i‡‡
+P%M(2U(1=P)QV2
(1 #WXYZ[
†Viy‡ 9
†Vi‡ &
†Vi‡ •
†yi‡ 9
†yi‡ &
†i‡ &
—#kš!*?}ZqD!!%s'D!!%vr9•ƒw_‰†Viy‡]†yi‡
0\X
V→yqcp™W}}9¤9r&••ƒ
y→Vqcp™W}}9¤Cr2•ƒ
y→qcp™W}}9¤Cr2•ƒ
→yqcp™W}}9¤9r&••ƒ
£yaba y˜VqH*r††Viy‡i†yi‡‡
£yab,$H*Vq!9_‰š!9?}†∅‡
K
$0])/
Q
OP2L¥dZeWXYhaZV
9 (1
& ii,iJ
* iiJ
9 ii,iJ
; iiiJ
C iii,iJ
2 ii,
&•
minSupr2•ƒ
minConf = 80%
(1\$;
2;,;JC
(1\$;2
;,;JC
&
&
9(1\&ii,iJ*ii
J9ii,iJ;iiiJCi
ii,iJ2ii,
Quyét CSDL
Chọn Items có support >=minSup
(1\$;
*,*J;;
,;JC,*J9,
J9
0g
*
(1\$;J
;;,;JC
Chọn Items có support >=minSup
*
(1\$J;
9
Kết nối
(1\$
J;
9
;r∅
0\X
→Jqcp™W}};¤;r&••ƒ
J→qcp™W}};¤;r&••ƒ
J→qcp™W}};¤CrK•ƒ
/ JKJK9
3n%$%9!fe%p_}ab_!dynˆV_n
!%%),Vk]W[V]dZeWXY^_n!%%,y•W¦yo%_
Š_Vye\_]oY)
€ , AprioriTID Z•W’_Apriori_Gen c•Ž! ItemSet \_
]o),k^_W{_dZeWXYc•csupport•$yab
\ViVk]cqZ•W’_!
’c`k)'Š]oˆV!
qWŽ_”,i{L
}s]bL
!k-ItemSet•Yp!f_Vq
•,iVkVq•]”),i{∈
¢q%_}s)
€ 0p_V^_\Vy#§p!k-ItemSet\_]oi_V
k^_ca caV]
k
C
)cqiZga _\_]oca caV]
k
C
q
•˜dZga __V%_dZeWXY)
!
€ >?@).U¥#n_VW‹c•#n}qcpD!!%bd
'D!!%]caV!V%_}&?}]H&
€ >?@)2aVyp,WˆV_VW‹{_}Z]¨&WabWŽ_
”,Wi†L&‡s
€ >?@)ALmkW[_š!*?}Z$H&caV]!\_]o*)U¥#n
_VW‹%_¨&c•#n!V%_}*?}$*caV]¨*
WabWŽ_”,Wi†L*‡sic‰_‚caV!V%_}*?}\_]o]H*)
€ >?@)^Z)LmkW[_š!}Z$H?&caV]!\_]o
)U¥#n_VW‹%_¨?&c•#n!V%_}?}$
]caV]¨WabWŽ_”,Wi†L‡sic‰_‚caV!V%_}?}
]H)š!ŽGab;c\_]ob)
&&
*/ JVq7KJr
0aVc•y!%%pyabcp!]V!
’a‚_"koy“_Z•W’_«—Vc•%l_…`abˆV
!’\_•),koi%_%a‚_ !Zg!’i!’Wš
_a‘_cpŠ% ˜_š!!nV!`b
€ D%VZga _•_‰!’\_•)dXVic•!Y%V!
’a‚_"koq`abi!n•%V*?*!’
a‚_"ko¬)
€ nWkYjVdZeWXYf)DgfWkYdZeWXYˆV
!%%y“_cpWˆV!’a‚_"koW#ca ),%_%a‚_
!!’a‚_"koW]dZeWXYb^_•[Yca )
,!%%!{ !]bdZeWXYaVi„]bdZeWXYWk
¥Yjn)
€ •Ÿ!’X_!`bˆV!%%z*•••-V›}Vi
-V!}]4›}4c•caV%Vbca _…HI_%›c•
!’a‚_"koy“_^_Z!’\_•$!’
a‚_"ko%ab]hYjny“_Z•W’_yV«ZV
• ,\#iZ•W’_#%lmkha‚_"ko
HI,%}}c•¥WXY)#%lHI,%}}e%p_ˆV#%lmk
!%}™")0X_l%_mk’qcpW&ica _•ye
o’]ca ZŸ!"!}fZ#"#YˆV’c•’q
Zgf"#YZ–VZ®d)
• ,\ViV!%•$_cŽhW[V%oHI,%}}iyŸ
cf$ha‚_"koq`ab&]—•%V%odZeh
!’pvWV!V}%yVZ}wieŽHI,%}}ˆVh!’pi
[YVcYjk%omkk)'hjnca jV]Y
ghg]bhbca Z%V$HI,%}}!’p)
• ,\yViW{_«!mŽ^__V
]Vc•%‹c•VY]’VX_Y]’˜d]
_bŽŽh_n^__V)
&=
,"
€ V!!•y^_Z•W’_Ž\_]o)
€ 0¥dZeWXYWŽ_#%lmkHvH%}j}V}%w)
€ kYcYjmkHc•Ž!!•y)
-./
€ >?@).kYDi#k%V!}!•yH]`cp!•yˆV
l_)DŸ!"!}%_!H}\[_nWfˆVcp!•yiV
ca !jn)
€ >?@)2,Žl_gmk,i]oˆVl_gZ–0)
DVcqWkYDf\V)¯_]bŠ_V%_D[Y*
^_]YZV
• …}!•y%__V]ZŸ!"!l_}
\[_nWfcp!•y%_!
• 3…Z}%I%}}vt!¢ui,wc•caV}]%_mk,
€ p,)i1)0)1,)?sMZ_ieR$)k_Vq%((
& %}W%}Z}%I,%}}vZ%_t!¢ui,%}},w†
* ¤¤,%_cq!’cfoˆVW•k]!f„ŽˆVW•k
9 ™mk,ql00)}IV}r!,}0)¡¡
; TZ}
C ,Žlb0
2 0)}IV}r! 0)r&
= ,Vkc•lo!
K
™!≠∅}
Q Z}%I,%}}v!i0w
&• ‡
,%01
>?@).
&K
9_ #9
[_%PtL
vyV_‰}!•y}\[_nWfˆVcp!•yw
>?@)2
\(%q%((S;u<=T
†
v&w 0,ql0ZV0)}?V}r!)}?V}
,z_0)o&)
0_ ŽŽplb]b}›W})r&io]bl V,i
]W}?ˆVqoclq•_g_q%o mk)
v*w 3…cYjZ}%I%}}^_%g_
‡
dZeWXY]b_V]’a‚_"ko%_Š_V
ca ZŸ!"!_nWf}cpŠ% vZ!r2•ƒwca •Y%_yn_
ZV
&Q
v$]MW))$)k_
9_ )w\x'yX
O.MP$0)%$M)w\x'yX
O(1tL%$M)0)MP$0)z
\{Z($h|M"1'Y`tL
7OR1\(%q%((S;u<=T
o1%P
MP$0))?P}
„
])
9 (1\
&•• ™iViiWi_iii!
*•• Viyii™iii
9•• yi™ii°i
;•• yiiiZi!
C•• Vi™ii}ii!ii
,VqpWVZš_!•y
”v™;wiv;wivV9wivy9wiv9wiv!9ws
š_c•ca ZŸ!\[_nWf}cp!•y
9 (1\ J%'(%('
&•• ™iViiWi_iii! ™iiVii!
*•• Viyii™iii ™iiViyi
9•• yi™ii°i ™iy
;•• yiiiZi! iyi!
C•• Vi™ii}ii!ii ™iiVii!
,$!WXYyVcfiV"mkW[_}VW}%Vy}ˆVmkHaZV
*•
kYjVdZeWXYc•!’a‚_"ko]ZŸ!"!_nWf}
cpŠ%
(1 $
™ ;
;
V 9
y 9
9
! 9
kYjVdZeWXYf\Vi]bŠ_VŽy˜’^_
a‚_"koi’„ŽZŸ!"!_nWf}Zgf"#YiW•k
’!•ycqca o]mk]Vkc•Zgc!{ !)
jnca HI,%}}cfkcˆaZV
' 223/
€ ¯_]b%ol_Vf`"*fj¥jV#n
_VˆVdZeWXY)
€ !`caVp_V,%VZ]%_mk/v¢,%VZ¢w)
với |Trans| là số lần xuất hiện của các item trong giao tác Trans này.
*&
( 2"1/!44
+)[.EbŠ!f•!•yVi#n!!•yq\V!f
•kq•ca y“_W„}loyŸcf$V)
,`#kqdZe%[!$"mkW[_H?%}})0q!¥!W¦
W_%V#n!!•yq\VV
y“_WkYH?%}}pf
}lo]bV
)
+)[2để tìm ra các tập phổ biến từ một nút ai trên đuờng đi P, chỉ
cần đến đường đi con trước nút ai trên P. Và số lần phổ biến của mỗi nút
trên đường đi con này phải bằng với số lần phổ biến của nút ai.
Dựa trên các tính chất trên, chúng ta có thuật toán tìm các tập phổ
biến trên cây FP-tree.
&) $0P$0M)0)1~tL\•',M)k_V
mkH?%}}
J!h!•y
($'_…H?_%›vH?%}}iw
Procedure FP-growth(Tree, α){t toánaáng các mẫu ụng cây
FP
(1) Nếu Tree có ột đường đi đơn P
(2) Thì với mỗi cách kết hợp γ của các nút trong đường đi P
thực hiện
(3) phát sinh tập mẫu γUα, support = min(support của các nút
trong γ);
(4) ngược lại ứng với mỗi a
i
trong thành phần của Tree thực
hiện {
(5) phát sinh tập mẫu β=a
i
Uα với độ phổ biến
support = a
i
.support;
(6) xây dựng cơ sở điều kiện cho β và sau đó xây dựng cây FP
Treeβ
theo điều kiện của β;
(7) Nếu Treeβ ≠ ∅
(8) thì gọi lại hàm FP-growth(Treeβ, β) }
}
**
*9
5 6789.:
€ DZ]b!%%i%o[%#qcšH?%}}]Z[!\Ž!
ˆV#%lmkH)
€ ,%_%a‚_ !DbiH?%}}Z•W’_gdc•h!•y
_Ÿ]Wye]H?_%›Žd!%%)k•o
_a‘_Z!!%Ž"g_)
€ H?%}}c ŽW[_}hqcp!•yVd“_f
_gdv!f%ow)E]k}jVc•||]|WkY|%#W¦
…%Vh]b_a‘_Vy“_y˜jV!f#!dˆVmk)
*;
TÀI LIỆU THAM KHẢO
t&u-V›}Vi-V}iVW4›}4v*•••w)'_H%}j}V}%Z›
VWWV}3}}%V),}0V%VD}}ZVWT_}}%_1}Z}V%™
VVWV)
t*u)V_iL)JiVW1)1}}v*••*w)ZZVVVkZZ›}ZV™
WVVyVZ}Z)TTT}%VV™}%}}VV'_i!V_}Z2*Q?292)
t9u-)i4)Vi)JV_iVW-)Vv*••*w)'_™%}j}}Z}Zyk
!!Z!%°})T_'D3}%VV™)›}W_}
Z]}%kVWVV'_i!V_}Z**Q?*9KiTWiy}%V)
t;uH)H%V}i)VZVViVWL)JV_v*•••w)T™™}_™Z%V}W
%%}V}WZ}Z)T¨••)
tCu?0_k}DVi0_k}_D?3%V_WXYtŽ
…^_0_Yu
t2u?)DV]V}%}iT/}ZVWD)0V]V}v&QQCwi}™™}V_%™%
_VZZV%}ZV%_}WVVyVZ}Zi*&
Z
EG±)
t=u?_%V›VVW-)DV™}%v&QQ2wiV%V}_™VZZV%}ZiTTT
,%VZi›}W_}VWVVT__i!V_}ZKv2wQ2*€Q2Q)
tKu?i_v&QQKwi'_ZZV1}ZJJ}_}W}Zi
,}}Z}]}%Zk™__i_Z)
tQu?)'VVi),]}VW)E}%Vv&QQ;wi}™™}V_%Z™%
WZ]}%_VZZV%}ZiJZ!i›}W_}Z]}%%k
VVyVZ}Zi-k)
t&•u 1) _%V›V VW 1) D%V) HVZ V_%Z ™%_ VZZV%}Z)
EG²Q;;K=?;QQiDVV_i})
*C