Tải bản đầy đủ (.pptx) (35 trang)

Chuong 2 khai pha luat ket hop

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.8 MB, 35 trang )

Học phần: Khai phá dữ liệu
Bài 2: Khai phá luật kết hợp

1


Nội dung
1.
2.
3.
4.
5.
6.
7.
8.
9.

Giới thiệu bài tốn phân tích giỏ hàng
Luật kết hợp
Một số độ đo phổ biến
Tập mục thường xuyên
Tổng quan về bài toán khai phá luật kết hợp
Thuật toán Apriori
Sinh luật kết hợp
Nội dung mở rộng
Hướng dẫn thực hành
2


2.1 Bài tốn phân tích giỏ hàng


TID

Items

100

Banana, milk, bread

200

Milk, bread, coffee

300

Coffee, milk, Sunsilk shampoo

400

Potato, fish, banana, pepper

500

Bread, milk

600

Potato, fish, rice






3


2.1 Bài tốn phân tích giỏ hàng (tt)
Những mặt hàng nào thường được khách
hàng mua cùng nhau trong cùng 1 lần mua
hàng?
 Thiết kế gian hàng.
 Lên kế hoạch bán giảm giá cho mặt
hàng/nhóm mặt hàng.
 Lên kế hoạch tiếp thị/các chiến lược quảng
cáo.
 .v.v.
4


2.2 Luật kết hợp (association rules)

Cho
 

là một tập các mục (mặt hàng, .v.v.).
Cho D là một tập các giao dịch mà mỗi giao
dịch T là một tập các mục, .
Mỗi giao dịch có một mã định danh riêng gọi
là TID.
Cho A là một tập các mục (mặt hàng). Một
giao dịch T được gọi là chứa A khi và chỉ khi .

 Một luật kết hợp được diễn đạt dưới hình
thức , với
5


2.3 Một số độ đo phổ biến
 Luật

