KHAI THÁC
'Ӳ/,ӊ8
Ӭ1*'Ө1*
(DATA MINING)
*91*8<ӈ1+2¬1*7Ò$1+
1
BÀI 4 ± 3+ɣ1
PHÂN LӞP DӲ
LIӊU
2
1
NӜI DUNG
1. *LͳLWKL͟X
2.
3.
3KѭѫQJ pháp GӵD trên cây
TX\ӃW ÿӏQK
3KѭѫQJ pháp GӵD trên OXұW
3
*,Ӟ,7+,ӊ8
1. Phân OӟS :
Cho WұS các PүX ÿm phân OӟS WUѭӟF xây
GӵQJ mô hình cho WӯQJ OӟS
0ͽF ÿtFK : Gán các P̓X PͳL vào các OͳS
YͳL ÿͱ chính xác cao QK̽W có WK͛.
Cho CSDL D={t1,t2,«,tn} và WұS các OӟS
C={C1,«,Cm}, phân OͳS là bài toán xác
ÿӏQK ánh [ҥ f : DJ
JC sao cho PӛL ti ÿѭӧF
gán vào PӝW OӟS.
4
2
*,Ӟ,7+,ӊ8
Ví Gͽ Phân OͳS :
Phân OӟS khách hàng (trong
ngân hàng) ÿӇ cho vay hay
không
'Ή ÿRiQ W͗ bào NKͩL u là lành
tính hay ác tính
Phân ORҥL giao GӏFK WKҿ tín GөQJ
là KӧS pháp hay gian OұQ
Phân OR̹L tin WF WKXͱF OƭQK YΉF
tài chính, WK͵L WL͗W JL̻L trí, WK͛
thao, «
'ӵ ÿRiQ khi nào sông có ONJ
&KX́Q ÿRiQ y khoa
5
*,Ӟ,7+,ӊ8
2. Qui trình phân OӟS :
%́ͳF 1 : Xây GΉQJ mô hình
Mô W̻ WͅS các OͳS xác ÿͣQK WÚͳF
7ұS KXҩQ OX\ӋQ : các PүX / Eӝ dành
cho xây GӵQJ mô hình
0ӛL PүX Eӝ WKXӝF YӅ PӝW OӟS ÿm
ÿӏQK QJKƭD WUѭӟF
Tìm OXͅW phân OͳS cây TX\͗W ÿͣQK
KR͏F công WKF toán mô W̻ OͳS
6
3
*,Ӟ,7+,ӊ8
2. Qui trình phân OӟS (tt) :
%́ͳF 2 : 6΅ GͽQJ mô hình
Phân OͳS các ÿͩL ẂͻQJ FḰD EL͗W
Xác ÿӏQK ÿӝ chính xác FӫD mô hình, Vӱ
GөQJ WұS DL NLӇP tra ÿӝF OұS
Ĉӝ chính xác FKҩS QKұQ ÿѭӧF -> áp
GөQJ mô hình ÿӇ phân OӟS các PүXEӝ
FKѭD xác ÿӏQK ÿѭӧF nhãn OӟS
7
9tGө;'P{KuQK
Training
Data
NAME
Mike
Mary
Bill
Jim
Dave
Anne
RANK
YEARS TENURED
Assistant Prof
3
no
Assistant Prof
7
yes
Professor
2
yes
Associate Prof
7
yes
Assistant Prof
6
no
Associate Prof
3
no
Classification
Algorithms
Classifier
(Model)
,)UDQN µSURIHVVRU¶
OR years > 6
7+(1WHQXUHG µ\HV¶
8
4
9tGө6ӱGөQJP{KuQK
Classifier
Testing
Data
Unseen Data
(Jeff, Professor, 4)
NAME
Tom
Merlisa
George
Joseph
RANK
YEARS TENURED
Assistant Prof
2
no
Associate Prof
7
no
Professor
5
yes
Assistant Prof
7
yes
Tenured?
9
*,Ӟ,7+,ӊ8
3. Các Nӻ WKXұW phân OӟS :
3Ḱ˿QJ pháp GΉD trên cây TX\͗W
ÿͣQK
3KѭѫQJ pháp GӵD trên OXұW
3Ḱ˿QJ pháp Naïve Bayes
3KѭѫQJ pháp GӵD trên WKӇ KLӋQ
0ҥQJ 1ѫURQ
SVM (support vector machine)
7ұS thô
10
5
NӜI DUNG
1.
*LӟLWKLӋX
2.
3Ḱ˿QJSKiSGΉD
WUrQFk\TX\͗WÿͣQK
3.
3KѭѫQJSKiSGӵDWUrQOXұW
11
&Æ<48<ӂ7Ĉӎ1+
1. ĈӏQK QJKƭD
2. Xây GӵQJ cây TX\ӃW ÿӏQK
3. 7KXұW toán xây GӵQJ cây TX\ӃW ÿӏQK
4. Cách phân chia PүX
z Ĉӝ ÿR ÿӇ OӵD FKӑQ WKXӝF tính
5. 9ҩQ ÿӅ quá phù KӧS YӟL DL
6. ѬX ÿLӇP
12
6
&Æ<48<ӂ7Ĉӎ1+
1. ĈӏQK QJKƭD
1~WQӝLEӝ
1~WJӕF
&k\TX\ӃWÿӏQKOjPӝW
FҩXWU~FSKkQFҩSFӫD
các nút và các nhánh
ORҥLQ~WWUrQFk\
1~WJӕF
1~WQӝLEӝPDQJWrQ
WKXӝFWtQKFӫD&6'/
1~WOiPDQJWrQOӟS
Ci
1KiQKPDQJJLiWUӏ
FӫDWKXӝFWtQK
Nút lá
13
&Æ<48<ӂ7Ĉӎ1+
2. Xây GӵQJ cây TX\ӃW ÿӏQK
z *ӗP 2 EѭӟF :
z %́ͳF 1 : 7KL͗W OͅS cây TX\͗W ÿͣQK
z %ҳW ÿҫX Wӯ JӕF
z .LӇP tra các giá WUӏ FӫD WKXӝF tính và phân
chia các PүX ÿӋ qui
z %́ͳF 2 : 7͡D EͳW cây
z Xác ÿӏQK và ORҥL Eӓ EӟW các nhánh không әQ
ÿӏQK KRһF cá ELӋW
14
7
9Ë'Ө'ӳOLӋXKXҩQOX\ӋQ
age
<=30
<=30
«
>40
>40
>40
«
<=30
<=30
>40
<=30
«
«
>40
income student credit_rating buys_computer
high
no
fair
no
high
no
excellent
no
high
no
fair
yes
medium
no
fair
yes
low
yes fair
yes
low
yes excellent
no
low
yes excellent
yes
medium
no
fair
no
low
yes fair
yes
medium
yes fair
yes
medium
yes excellent
yes
medium
no
excellent
yes
high
yes fair
yes
medium
no
excellent
no
15
9Ë'Ө&Æ<48<ӂ7Ĉӎ1+
age?
<=30
student?
no
yes
no
yes
31..40
yes
>40
credit rating?
excellent fair
no
yes
16
8
&Æ<48<ӂ7Ĉӎ1+
3. 7KXұW toán xây GӵQJ cây TX\ӃW
ÿӏQK
z +XQW¶V$OJRULWKP
z CART
z ID3, C4.5
z SLIQ, SPRINT
17
&Æ<48<ӂ7Ĉӎ1+
3. 7KXұW toán xây GӵQJ cây TX\ӃW ÿӏQK
z Ý WѭӣQJ chính :
z 3Ḱ˿QJ pháp ³WKDP ODP´ (greedy)
z Phân chia WͅS P̓X GΉD trên WKXͱF tính cho
N͗W TX̻ WͩL ́X hóa tiêu FKX́Q
z 9̽Q ÿ͙ :
z Xác ÿͣQK cách phân chia các P̓X
z 'ΉD trên ÿͱ ÿR VΉ ÿͫQJ QK̽W FͿD G· OL͟X
z ĈL͙X NL͟Q GQJ
18
9
&Æ<48<ӂ7Ĉӎ1+
3. 7KXұW toán xây GӵQJ cây TX\ӃW ÿӏQK
(tt)
z ĈL͙X NL͟Q GQJ :
z 7ҩW Fҧ các PүX UѫL vào PӝW nút WKXӝF YӅ
cùng PӝW OӟS
z Không còn WKXͱF tính nào có WK͛ dùng ÿ͛
phân chia P̓X Q·D
z Không còn OҥL PүX nào WҥL nút
19
&Æ<48<ӂ7Ĉӎ1+
4. Cách phân chia các PүX
z Tiêu FKXҭQ phân chia : WҥR ra các nhóm sao cho
PӝW OӟS FKLӃP ѭX WKӃ trong WӯQJ nhóm
z 7KXͱF tính ÿ́ͻF FKͥQ là WKXͱF tính cho ÿͱ ÿR WͩW
QK̽W có OͻL QK̽W cho quá trình phân OͳS
z Ĉӝ ÿR ÿӇ ÿiQK giá FKҩW OѭӧQJ phân chia là ÿӝ
ÿR Vӵ ÿӗQJ QKҩW
z Entropy (Information Gain)
z Information Gain Ratio
z Gini Index
20
10
&Æ<48<ӂ7Ĉӎ1+
Ĉ͙OͣLWK{QJWLQ,QIRUPDWLRQJDLQ
ID3 /
C4.5
&K͍QWKX͙FWtQKFyÿ͙OͣLWK{QJWLQFDRQKɢW
*LɠVͭ
'WɪSKXɢQOX\ʄQ
Ci,D WɪSFiFPɨXFͧD'WKX͙FO͛S&i Y͛LL ^«P`
|Ci, D__'_OͱFOɉͣQJFͧDWɪS&i,D Yj'WɉɇQJͩQJ
pi Oj[iFVX̽Wÿ͛PͱWP̓XE̽WNǤFͿD'WKXͱFY͙OͳS&i
Thông tin NƒY͍QJÿʀSKkQO͛S P͙WPɨXWURQJ'Oj
Info ( D)
m
pi log 2 ( pi )
i 1
pi
Ci , D
D
21
9Ë'Ө'ӳOLӋXKXҩQOX\ӋQ
age
<=30
<=30
«
>40
>40
>40
«
<=30
<=30
>40
<=30
«
«
>40
income student credit_rating
high
no
fair
high
no
excellent
high
no
fair
medium
no
fair
low
yes fair
low
yes excellent
low
yes excellent
medium
no
fair
low
yes fair
medium
yes fair
medium
yes excellent
medium
no
excellent
high
yes fair
medium
no
excellent
buys_computer
no
no
yes
yes
yes
no
yes
no
yes
yes
yes
yes
yes
no
22
11
&Æ<48<ӂ7Ĉӎ1+
ĈͱOͻLWK{QJWLQ,QIRUPDWLRQJDLQ
7URQJ9'PүXWLQWURQJÿyFyPXDPi\
tính
|D| = 14; m = 2; C1 ³0XD³&2 ³.K{QJPXD´
|C1, D|= 9, |C2, D|=5
Thông tin NƒY͍QJÿʀSKkQO͛S P͙WPɨXWURQJ'
là :
Info(D) I(9,5)
5
9
9 5
log 2
log 2
14
14 14
14
0.940
23
&Æ<48<ӂ7Ĉӎ1+
7KX͙F tính A có các giá WUʈ :{a1, a2 , «,av}
Dùng WKX͙F tính A ÿʀ phân chia WɪS KXɢQ OX\ʄQ D
thành v WɪS con {D1, D2, «, Dv}
Thông tin FɤQ WKLɼW ÿʀ phân chia D theo WKX͙F tính A :
InfoA ( D)
v
j 1
Dj
D
I (D j )
Ĉ͙ OͣL thông tin (information gain) GͱD trên phân
chia theo WKX͙F tính A :
Gain(A) Info( D) InfoA ( D)
24
12
9Ë'Ө,1)250$7,21*$,1
.êKLӋX
/ӟS3EX\VBFRPSXWHU ³
/ӟS1EX\VBFRPSXWHU ³1R´
Info(D) = I(9, 5) =0.940
7tQKÿͱOͻLWK{QJWLQFKRWKXͱFWtQK³DJH´"
age
pj
<=30
2
« 4
>40
3
nj I(pj, nj)
I (2,3)
3 0.971
0 0
2 0.971
I (4,0)
I (3,2)
2
2
log 2
5
5
3
3
log 2
5
5
4
4
log 2
4
4
3
3
log 2
5
5
0.971
0
0
log 2
4
4
2
2
log 2
5
5
0
0.971
25
9Ë'Ө,1)250$7,21*$,1
7tQKÿͱOͻLWK{QJWLQFKRWKXͱFWtQK³DJH´"
.KLÿy
Infoage( D)
5
I (2,3)
14
4
I (4,0)
14
5
I (3,2)
14
0.694
Suy ra :
Gain(age)
Info( D) Infoage ( D)
0.246
26
13
%¬,7Ұ3
7KӡL gian : 10¶
Cho WұS DL QKѭ trong ví Gө 1
Ký KLӋX :
z
/ӟS P: buys_computer = ³
/ӟS N: buys_computer = ³1R´
Tính ÿӝ OӧL thông tin GӵD trên phân chia theo
WKXӝF tính
³LQFRPH´ : dãy JL·D
³VWXGHQW´ : dãy trái
³FUHGLWBUDWLQJ´ : dãy SK̻L
27
9Ë'Ө,*
age?
<=30
student?
31..40
yes
>40
credit rating?
no
yes
excellent
fair
no
yes
no
yes
28
14
&Æ<48<ӂ7Ĉӎ1+
Information Gain Ratio: C4.5
Ĉӝ ÿR Gain có xu KѭӟQJ thiên Yӏ cho các
WKXӝF tính có QKLӅX giá WUӏ -> FҫQ FKXҭQ hóa ÿӝ
ÿR Gain
&KͥQ WKXͱF tính có ÿͱ ÿR Gain Ratio OͳQ
QK̽W
GainRatio(A) = Gain(A)/SplitInfoA(D)
v
SplitInfo
oA ( D)
j
| Dj |
| D|
og 2 (
| Dj |
)
| D|
29
&Æ<48<ӂ7Ĉӎ1+
&Kʆ PͥF Gini (Gini index) : CART, SLIQ,
SPRINT
7ұS KXҩQ OX\ӋQ D FKӭD các PүX FӫD m OӟS.
&K͡ PͽF Gini FӫD WұS D ± gini(D) là :
m 2
gini(D)
i
i
YͳLSi OjW̿QVX̽WFͿDOͳS&i trong D
&KRWұS'/FӫDYtGөWDFygini(D) là :
gini(( D)
9
14
2
5
14
2
0.459
30
15
&Æ<48<ӂ7Ĉӎ1+
&Kʆ PͥF Gini (Gini index) :
7KXӝF tính A có các giá WUӏ :{a1, a2 , «,av}
Dùng WKXӝF tính A ÿӇ phân chia WұS KXҩQ OX\ӋQ D
thành v WұS con {D1, D2, «, Dv}
&K͡ PͽF Gini FӫD phân chia D theo WKXӝF tính
A:
v
giniiA ( D)
j
Dj
D
gini(( Dj )
7ɞL P͗L FɢS chúng ta FK͍Q WKX͙F tính có FKʆ
PͥF Gini QK͏ QKɢW ÿʀ phân chia WɪS Gͯ OLʄX
31
9Ë'Ө*,1,,1'(;
/ӟS3EX\VBFRPSXWHU
age
³
<=30
/ӟS1EX\VBFRPSXWHU
«
³1R´
>40
gini(D) = 0.459
7tQKFK͡PͽFJLQLFKRWKXͱF
WtQK³DJH´"
pj
2
4
3
nj gini(pj, nj)
3
0.48
0
0
2
0.48
Suy ra :
giniage( D)
5
4
5
gini(2,3)
gini(4,0)
gini(3,2)
14
14
14
0.343
32
16
9tGө*,1,,1'(;
khi tính ÿӝ ÿR FKӍ PөF Gini GӵD
trên phân chia theo WKXӝF tính :
Sau
Giniage(D) = 0.343
Giniincome(D) = 0.44
Ginistudent(D) = 0.367
Ginicredit_rating(D) =0.429
Ĉͱ
ÿR FK͡ PͽF Gini GΉD trên phân chia
theo WKXӝF tính ³DJH´ là QKӓ QKҩW nên ta
V͕ chia DL theo WKXͱF tính ³DJH´
33
9tGө*,1,,1'(;
age?
/jPWѭѫQJ
Wӵ
<=30
31..40
income student credit_rating buys_computer
high
no fair
no
high
no excellent
no
medium no fair
no
low
yes fair
yes
medium yes excellent
yes
>40
/jPWѭѫQJ
Wӵ
income student credit_rating buys_computer
medium no fair
yes
low
yes fair
yes
low
yes excellent
no
medium yes fair
yes
medium no excellent
no
yes
34
17
&Æ<48<ӂ7Ĉӎ1+
5. 9ɢQÿɾTXiSKKͣSY͛L'/ (overfitting)
&yÿLӇP'/
hình tròn and 500
ÿLӉPKuQKWDP
giác.
&iFÿLӇPKuQKWUzQ
0.5
sqrt(x12+x22)
1
&iFÿLӇPKuQKWDP
giác:
sqrt(x12+x22) > 0.5 or
sqrt(x12+x22) < 1
35
&Æ<48<ӂ7Ĉӎ1+
5. 9ɢQÿɾTXiSKKͣSY͛L'/ (overfitting)
Overfitting
36
18
&Æ<48<ӂ7Ĉӎ1+
Cây WɞR ra có WKʀ
quá phù KͣS Y͛L
DL KXɢQ OX\ʄQ :
Quá
QKLɾX
nhánh
do
QKLʂX KRɴF cá
ELʄW
37
&Æ<48<ӂ7Ĉӎ1+
Cây WɞR ra có WKʀ
quá phù KͣS Y͛L DL
KXɢQ OX\ʄQ do WKLɼX
PɨX
7KLɼX các ÿLʀP
DL ͟ QͭD Gɉ͛L
FͧD ELʀX ÿ͓ gây
khó NKăQ cho
YLʄF Gͱ ÿRiQ O͛S
chính xác FͧD
vùng này.
38
19
&Æ<48<ӂ7Ĉӎ1+
.ɼWTXɠ ÿ͙FKtQK[iFNpPNKLSKkQO͛SFKRPɨXP͛L
+DLSKɉɇQJSKiSWUiQKTXi3+Ô+͢3'/ :
/͍DLE͏WUɉ͛F : 'ͫQJWKrPQKiQKFk\V͛PQJD\NKL
QyFyWKʀWɞRUDÿ͙ÿRGɉ͛LQJɉ͡QJQjRÿy
5ɢWNKyFK͍QQJɉ͡QJWKtFKKͣS
/RɞLE͏VDX : /RɞLE͛WQKiQKWͫFk\KRjQFKʆQKWͫ
Gɉ͛LOrQ
6ͭGͥQJWɪS'/ÿ͙FOɪSÿʀNLʀPWUDYjORɞLE͛W
;iFÿʈQKFKtQK[iFNtFKWKɉ͛FFk\NɼWTXɠQKɉWKɼQjR"
3KkQFKLDWɪSKXɢQOX\ʄQ
WɪSWHVW
6ͭGͥQJÿiQKJLiFKpRFURVV-validation)
39
&Æ<48<ӂ7Ĉӎ1+
6. ɈXÿLʀP :
'ʂGjQJ[k\GͱQJFk\
3KkQO͛SPɨXP͛LQKDQK
'ʂGjQJGLʀQJLɠLFKRFiFFk\FyNtFKWKɉ͛FQK͏
Ĉ͙ chính xác FKɢS QKɪQ ÿɉͣF so Y͛L các N WKXɪW phân O͛S khác
trên QKLɾX WɪS DL ÿɇQ
9tGͥ&
DùQJÿ͙OͣLWK{QJWLQ
6ɬS[ɼSWKX͙FWtQKV͑WɞLWͫQJQ~W
.K{QJSKKͣSY͛LFiFWɪSGͯOLʄXO͛Q
/>
40
20