Danh mục các ký hiệu, các chữ viết tắt v
Danh mục các bảng, hình vẽ vi
MỞ ĐẦU 1
CHƯƠNG 1: MỘT SỐ KIẾN THỨC CƠ SỞ 9
1.1 Khai phá dữ liệu 9
1.1.1 Định nghĩa khai phá dữ liệu 9
1.1.2 Một số kỹ thuật khai phá dữ liệu 9
1.2 Khai phá luật quyết định 10
1.2.1 Hệ thông tin 10
1.2.2 Quan hệ không phân biệt được 11
1.2.3 Bảng quyết định 13
1.2.5 Luật quyết định 14
1.3 Mô hình dữ liệu dạng khối 16
1.3.1 Khối, lược đồ khối 16
1.3.2 Lát cắt 18
1.3.3 Đại số quan hệ trên khối 18
1.4 Kết luận chương 1 21
CHƯƠNG 2: KHAI PHÁ LUẬT QUYẾT ĐỊNH TRÊN KHỐI DỮ LIỆU
CÓ GIÁ TRỊ THUỘC TÍNH THAY ĐỔI 22
2.1 Một số khái niệm xây dựng trên khối 22
2.1.1 Khối thông tin 22
2.1.2 Quan hệ không biệt được 25
2.1.3 Khối quyết định 26
2.1.4 Luật quyết định trên khối và lát cắt 28
2.2 Thuật toán khai phá luật quyết định trên khối và trên lát cắt (MDLB) 31
2.3 Khai phá luật quyết định trên khối có giá trị thuộc tính thay đổi 34
2.3.1 Làm mịn, thô các lớp tương đương điều kiện trên khối và trên lát cắt 40
2.3.2 Làm mịn, thô các lớp tương đương quyết định trên khối và trên lát cắt 44
2.3.3 Làm mịn cảm sinh hoàn toàn thuộc tính chỉ số trên lát cắt 48
2.3.4 Thuật toán khai phá luật quyết định trên khối có giá trị thuộc tính
129 trang |
Chia sẻ: honganh20 | Ngày: 04/03/2022 | Lượt xem: 346 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận án Khai phá luật quyết định trên mô hình dữ liệu dạng khối, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
a=x(i) C, Va là tập các giá trị hiện có
của thuộc tính chỉ số điều kiện a, các giá trị w và y của a được làm thô thành giá trị
mới z.
C= ( )
1,
k
i
i x id
x
=
, D= ( )
1,
n
i
i k x id
x
= +
, và Cx= ( )
1
k
i
i
x
=
, Dx= ( )
1
n
i
i k
x
= +
, xid.
U/C={C1,C2,,Cm}, U/Cx= 1 2{ , ,..., }xx x xtC C C ,
U/D={D1,D2,,Dg}, U/Dx= 1 2{D , ,..., }xx x xhD D ,
Cp, Cq U/C, (f(Cp,a)=w, f(Cq,a)=y), DxhU/Dx, h=1..hx. Khi đó, nếu Cp, Cq
được làm thô thành lớp tương đương điều kiện mới Cs, (f(Cs,a)=z ) và trên lát cắt rx
hai lớp tương đương điều kiện Cxi, Cxj (Cp Cxi, Cq Cxj) được làm thô cảm sinh thành
Cxk thì:
i) CxiCxj = Cxk
ii) DxhU/Dx: Sup(Cxi,Dxh)+Sup(Cxj,Dxh) = Sup(Cxk,Dxh), với h=1,2,,hx.
Chứng minh
i) Giả sử ta có: x CxiCxj x Cxi hoặc x Cxj. Nếu x Cxi thì do hai lớp
tương đương Cxi, Cxj được làm thô thành lớp tương đương Cxk
f(x,a) = f(Cxi,a) = f(Cxk,a) = z.
Mặt khác, áp dụng kết quả của định lý 2.1 ta có aj a: f(Cxi,aj) = f(Cxj,aj) =
f(Cxk,aj) f(x,aj) = f(Cxi,aj) = f(Cxj,aj) = f(Cxk,aj) xCxk. Hoàn toàn tương tự, khi x
Cxj ta cũng chứng minh được xCxk.
44
Vậy suy ra: (Cxi Cxj ) Cxk (5)
Ngược lại, giả sử xCxk, vì Cxi và Cxj được làm thô thành Cxk nên áp dụng kết
quả của định lý 2.1 ta có: aj a: f(Cxi,aj)= f(Cxj,aj)= f(Cxk,aj)
f(x,aj) = f(Cxi,aj) = f(Cxj,aj). Mặt khác, do xCxk f(x,a)=z mà z được làm
thô từ w và y f(x,a)=w hoặc f(x,a)=y.
Nếu f(x,a)=w f(x,a) = f(Cxi,a) = w xCxi.
Nếu f(x,a)=y f(x,a) = f(Cxj,a) = y xCxj.
Vậy xCxi hoặc xCxj xCxiCxj.
Do đó, từ xCxk xCxiCxj. Vậy: Cxk (CxiCxj) (6)
Kết hợp (5) và (6) ta có: CxiCxj = Cxk.
ii) Vì Cxi, Cxj là các lớp tương đương điều kiện, nên ta có: CxiCxj=.
Mặt khác: DxhU/Dx: Sup(Cxk,Dxh)=|Cxk Dxh| = |(Cxi Cxj)Dxh| = |(Cxi
Dxh)(CxjDxh)|.
Ta có: CxiCxj= (Cxi Dxh) (Cxj Dxh) = .
Suy ra: Sup(Cxk,Dxh)= |(CxiDxh) (CxjDxh)| = |(CxiDxh)|+ |(CxjDxh)| =
Sup(Cxi,Dxh) + Sup(Cxj,Dxh).
Vậy suy ra: DxhU/Dx: Sup(Cxi,Dxh)= Sup(Cxi,Dxh) + Sup(Cxj,Dxh) với
h=1,2,,hx.
Như vậy, ta thấy hai dòng của ma trận độ hỗ trợ trên lát cắt rx tương ứng với
hai lớp tương đương điều kiện Cxi, Cxj được kết hợp thành một dòng mới tương ứng
với lớp tương đương điều kiện Cxk. Giá trị mỗi phần tử của dòng mới tương ứng với
Cxk là tổng giá trị hai phần tử của hai dòng tương ứng với Cxi và Cxj.
2.3.2 Làm mịn, thô các lớp tương đương quyết định trên khối và trên lát cắt
Mệnh đề 2.7
Cho khối quyết định DB = (U,CD,V,f), a=x(i) D, Va là tập các giá trị hiện
có của thuộc tính chỉ số quyết định a, giá trị z của a được làm mịn thành hai giá trị
mới w và y.
C = ( )
1,
k
i
i x id
x
=
, D = ( )
1,
n
i
i k x id
x
= +
, và Cx= ( )
1
k
i
i
x
=
, Dx= ( )
1
n
i
i k
x
= +
, xid.
U/C ={C1,C2,,Cm}, U/Cx= 1 2{ , ,..., }xx x xtC C C ,
45
U/D ={D1,D2,,Dg}, U/Dx= 1 2{D , ,..., }xx x xhD D ,
Khi đó, nếu lớp tương đương quyết định Ds U/D (f(Ds,a)=z) được làm mịn
thành hai lớp tương đương quyết định mới Dp,Dq (f(Dp,a)=w, f(Dq,a)=y, với w,yVa)
nào đó thì trên lát cắt rx, tồn tại lớp tương đương Dxi thỏa mãn: Ds Dxi , cũng được
làm mịn thành hai lớp tương đương quyết định mới Dxi’ và Dxi’’ sao cho: Dp Dxi’, Dq
Dxi’’ (f(Dxi’,a)=w, f(Dxi’’,a)=y).
Ta nói trên lát cắt rx thì lớp tương đương quyết định Dxi được làm mịn cảm
sinh một phần thành hai lớp tương đương quyết định mới Dxi’ và Dxi’’ bởi sự làm mịn
của Ds thành hai lớp tương đương quyết định mới Dp, Dq.
Việc chứng minh mệnh đề này tương tự như chứng minh của mệnh đề 2.3.
Mệnh đề 2.8
Cho khối quyết định DB=(U,CD), a = x(i) D, Va là tập các giá trị hiện có
của thuộc tính chỉ số quyết định a, giá trị z của a được làm mịn thành hai giá trị mới
w và y.
C = ( )
1,
k
i
i x id
x
=
, D = ( )
1,
n
i
i k x id
x
= +
, và Cx = ( )
1
k
i
i
x
=
, Dx = ( )
1
n
i
i k
x
= +
, xid.
U/C ={C1,C2,,Cm}, U/Cx = 1 2{ , ,..., }xx x xtC C C ,
U/D ={D1,D2,,Dg}, U/Dx = 1 2{D , ,..., }xx x xhD D ,
Ds U/D, Dxi U/Dx, Ds Dxi, CxjU/Cx, s=1..k, i=1..hx, j=1..tx. Khi đó, nếu
Ds (f(Ds,a)=z) được làm mịn thành hai lớp tương đương quyết định mới Dp, Dq
(f(Dp,a)=w, f(Dq,a)=y và trên lát cắt rx, Dxi được làm mịn cảm sinh một phần thành
hai lớp tương đương quyết định mới Dxi’ và Dxi’’ thì:
i) Dxi = Dxi’ Dxi’’,
ii) CxjU/Cx: Sup(Cxj,Dxi) = Sup(Cxj,Dxi’) + Sup(Cxj,Dxi’’), với j=1,2,,tx.
Chứng minh
Do cách làm mịn của lớp tương đương quyết định Dxi ta thấy rằng: Dxi =
Dxi’Dxi’’.
Theo giả thiết ta có: Dxi được làm mịn cảm sinh một phần thành hai lớp tương
đương quyết định mới Dxi’ và Dxi’’
Dxi = Dxi’ Dxi’’ và Dxi’ Dxi’’ = .
Mặt khác: CxjU/Cx: Sup(Cxj,Dxi) = |CxjDxi| = |Cxj(Dxi’Dxi’’)| =
46
|(CxjDxi’)(CxjDxi’’)|.
Ta có: Dxi’Dxi’’ = (CxjDxi)(CxjDxi’’) = .
Suy ra: Sup(Cxj,Dxi) = |(CxjDxi’)(CxjDxi’’)| = |(CxjDxi’)|+ |(CxjDxi’’)| =
Sup(Cxj,Dxi’) + Sup(Cxj,Dxi’’).
Vậy ta suy ra: CxjU/Cx: Sup(Cxj,Dxi) = Sup(Cxj,Dxi’) + Sup(Cxj,Dxi’’), với
j=1,2,,tx.
Từ kết quả này ta thấy: cột tương ứng với lớp tương đương quyết định Dxi trong
ma trận độ hỗ trợ đối với lát cắt rx sẽ được tách thành hai cột mới tương ứng với hai
lớp tương đương quyết định mới Dxi’ và Dxi’’.
Do đó, để tính giá trị của các phần tử của hai cột mới này trong ma trận độ hỗ
trợ đối với lát cắt rx thì đầu tiên ta tính các giá trị Sup(Cxj, Dxi) với j=1,2,,tx. Sau đó,
ta suy ra các giá trị Sup(Cxj, Dxi’’) là hiệu giữa Sup(Cxj, Dxi) và Sup(Cxj, Dxi’) với
j=1,2,,tx.
Mệnh đề 2.9
Cho khối quyết định DB = (U,CD,V,f ), a=x(i) D, Va là tập các giá trị hiện
có của thuộc tính chỉ số quyết định a, các giá trị w và y của a được làm thô thành giá
trị mới z.
C = ( )
1,
k
i
i x id
x
=
, D = ( )
1,
n
i
i k x id
x
= +
, và Cx = ( )
1
k
i
i
x
=
, Dx = ( )
1
n
i
i k
x
= +
, xid.
U/C={C1,C2,,Cm}, U/Cx= 1 2{ , ,..., }xx x xtC C C ,
U/D={D1,D2,,Dg}, U/Dx= 1 2{D , ,..., }xx x xhD D ,
Khi đó, nếu hai lớp tương đương quyết định Dp,Dq, (f(Dp,a)=w, f(Dq,a)=y) nào
đó được làm thô thành lớp tương đương quyết định mới Ds U/D (f(Ds,a)=z) thì trên
lát cắt rx tồn tại hai lớp tương đương quyết định Dxi, Dxj thỏa mãn: Dp Dxi, Dq Dxj,
cũng được làm thô thành lớp tương đương quyết định mới Dxk sao cho: Ds Dxk .
Ta nói trên lát cắt rx thì hai lớp tương đương quyết định Dxi, Dxj được làm thô
cảm sinh thành Dxk bởi sự làm thô của hai lớp tương đương quyết định Dp,Dq thành
lớp tương đương quyết định Ds.
Việc chứng minh mệnh đề này tương tự như chứng minh của mệnh đề 2.5.
Mệnh đề 2.10
Cho khối quyết định DB = (U, CD), a=x(i) D, Va là tập các giá trị hiện có
47
của thuộc tính chỉ số quyết định a, các giá trị w và y của a được làm thô thành giá trị
mới z.
C = ( )
1,
k
i
i x id
x
=
, D = ( )
1,
n
i
i k x id
x
= +
, và Cx = ( )
1
k
i
i
x
=
, Dx=
( )
1
n
i
i k
x
= +
, xid.
U/C ={C1,C2,,Cm}, U/Cx= 1 2{ , ,..., }xx x xtC C C ,
U/D={D1,D2,,Dg}, U/Dx= 1 2{D , ,..., }xx x xhD D ,
Dp, Dq U/D, (f(Dp,a)=w, f(Dq,a)=y), CxhU/Cx, h=1..tx. Khi đó, nếu Dp, Dq
được làm thô thành lớp tương đương quyết định mới Ds, (f(Ds,a)=z) và trên lát cắt rx
hai lớp tương đương quyết định Dxi, Dxj (Dp Dxi, Dq Dxj) được làm thô cảm sinh
thành Dxk thì:
i) Dxi Dxj = Dxk
ii) CxhU/Cx: Sup(Cxh,Dxi) + Sup(Cxh,Dxj) = Sup(Cxh,Dxk), với h=1,2,,tx.
Chứng minh
i) Giả sử ta có: u Dxi Dxj u Dxi hoặc u Dxj. Nếu u Dxi thì do hai lớp
tương đương Dxi, Dxj được làm thô thành lớp tương đương Dxk
f(u,a) = f(Dxi,a) = f(Dxk,a) =z.
Mặt khác, áp dụng kết quả của định lý 2.1 ta có ar a: f(Dxi,ar) = f(Dxj,ar) =
f(Dxk,ar) f(u,ar) = f(Dxi,ar) = f(Dxj,ar)= f(Dxk,ar) uDxk. Hoàn toàn tương tự, khi
u Dxj ta cũng chứng minh được uDxk.
Vậy suy ra: (Dxi Dxj ) Dxk. (7)
Ngược lại, giả sử uDxk, vì Dxi và Dxj được làm thô thành Dxk nên áp dụng kết
quả của định lý 2.1 ta có: ar a: f(Dxi,ar)= f(Dxj,ar) = f(Dxk,ar)
f(u,ar) =f(Dxi,ar) = f(Dxj,ar). Mặt khác, do uDxk f(u,a)=z mà z được làm
thô từ w và y f(u,a)=w hoặc f(u,a)=y.
Nếu f(u,a)=w f(u,a)=f(Dxi,a)= w uDxi.
Nếu f(u,a)=y f(u,a)=f(Dxj,a)= y uDxj.
Vậy uDxi hoặc uDxj uDxiDxj.
Do đó, từ uDxk uDxi Dxj. Vậy: Dxk(DxiDxj) (8)
Kết hợp (7) và (8) ta có: Dxi Dxj = Dxk.
48
ii) Vì Dxi, Dxj là các lớp tương đương quyết định, nên ta có: Dxi Dxj=.
Mặt khác: CxhU/Cx: Sup(Cxh,Dxk)=|CxhDxk| = |(DxiDxj)Cxh| = |(Dxi
Cxh)(DxjCxh)|.
Ta có: DxiDxj = (DxiCxh)(DxjCxh) = .
Suy ra: Sup(Cxh,Dxk)= |(CxhDxi)(CxhDxj)| = |(CxhDxi|)|+ |(CxhDxj)| =
Sup(Cxh,Dxi) + Sup(Cxh,Dxj).
Vậy suy ra: CxhU/Cx: Sup(Cxh,Dxi) + Sup(Cxh,Dxj) = Sup(Cxh,Dxk), với
h=1,2,,tx.
Như vậy, ta thấy hai cột của ma trận độ hỗ trợ trên lát cắt rx tương ứng với hai
lớp tương đương quyết định Dxi, Dxj được làm thô cảm sinh thành một cột mới tương
ứng với lớp tương đương quyết định Dxk. Giá trị mỗi phần tử của cột mới tương ứng
với Dxk là tổng giá trị hai phần tử của hai cột tương ứng với hai lớp tương đương quyết
định Dxi và Dxj.
2.3.3 Làm mịn cảm sinh hoàn toàn thuộc tính chỉ số trên lát cắt.
Mệnh đề 2.11
Cho khối quyết định DB = (U,CD,V,f), a = x(i) C, Va là tập các giá trị hiện
có của thuộc tính chỉ số điều kiện a, giá trị z của a được làm mịn thành hai giá trị mới
w và y.
C = ( )
1,
k
i
i x id
x
=
, D = ( )
1,
n
i
i k x id
x
= +
, và Cx = ( )
1
k
i
i
x
=
, Dx = ( )
1
n
i
i k
x
= +
, xid.
U/C = {C1, C2, , Cm}, U/Cx = 1 2{ , ,..., }xx x xtC C C ,
U/D = {D1, D2, , Dg}, U/Dx= 1 2{D , ,..., }xx x xhD D ,
}m,...,2,1{E;CC
Ej
jxi =
, với Cj U/C.
Khi đó, nếu các lớp tương đương điều kiện
Cj, j E, (f(Cj,a)=z) trên khối được
làm mịn thành hai lớp tương đương điều kiện mới Cj1, Cj2 (f(Cj1,a)=w, f(Cj2,a)=y, với
w,yVa ) nào đó thì trên lát cắt rx, lớp tương đương Cxi, cũng được làm mịn thành hai
lớp tương đương điều kiện mới Cxi’ và Cxi’’ sao cho:
Ej
2j''xi
Ej
1j'xi
CC;CC
== , (f(Cxi’,a)=w, f(Cxi’’,a) = y).
49
Ta nói trên lát cắt rx thì Cxi được làm mịn cảm sinh hoàn toàn thành hai lớp
tương đương điều kiện mới Cxi’ và Cxi’’ bởi sự làm mịn của Cj thành hai lớp tương
đương điều kiện mới Cj1, Cj2 , j E.
Chứng minh
Theo giả thiết ta có: các lớp tương đương điều kiện Cj, (f(
t
jC ,a)=z) trên khối
được làm mịn thành hai lớp tương đương điều kiện mới Cj1, Cj2, (f(Cj1,a)=w,
f(Cj2,a)=y, với w,yVa ) và ta có:
Ej
2j''xi
Ej
1j'xi
CC;CC
==
Từ đó suy ra: y)a,C(f)a,C(f,w)a,C(f)a,C(f
Ej
2j''xi
Ej
1j'xi
====
Mà ta có: Cxi = Cxil Cxi’’ , Cxil Cxi’’ = .
Như vậy, CxiU/C, (f(Cxi, a)=z) được làm mịn thành hai lớp tương đương điều
kiện mới Cxi’, Cxi’’ và (f(Cxi’ ,a)=w, f(Cxi’’ ,a)=y, với w,yVa).
Mệnh đề 2.12
Cho khối quyết định DB = (U, CD, V, f), a= x(i) D, Va là tập các giá trị hiện
có của thuộc tính chỉ số quyết định a, giá trị z của a được làm mịn thành hai giá trị
mới w và y.
C = ( )
1,
k
i
i x id
x
=
, D = ( )
1,
n
i
i k x id
x
= +
, và Cx = ( )
1
k
i
i
x
=
, Dx = ( )
1
n
i
i k
x
= +
, xid.
U/C = {C1, C2, , Cm},U/Cx = 1 2{ , ,..., }xx x xtC C C ,
/D ={D1, D2, , Dg}, U/Dx = 1 2{D , ,..., }xx x xhD D ,
}k,...,2,1{E;DD
Ej
jxi =
, với Dj U/D.
Khi đó, nếu các lớp tương đương quyết định Dj, j E (f(Dj,a)=z) trên khối
được làm mịn thành hai lớp tương đương quyết định mới Dj1, Dj2 (f(Dj1,a)=w,
f(Dj2,a)=y, với w,yVa ) thì trên lát cắt rx, lớp tương đương Dxi cũng được làm mịn
thành hai lớp tương đương quyết định mới Dxi’ và Dxi’’ sao cho:
Ej
2j''xi
Ej
1j'xi
DD;DC
== , (f(Dxi’,a)=w, f(Dxi’’,a)=y).
' ''( , ) w, ( )xi xif C a f C a y= =
50
Ta nói trên lát cắt rx thì Dxi được làm mịn cảm sinh hoàn toàn thành hai lớp
tương đương quyết định mới Dxi’ và Dxi’’ bởi sự làm mịn của Dj thành hai lớp tương
đương quyết định mới Dj1, Dj2, j E.
Việc chứng minh mệnh đề này tương tự như chứng minh mệnh đề 2.11 trên.
2.3.4 Thuật toán khai phá luật quyết định trên khối có giá trị thuộc tính thay đổi
(MDLB_VAC)
* Các kí hiệu dùng trong thuật toán (MDLB_VAC):
- Khối quyết định DB = (U,CD,V,f);
- Thuộc tính chỉ số a = x(i) = (x, Ai) C với i = 1..n, x id ; Va là tập các giá
trị hiện có của thuộc tính chỉ số a, giá trị z của a được làm mịn thành hai giá trị mới
w và y.
- Tập thuộc tính chỉ số điều kiện trên khối: C = ( )
1,
k
i
i x id
x
=
, tập thuộc tính chỉ số
quyết định trên khối: D = ( )
1,
n
i
i k x id
x
= +
.
- Tập thuộc tính chỉ số điều kiện trên lát cắt x: Cx = ( )
1
k
i
i
x
=
, tập thuộc tính chỉ
số quyết định trên khối: Dx = ( )
1
n
i
i k
x
= +
, xid.
- Ci là các lớp tương đương điều kiện trên khối CiU/C, i =1..m, Dj là các lớp
tương đương quyết định trên khối DjU/D, j = 1..g.
- Cxt là các lớp tương đương điều kiện trên lát cắt x: CxtU/Cx, t=1,2,,tx,
Dxh là các lớp tương đương quyết định trên lát cắt x: Dxh U/D, h=1,2,,hx.
* Thuật toán MDLB_VAC khai phá luật quyết định trên khối có giá trị thuộc
tính thay đổi
Đầu vào: - Các lớp tương đương điều kiện Ci , i=1,2,,m; Cxt ,t=1,2,,tx
- Các lớp tương đương quyết định Dj, j=1,2,,g; Dxh, h=1,2,,hx
- Thuộc tính chỉ số a = x(i) được làm thô, làm mịn.
Đầu ra: Luật quyết định trên khối Ci → Dj
Phương pháp:
Thuật toán gồm các bước sau:
51
- Bước 1: Tính ma trận độ hỗ trợ Sup (C,D) của khối ban đầu.
- Bước 2: Tính gia tăng ma trận độ hỗ trợ trên khối Sup(C’,D’) sau khi làm
thô/mịn giá trị thuộc tính chỉ số. (Thuật toán 2.4, 2.5. 2.6, 2.7)
- Bước 3: Tính ma trận độ chính xác Acc(C’,D’), ma trận độ phủ Cov(C’,D’)
sau khi làm thô/mịn giá trị thuộc tính chỉ số từ ma trận Sup(C’,D’) (Thuật toán
2.8)
- Bước 4: Sinh luật quyết định trên khối.
Thuật toán 2.4: Tính ma trận độ hỗ trợ trên khối quyết định và trên lát cắt sau khi
làm thô các giá trị của thuộc tính điều kiện.
Vào: - Các ma trận độ hỗ trợ trên khối, trên lát cắt tại x.
- Thuộc tính chỉ số điều kiện a = x(i) được làm thô.
- Các giá trị w và y của a được làm thô thành z.
Ra: Ma trận độ hỗ trợ trên khối và trên lát cắt tại x sau khi làm thô.
Phương pháp
// Tìm tất cả các cặp lớp tương đương điều kiện Cp, Cq được hợp thành lớp
tương đương điều kiện Cs mới.
1. CC = : // tập chứa các cặp lớp tương đương được hợp lại thành một lớp mới.
2. For p = 1 to m-1 do
3. for q = p + 1 to m do
4. Begin
5. if (f(Cp,a) = w and f(Cq,a) = y) or (f(Cp,a) = y and f(Cq,a) = w) then
6. begin
7. kiemtra = 1;
8. for k = 1 to |C| do //|C| là số các thuộc tính chỉ số điều kiện trên khối.
9. begin
10. If (ak a and f(Cp,ak) f(Cq,ak)) then
11. begin
12. kiem tra= 0;
13. break;
14. end;
15. end;
52
16. If kiemtra = 1 then lưu (Cp, Cq) vào CC;
17. end;
18. end;
// Tính ma trận độ hỗ trợ trên khối sau khi làm thô.
19. For each (Cp, Cq) in CC
20. begin
21. for j = 1 to g do
22. begin
23. Sup(Cs, Dj ):= Sup(Cp, Dj)+ Sup(Cq, Dj);
24. end;
25. Xóa 2 dòng tương ứng với Cp, Cq;
26. Bổ sung dòng tương ứng với Cs;
27. end.
// Tính ma trận độ hỗ trợ cho lát cắt tại x sau khi làm thô.
// Tìm tất cả các cặp lớp tương đương điều kiện Cxp, Cxq được hợp thành lớp tương
đương điều kiện mới Cxs.
1. CCx = : // tập chứa các cặp lớp tương đương được hợp lại thành một lớp
mới.
2. For p = 1 to tx-1 do
3. for q = p + 1 to tx do
4. Begin
5. if (f(Cxp,a) = w and f(Cxq,a) = y) or (f(Cxp,a) = y and f(Cxq,a) = w) then
6. begin
7. kiemtra = 1;
8. for k = 1 to |Cx| do //|Cx| là số các thuộc tính chỉ số điều kiện trên lát
cắt tại x (x id)
9. begin
10. If (ak a and f(Cxp,ak) f(Cxq,ak)) then
11. begin
12. kiem tra= 0;
53
13. break;
14. end;
15. end;
16. If kiemtra = 1 then lưu (Cxp, Cxq) vào CCx;
17. end;
18. end;
// Tính ma trận độ hỗ trợ trên khối sau khi làm thô.
19. For each (Cxp, Cxq) in CCx
20. begin
21. for j = 1 to hx do
22. begin
23. Sup(Cxs, Dxj ):= Sup(Cxp, Dxj)+ Sup(Cxq, Dxj);
24. end;
25. Xóa 2 dòng tương ứng với Cxp, Cxq;
26. Bổ sung dòng tương ứng với Cxs;
27. end.
Kết thúc
Thuật toán 2.5: Tính ma trận độ hỗ trợ trên khối quyết định và trên lát cắt sau khi
làm mịn giá trị của thuộc tính điều kiện.
Vào: - Ma trận độ hỗ trợ trên khối quyết định và trên lát cắt tại điểm x.
- Thuộc tính chỉ số điều kiện a được làm mịn.
- Tập W các đối tượng có giá trị z trên thuộc tính chỉ số a được làm mịn thành w.
- Tập Y các đối tượng có giá trị z trên thuộc tính chỉ số a được làm mịn thành y.
Ra: - Ma trận độ hỗ trợ (Sup) trên khối quyết định và trên lát cắt tại điểm x sau khi
làm mịn giá trị z của thuộc tính chỉ số điều kiện a.
Phương pháp
// Tìm ma trận độ hỗ trợ trên khối quyết định sau khi làm mịn giá trị z của
thuộc tính chỉ số điều kiện a.
// Tìm lớp tương đương điều kiện Cs được tách thành 2 lớp mới Cp, Cq.
1. For s = 1 to m do
54
2. begin
3. if f(Cs, a) = z and Cs W and Cs Y then
4. begin
5. Cp = ; Cq = ;
6. for each u in Cs do
7. begin
8. if (f(u, a) = w) then bổ sung u vào Cp
9. else if (f(u, a) = y) then bổ sung u vào Cq;
10. end;
11. end;
12. end;
// Tính ma trận độ hỗ trợ trên khối quyết định sau khi làm mịn giá trị z.
13. For j = 1 to g do Sup(Cq, Dj) = Sup(Cs, Dj) – Sup(Cp, Dj);
14. Xóa dòng tương ứng với Cs;
15. Bổ sung 2 dòng tương ứng với Cp, Cq;
// Tìm lớp tương đương điều kiện Cxs được tách thành 2 lớp tương đương điều
kiện mới Cxp, Cxq.
16. For s = 1 to tx do
17. begin
18. if f(Cxs,a)=z and Cxs W and Cxs Y then
19. begin
20. Cxp := ; Cxq := ;
21. for each u in Cxs do
22. begin
23. if (f(u,a) = w) then bổ sung u vào Cxp
24. else if (f(u, a) = y) then bổ sung u vào Cxq;
25. end;
26. end;
27. end;
// Tính ma trận độ hỗ trợ trên lát cắt tại x sau khi làm mịn giá trị z.
28. For j = 1 to hx do
55
29. begin
30. Tính Sup(Cxp, Dj);
31. Sup(Cxq, Dj) = Sup(Cxs, Dj) – Sup(Cxp, Dj);
32. end;
33. Xóa dòng tương ứng với Cxs;
34. Bổ sung 2 dòng tương ứng với Cxp, Cxq;
Kết thúc
Thuật toán 2.6: Tính ma trận độ hỗ trợ trên khối quyết định và trên lát cắt sau khi
làm thô các giá trị của thuộc tính quyết định.
Vào: - Các ma trận độ hỗ trợ trên khối, trên lát cắt tại x.
- Thuộc tính chỉ số quyết định a = x(i) được làm thô.
- Các giá trị w và y của a được làm thô thành z.
Ra: - Ma trận độ hỗ trợ trên khối và trên lát cắt tại x sau khi làm thô.
Phương pháp
// Tìm tất cả các cặp lớp tương đương quyết định Dp, Dq được hợp thành lớp
tương đương quyết định Ds mới.
28. CC = : // tập chứa các cặp lớp tương đương được hợp lại thành một lớp mới.
29. For p = 1 to g-1 do
30. for q = p + 1 to g do
31. Begin
32. if (f(Dp,a) = w and f(Dq,a) = y) or (f(Dp,a) = y and f(Dq,a) = w) then
33. begin
34. kiemtra = 1;
35. for k = 1 to |D| do //|D| là số các thuộc tính chỉ số quyết định trên
khối.
36. begin
37. If (ak a and f(Dp,ak) f(Dq,ak)) then
38. begin
39. kiem tra= 0;
40. break;
41. end;
56
42. end;
43. If kiemtra = 1 then lưu (Dp, Dq) vào CC;
44. end;
45. end;
// Tính ma trận độ hỗ trợ trên khối sau khi làm thô.
46. For each (Dp, Dq) in CC
47. begin
48. for i = 1 to m do
49. begin
50. Sup(Ci, Ds)= Sup(Ci, Dp)+ Sup(Ci, Dq);
51. end;
52. Xóa 2 dòng tương ứng với Dp, Dq;
53. Bổ sung dòng tương ứng với Ds;
54. end.
// Tính ma trận độ hỗ trợ cho lát cắt tại x sau khi làm thô.
// Tìm tất cả các cặp lớp tương đương quyết định Dxp, Dxq được hợp thành lớp tương
đương quyết định mới Dxs.
28. CCx = // tập chứa các cặp lớp tương đương được hợp lại thành một lớp mới.
29. For p = 1 to hx-1 do
30. for q = p + 1 to hx do
31. Begin
32. if (f(Dxp,a) = w and f(Dxq,a) = y) or (f(Dxp,a) = y and f(Dxq,a) = w) then
33. begin
34. kiemtra = 1;
35. for k = 1 to |Dx| do //|Dx| là số các thuộc tính chỉ số quyết định trên
lát cắt tại x (x id)
36. begin
37. If (ak a and f(Dxp,ak) f(Dxq,ak)) then
38. begin
39. kiem tra= 0;
57
40. break;
41. end;
42. end;
43. If kiemtra = 1 then lưu (Dxp, Dxq) vào CCx;
44. end;
45. end;
// Tính ma trận độ hỗ trợ trên khối sau khi làm thô.
46. For each (Dxp, Dxq) in CCx
47. begin
48. for i = 1 to tx do
49. begin
50. Sup(Cxi, Dxs ):= Sup(Cxi, Dxp)+ Sup(Cxi, Dxq);
51. end;
52. Xóa 2 dòng tương ứng với Dxp, Dxq;
53. Bổ sung dòng tương ứng với Dxs;
54. end.
Kết thúc
Thuật toán 2.7: Tính ma trận độ hỗ trợ trên khối quyết định và trên lát cắt sau khi
làm mịn giá trị của thuộc tính quyết định.
Vào: - Ma trận độ hỗ trợ trên khối quyết định và trên lát cắt tại điểm x.
- Thuộc tính chỉ số quyết định a được làm mịn.
- Tập W các đối tượng có giá trị z trên thuộc tính chỉ số a được làm mịn thành w.
- Tập Y các đối tượng có giá trị z trên thuộc tính chỉ số a được làm mịn thành y.
Ra: - Ma trận độ hỗ trợ trên khối quyết định và trên lát cắt tại điểm x sau khi làm mịn
giá trị z của thuộc tính chỉ số quyết định a.
Phương pháp
// Tìm ma trận độ hỗ trợ trên khối quyết định sau khi làm mịn giá trị z của
thuộc tính chỉ số quyết định a.
// Tìm lớp tương đương quyết định Ds được tách thành 2 lớp mới Dp, Dq.
35. For s = 1 to g do
58
36. begin
37. if f(Ds, a) = z and Ds W and Ds Y then
38. begin
39. Dp = ; Dq = ;
40. for each u in Ds do
41. begin
42. if (f(u, a) = w) then bổ sung u vào Dp
43. else if (f(u, a) = y) then bổ sung u vào Dq;
44. end;
45. end;
46. end;
// Tính ma trận độ hỗ trợ trên khối quyết định sau khi làm mịn giá trị z.
47. For i = 1 to m do Sup(Ci, Dp) = Sup(Ci, Ds) – Sup(Ci, Dp);
48. Xóa dòng tương ứng với Ds;
49. Bổ sung 2 dòng tương ứng với Dp, Dq;
// Tìm lớp tương đương quyết định Dxs được tách thành 2 lớp tương đương
quyết định mới Dxp, Dxq.
50. For j = 1 to hx do
51. begin
52. if f(Dxj,a)=z and Dxj W and Dxj Y then
53. begin
54. Dxp = ; Dxq = ;
55. for each u in Dxs do
56. begin
57. if (f(u,a) = w) then bổ sung u vào Dxp
58. else if (f(u, a) = y) then bổ sung u vào Dxq;
59. end;
60. end;
61. end;
// Tính ma trận độ hỗ trợ trên lát cắt tại x sau khi làm mịn giá trị z.
62. For i = 1 to tx do
59
63. begin
64. Tính Sup(Cxi, Dxp);
65. Sup(Cxi, Dxq) = Sup(Cxi, Dxs) – Sup(Cxi, Dxp);
66. end;
67. Xóa dòng tương ứng với Dxs;
68. Bổ sung 2 dòng tương ứng với Dxp, Dxq;
Kết thúc
Thuật toán 2.8: Tính ma trận độ chính xác và ma trận độ phủ sau khi làm thô, mịn
giá trị thuộc tính chỉ số
Vào: Ma trận độ hỗ trợ sau khi làm thô hoặc làm mịn giá trị thuộc tính chỉ số.
Ra: Ma trận độ chính xác và ma trận độ phủ sau khi làm thô hoặc làm mịn giá trị
thuộc tính chỉ số.
Phương pháp:
//Áp dụng mệnh đề 1.1
1. SupN = 0; //Vecto tổng dòng gồm n giá trị để tính Acc
2. SupM = 0; //Vecto tổng cột gồm m giá trị để tính Cov
// Tính tổng
3. For i =1 to m do
4. for j = 1 to g do
5. begin
6. SupN(j) = SupN(j) + Sup(Ci, Dj);
7. SupM(i) = SupM(i) + Sup(Ci, Dj);
8. end;
// Tính Acc, Cov
9. For i=1 to m do
10. for j=1 to g do
11. begin
12. Acc(Ci,Dj) = ;
)N(Sup
)D,C(Sup
j
ji
13. Cov(Ci,Dj) =
)M(Sup
)D,C(Sup
i
ji
;
60
14. end;
Kết thúc.
*Ý nghĩa thuật toán MDLB_VAC khai phá luật quyết định trên khối khi giá trị
thuộc tính thay đổi:
Khi giá trị thuộc tính thay đổi (làm mịn hoặc làm thô giá trị thuộc tính) dẫn
đến việc thay đổi của các lớp tương đương và làm ảnh hưởng đến luật quyết định thu
được. Để tìm ra luật quyết định sau sự thay đổi về giá trị thuộc tính này, thay vì tính
toán tuần tự theo phương pháp của thuật toán MDLB thì thuật toán MDLB_VAC sử
dụng phương pháp tính toán gia tăng giúp giảm bớt quá trình tính toán mà chỉ tính
những dòng, cột bị thay đổi so với ma trận các giá trị đo ban đầu.
2.4 Độ phức tạp của các thuật toán tính ma trận Sup trên khối và lát cắt.
Mệnh đề 2.13
Thuật toán tính ma trận độ hỗ trợ cho khối quyết định và cho lát cắt tại điểm
xid cùng có độ phức tạp là O(|U|2).
Chứng minh
Thật vậy, với mỗi Ci ta cần xác định:
Sup (Ci, Dj) = |Ci Dj| với j = 1, 2,, g.
Như vậy ta cần thực hiện số phép so sánh và đếm là |Ci|*|U|, từ đó suy ra khi
i chạy từ 1..m ta sẽ có số phép so sánh và đếm là |U| * |U| = |U|2.
Do đó ta thấy độ phức tạp thời gian của thuật toán tính ma trận độ hỗ trợ cho
khối quyết định là O(|U|2).
Để tính độ phức tạp thời gian của thuật toán tính ma trận độ hỗ trợ cho lát cắt
tại điểm xid thì ta cần xác định Sup(Cxi, Dxj) = |Cxi Dxj| với i = 1, 2,tx, j = 1,
2,,hx.
Ta thấy với mỗi Cxi thì: |Cxi Dxj| với j = 1, 2,, hx, cần thực hiện số phép so
sánh và đếm là |Cxi|*|U|, từ đó suy ra khi i chạy từ 1..tx ta sẽ có số phép so sánh và
đếm là |U| * |U| = |U|2.
Vậy ta có độ phức tạp thời gian của thuật toán tính ma trận đ
Các file đính kèm theo tài liệu này:
- luan_an_khai_pha_luat_quyet_dinh_tren_mo_hinh_du_lieu_dang_k.pdf