Professional Documents
Culture Documents
Slide Association Rules
Slide Association Rules
1
Phát hiện luật kết hợp trong cơ sở dữ liệu 2
Phát hiện luật kết hợp trong cơ sở dữ liệu 3 Phát hiện luật kết hợp trong cơ sở dữ liệu 4
Luật kết hợp: Bài toán “Cái giỏ hàng” Phân tích bài toán “Cái giỏ hàng”
Phân tích thói quen mua hàng của Cho cơ sở dữ liệu gồm các giao dịch
khách hàng: tìm sự kết hợp và tương của khách hàng, mỗi giao dịch là một
quan giữa các mặt hàng khác nhau tập các mặt hàng
mà khách hàng đặt vào trong “giỏ Tìm các nhóm mặt hàng thường được
hàng” của họ
hàng mua cùng nhau
Sữa, trứng, đường, Sữa, trứng, ngũ cốc, bánh mỳ Trứng, đường
bánh mỳ
Khách hàng 1
Khách hàng 2 Khách hàng 3
Phát hiện luật kết hợp trong cơ sở dữ liệu 5 Phát hiện luật kết hợp trong cơ sở dữ liệu 6
1
Một số ứng dụng khác Các khái niệm cơ bản
Phát hiện luật kết hợp trong cơ sở dữ liệu 7 Phát hiện luật kết hợp trong cơ sở dữ liệu 8
Phát hiện luật kết hợp trong cơ sở dữ liệu 9 Phát hiện luật kết hợp trong cơ sở dữ liệu 10
Hai tính chất cơ bản 2. Phát hiện luật kết hợp trong CSDL giao dịch
{5} A
Phát hiện luật kết hợp trong cơ sở dữ liệu 11 Phát hiện luật kết hợp trong cơ sở dữ liệu 12
2
Phát hiện các tập mục thường xuyên Giải thuật Apriori
Giải thuật Apriori Đầu vào: Cơ sở dữ liệu các giao dịch D và smin
Đầu ra: Tập Answer chứa tất cả các tập mục thường xuyên của D
Sử dụng FP-tree Giải thuật:
1) L1 = {large 1-itemsets};
2) for(k=2; Lk-1; k++) do begin
3) Ck = AprioriGen(Lk-1); // New candidate
4) f
forall
ll transactions
t ti ttD
D do
d b begin i
5) Ct = Subset(Ck, t); // Candidates contained in t
6) forall candidates cCt do
7) c.count++
8) end
9) Lk = {cCk c.count ≥ smin}
10) end
11) Answer = k Lk;
Phát hiện luật kết hợp trong cơ sở dữ liệu 13 Phát hiện luật kết hợp trong cơ sở dữ liệu 14
Xây dựng cây mẫu thường xuyên Xây dựng cây mẫu thường xuyên
FP-tree (Frequent Pattern tree) Duyệt DB lần 2, sắp xếp lại các giao dịch theo
danh sách L
Các bước xây dựng:
Duyệt DB lần 1 để sinh ra danh sách L TID Items Các mục đã sắp xếp
100 f, a, c, d, g, i, m, p f, c, a, m, p
TID I
Items
Item frequency 200 a, b,
b c, f,
f l,
l m, o f c, a, b,
f, b m
100 f, a, c, d, g, i, m, p f 4 300 b, f, h, j, o f, b
200 c 4
a, b, c, f, l, m, o
a 3 400 b, c, k, s, p c, b, p
300 b, f, h, j, o b 3
m 3 500 a, f, c, e, l, p, m, n f, c, a, m, p
400 b, c, k, s, p
p 3
500 a, f, c, e, l, p, m, n
Phát hiện luật kết hợp trong cơ sở dữ liệu 17 Phát hiện luật kết hợp trong cơ sở dữ liệu 18
3
Xây dựng cây mẫu thường xuyên Xây dựng cây mẫu thường xuyên
Phát hiện luật kết hợp trong cơ sở dữ liệu 19 Phát hiện luật kết hợp trong cơ sở dữ liệu 20
Xây dựng cây mẫu thường xuyên Phát hiện các luật kết hợp
Cây kết quả Giải thuật đơn giản để sinh các luật
{}
Header Table Đầu vào: Tập tất cả các tập mục thường xuyên có nhiều hơn một mục
f:4 c:1
Item head F k 2 Fk F \ F1
f
c c:3 b:1 b:1 Đầu ra: Tất cả các luật kết hợp
a Phương pháp:
b a:3 p:1
m 1) forall f k F do
p m:2 b:1
2) GenRules(fk, fk);
p:2 m:1
Phát hiện các luật kết hợp Vấn đề khai phá luật kết hợp đa mức
Thủ tục GenRules Phân cấp khái niệm trên các mục của CSDL
Đầu vào: Hai tập mục thường xuyên fk và lm, và một ngưỡng độ tin cậy cmin
Đầu ra: Các luật kết hợp với nhiều nhất m-1 mục ở phần đầu luật (m>2)
Phương pháp:
1) procedure GenRules(fk: k-tập mục thường xuyên, lm: m-tập mục Đồ uống
thường xuyên)
2)) L{ {các (m-1)-tập
( ) ập mục ụ lm 1|
m-1|lm 1 lm}
m-1
3) forall lm-1L do begin
4) c s(fk)/s(lm-1); // Độ chắc chắn của luật Cà phê Chè Nước hoa quả Bia
5) if c ≥ cmin then begin
6) output luật lm-1(fk\lm-1);
7) if m-1 ≥ 1 then
8) GenRules(fk, lm-1);
9) end; Cà phê đen Cà phê sữa Nước cam Nước táo Nước nho
10) end;
11) end;
Phát hiện luật kết hợp trong cơ sở dữ liệu 23 Phát hiện luật kết hợp trong cơ sở dữ liệu 24
4
Thuật toán cơ bản khai phá luật kết hợp đa mức 3. Phát hiện luật kết hợp trong CSDL quan hệ
L1:={các 1-tập mục thường xuyên}; CSDL quan hệ: các quan hệ thường
k:=2;
while (Lk-1 ) do chứa các thuộc tính định lượng, phạm
begin
Ck:=các ứng cử viên mới kích thước k được sinh ra từ Lk-1
trù.
forall giao dịch tD do Xử lý những thuộc tính định lượng:
begin
Thê tất cả
Thêm ả các
á tổ tiê
tiên của
ủ từng
từ mục trong
t t vào
à t,
t loại
l i Phân vùng rõ
bỏ sự trùng lặp
Tăng bộ đếm của tất cả các ứng viên trong Ck mà có Khai phá luật kết hợp định lượng
mặt trong t
end Phân vùng mờ
Lk:=Tất cả ứng viên trong Ck đạt độ hỗ trợ tối thiểu
k:=k+1;
end Khai phá luật kết hợp mờ
Câu trả lời := k
Lk
Phát hiện luật kết hợp trong cơ sở dữ liệu 25 Phát hiện luật kết hợp trong cơ sở dữ liệu 26
Khai phá luật kết hợp định lượng Khai phá luật kết hợp định lượng
Phân vùng Equi-Depth: Các vùng có Phân vùng dựa trên khoảng cách: có xem
kích thước như nhau xét tính chất định lượng và ngữ nghĩa của
dữ liệu. Khoảng cách giữa các điểm dữ liệu
Phân vùng dựa trên các giá trị có thể có
càng nhỏ thì chúng càng nên thuộc về 1
của thuộc tính. Ví dụ: nếu kiểu thuộc
nhóm
tính có g
giá trịị từ 1 đến 15 và depth
p d=3
thì sinh ra các khoảng [1,3], [4,6], [7,9], Lương equi-depth distance-based
18 [18, 18]
[10,12], [13,15] 30
[18, 30]
[30, 31]
Phân vùng dựa trên các giá trị có thực 31
[31, 80]
trong CSDL: d giá trị đầu được đặt vào 80
[80, 82]
khoảng thứ nhất, d giá trị tiếp theo được 81
82
[81, 82]
đặt vào khoảng thứ hai,…
Phát hiện luật kết hợp trong cơ sở dữ liệu 27 Phát hiện luật kết hợp trong cơ sở dữ liệu 28
Khai phá luật kết hợp định lượng Khai phá luật kết hợp định lượng
Phát hiện luật kết hợp trong cơ sở dữ liệu 29 Phát hiện luật kết hợp trong cơ sở dữ liệu 30
5
Khai phá luật kết hợp định lượng Khai phá luật kết hợp mờ
Cách tiếp cận khối dày đặc Khái niệm luật kết hợp mờ
Nếu X = {x1, x2, ..., xp} là A = {a1, a2, ..., ap}
thì Y = {y1, y2, ..., yq} là B = {b1, b2, ..., bq}
X, Y là tập các thuộc tính
x1, x2,...,y1,y2,... là các thuộc tính
A,
A B là tập các tập mờ
a1,a2,...,b1,b2,...là các tập mờ
Công thức tính độ hỗ trợ mờ
ti D x j X
d x j ( a j , t i .x j )
FS X , A
D
Phát hiện luật kết hợp trong cơ sở dữ liệu 31 Phát hiện luật kết hợp trong cơ sở dữ liệu 32
Khai phá luật kết hợp mờ Khai phá luật kết hợp mờ
FS X , A t D x X d x j (a j , ti .x j )
i j t1 60 20:15
t2 80 23:45
Ví dụ: Có X = {Balance
{Balance, Income},
Income} A =
t3 22 15:30
{medium, high}, Y = {Credit}, B = {high}
t4 55 01:00
Balance, medium Credit, high Income, high
t5 3 19:30
0.5 0.6 0.4
0.8 0.9 0.4 FS<X,A>=0.364 t6 18 06:51
Phát hiện luật kết hợp trong cơ sở dữ liệu 33 Phát hiện luật kết hợp trong cơ sở dữ liệu 34
Khai phá luật kết hợp mờ Khai phá luật kết hợp mờ
t4 0 0 0 0 0.5 0.5 0 1 0 0 0 0
t5 0.5 0.5 0 0 0 0 0 0 0 0 1 0
t6 0 0 1 0 0 0 0 0.85 0.15 0 0 0
6
4. Một số vấn đề khác
Phát hiện luật kết hợp trong cơ sở dữ liệu 37 Phát hiện luật kết hợp trong cơ sở dữ liệu 38