trong tập giao dịch D có độ hỗ trợ support – s, với s là phần trăm số giao
dịch trong D chứa , (cả A và B).
support( = P(
Luật trong tập giao dịch D có độ tin cậy
– confidence – c, với c là phần trăm giao
dịch trong D có chứa A thì cũng chứa B.
confidence = P(B|A)
6


2.3 Một số độ đo phổ biến (tt)
Những luật kết hợp thỏa mãn độ hỗ trợ tối
thiểu (min_sup) và độ tin cậy tối thiểu
(min_conf) được gọi là các luật mạnh.

7


2.4 Tập mục thường xuyên – Frequent itemset
Một

tập mục chứa k mục được gọi là một

k-itemset.
Ví dụ:
◦ tập {computer, antivirus_software} là một 2itemset
Tần

suất xuất hiện của một tập mục là số
giao dịch chứa tập mục đó (hay cịn được
gọi là frequency, support count, count
của tập mục)
8


2.4 Tập mục thường xuyên – Frequent
itemset (tt)
 Nếu

độ hỗ trợ (support) của một tập mục I
lớn hơn hoặc bằng độ hỗ trợ tối thiểu
(min_sup) thì I đươc gọi là một tập mục
thường xuyên.
Tập hợp các k-itemset thường xuyên được
ký hiệu là .

9


2.5 Tổng quan về bài toán khai phá luật kết
hợp
Nếu chúng ta xem tập chứa tất cả các mục (hay
các mặt hàng) tương tự như một nhà kho hay cửa

hàng thì mỗi mục (mặt hàng) sẽ có một biến kiểu
logic (Boolean) biểu đạt sự có hàng hay hết hàng
của chính mặt hàng đó. Khi ấy mỗi giỏ hàng
(basket) có thể được biểu diễn bằng một vector giá
trị Boolean. Các vector này có thể được phân tích
để tìm ra các mẫu hành vi mua hàng phản ánh
những mặt hàng nào thường được mua cùng
nhau.
10


2.5 Tổng quan về bài toán khai phá luật
kết hợp (tt)

11


2.5 Tổng quan về bài toán khai phá luật
kết hợp (tt)
Nhìn chung, khai phá luật kết hợp là một quá
trình 2 bước.
1. Tìm tất cả các tập mục thường gặp (thường
xuyên): theo định nghĩa thì mỗi itemset được
gọi là tập mục thường xuyên nếu độ hỗ trợ
của nó lớn hơn hoặc bằng min_sup.
2. Tạo các luật kết hợp mạnh từ các tập mục
thường xuyên: theo định nghĩa thì những luật
kết hợp mạnh phải có độ hỗ trợ và độ tin cậy
lớn hơn min_sup và min_conf tương ứng.


12


2.5 Tổng quan về bài toán khai phá luật
kết hợp (tt)
Thách

thức chính trong khai phá các tập mục
thường xuyên từ một tập dữ liệu lớn chính là
việc tạo ra một lượng cực lớn các tập mục thỏa
mãn độ hỗ trợ tối thiểu (min_sup), đặc biệt khi
min_sup được cho giá trị cực nhỏ.
Điều này xảy ra bởi vì một tập mục được coi là
thường xuyên nếu các tập con của nó cũng là
những tập mục thường xuyên. Như vậy một
tập mục dài sẽ chứa một số tổ hợp các tập mục
con thường xuyên ngắn hơn.
13


2.5 Tổng quan về bài toán khai phá luật kết
hợp (tt)
  dụ: một tập mục thường xun có chiều

dài 100 - sẽ chứa:
 1-itemset thường xuyên
 …
 Tổng của các tổ hợp này lại là .

14



2.5 Tổng quan về bài toán khai phá luật kết
hợp (tt)
 


Tập

mục đóng thường xuyên: một tập mục X là đóng
trong một tập dữ liệu S nếu không hề tồn tại tập mục Y
nào mà , lại có cùng số hỗ trợ (support_count) như X ở
trong S. Một tập mục X được gọi là đóng thường xuyên
trong tập S nếu nó vừa đóng và vừa thường xuyên trong
S.
 Tập mục thường xuyên cực đại: tập mục X được gọi là
thường xuyên cực đại (max-itemset) trong tập S nếu X là
thường xuyên và khơng có có bất kì tập Y nào mà và Y
lại cũng thường xuyên trong S.

15


2.6 Thuật toán Apriori
 Do

R. Agrawal và R. Srikant giới thiệu
năm 1994
 Khai phá các tập mục thường xuyên cho
các luật kết hợp dạng Boolean.

 Chiến lược lặp của Apriori: các k-itemset
được sử dụng để khảo sát các (k + 1)itemset

16


2.6 Thuật toán Apriori (tt)

Trước
 

tiên, tập các 1-itemset thường xuyên được
tìm ra bằng cách quét qua cơ sở dữ liệu để tiến
hành đếm tần suất xuất hiện của từng (tập) mục
và chọn lấy những mục thỏa min_sup. Tập kết
quả được gọi là .
Tiếp theo được sử dụng để tìm là tập các 2itemset thường xuyên. lại được sử dụng để tìm
kiếm , và cứ tiếp tục như vậy cho đến khi khơng
thể tìm thấy k-itemset thường xun nào cao hơn
nữa. Cứ mỗi lần tìm kiếm mỗi địi hỏi phải qt
qua toàn bộ cơ sở dữ liệu một lần.

17


2.6 Thuật tốn Apriori (tt)
 Tính

chất Apriori: Tất cả các tập con
khơng rỗng của một tập mục thường

xun cũng thường xun.
Tính chất Apriori được sử dụng để tìm
dựa trên thơng qua quy trình 2 bước (kết
nối và loại bỏ)

18


2.6 Thuật tốn Apriori (tt)
 
Bước
kết nối (join): Tìm là tập các k-itemset
được tạo ra bằng cách nối với chính nó. Tập nối
này được gọi là . Cho là các tập mục trong . Cú
pháp chỉ đến mục (mặt hàng) thứ j trong tập
mục . Apriori giả định rằng tất cả các mục (mặt
hàng) trong một giao dịch đều được sắp xếp theo
thứ tự từ điển. Phép nối được thực hiện khi các
thành viên của là có thể nối được nếu các (k-2)mục đầu tiên của chúng là giống nhau. Ví dụ với
là có thể nối được chỉ khi . Điều kiện cuối để đảm
bảo khơng có sự trùng lặp.

19


2.6 Thuật toán Apriori (tt)
  loại bỏ (prune): là siêu tập (tập cha) của .
Bước
Tiến hành 1 lượt quét qua cơ sở dữ liệu để đếm tần
suất của mỗi phần tử của . Tuy nhiên có thể rất lớn

dẫn đến hệ lụy phép đếm này sẽ là một phép tính
tốn tiêu tốn nhiều thời gian và năng lượng. Vì vậy
để giảm kích cỡ của , thuộc tính Apriori được sử
dụng như sau. Bất kì (k-1)-itemset nào mà khơng
thường xun thì không thể là một tập con của tập
k-itemset thường xuyên. Vì vậy, nếu bất kì (k-1)
tập con nào của một tập k-itemset mà khơng nằm
trong thì sẽ bị loại bỏ khỏi .

2


2.6 Thuật toán Apriori (tt)
 Giả

 



sử thiết lập giá trị
min_sup_count = 2
Tương ứng với
min_sup = 2/9 = 22%
Tập các 1-itemset
xác định bằng cách
đếm tần suất xuất
hiện trong cơ sở dữ
liệu giao dịch.

TID


Danh mục

T100

I1, I2, I5

T200

I2, I4

T300

I2, I3

T400

I1, I2, I4

T500

I1, I3

T600

I2, I3

T700

I1, I3


T800

I1, I2, I3, I5

T900

I1, I2, I3

21


2.6 Thuật toán Apriori (tt)
TID

Danh mục

T100

I1, I2, I5

T200

I2, I4

T300

I2, I3

T400


I1, I2, I4

T500

I1, I3

T600

I2, I3

T700

I1, I3

T800

I1, I2, I3, I5

T900

I1, I2, I3

22


2.6 Thuật toán Apriori (tt)

2



2.6 Thuật toán Apriori (tt)

24


2.6 Thuật toán Apriori (tt)

2


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×