LOGO
Trường Đại học Bách Khoa Hà Nội
Bài tìm hiểu
Thuật toán Apriori
tìm luật kết hợp
Giáo viên hướng dẫn:
Lê Kim Thư
Sinh viên thực hiện :
Hồ Sĩ Sơn
Lớp:
Tt1-k545
Mã sinh viên
:
Email
19/10/2012
20093592
:
1
LOGO
Mục Lục
1
Luật kết hợp trong khai phá dữ liệu
2
Thuật toán Apriori
3
19/10/2012
2
LOGO
19/10/2012
3
LOGO
Luật kết hợp
•
Chỉ ra các mối quan hệ tương quan của các đối tượng trong khối dữ liệu lớn.
Mục
Mục đích
đích
•
•
T = {t1, t2, …, tn}. (T là cơ sở dữ liệu giao dịch)
Mỗi ti bao gồm tập các đối tượng I = {i1, i2, …, im}.
Luật kết hợp chính là mối tương quan hay kết hợp giữa các hạng mục (Item ) có dạng: X →Y, với X
Nội
Nội dung
dung cơ
cơ bản
bản
⊂ I, Y ⊂ I
và X ∩ Y=∅.
•
•
19/10/2012
X (hoặc Y) là một nhóm các hạng mục (Item ) và được gọi là tập hạng mục (itemset ).
Một itemset gồm k items gọi là k-itemset
4
LOGO
VÍ Dụ :
ID
Hàng
1
A, B, C
2
B, C, D
3
A, E
Transaction:
4
B
1, 2, 3, 4, 5
5
A, B
Item T-tập: A, B, C, D, E
Itemset:
{A,B}, {A,B,C}, {D,E}
LOGO
Luật kết hợp
Luật kết hợp X→Y có thể hiểu rằng những người mua các mặt hàng trong tập X cũng thường mua các mặt
hàng trong tập Y
Ví dụ: Một giao dịch như: {Beef, Chicken, Cheese}
Luật kết hợp có thể là: Beef ,Chicken → Cheese,
X = {Beef, Chicken} và Y = {Cheese}
→ Chúng ta có thể nói rằng những người mua Beef và Chicken thì cũng thường mua Cheese.
Theo quan điểm thống kê, X được xem là biến độc lập còn Y được xem là biến phụ thuộc
19/10/2012
6
LOGO
Ứng dụng luật kết hợp
Mục đích:Tìm các hiện tượng thường xuyên xảy ra trong DL
- Những sản phẩm nào thường được mua chung ? Bia và tã lót
-Dạng DNA nào có phản ứng với công thức thuốc mới ?
- Làm thế nào để phân loại tự động văn bản
- Ứng dụng :
- ứng dụng trong CSDL bán hàng
- Mở rộng sang quảng cáo ,thiết kế catalog ,phân tích chiến dịch bán hàng ,Wed log ,chuỗi DNA
19/10/2012
7
LOGO
Luật kết hợp
Để đo lường luật kết hợp, ta sử dụng độ hỗ trợ (Support) và độ tin cậy (Confidence)
n là tổng số giao dịch.
(X∪Y).count là số giao dịch có (X∪Y)
X.count là số giao dịch chứa X
19/10/2012
8
LOGO
VÍ Dụ :
ID
Hàng
Support {A,B} =2/5
1
A, B, C
2
B, C, D
Confidence{ AB } =2/4
14/7/2012
3
A, E
4
B
5
A, B
Confidence{ BA } =2/4
9
LOGO
Luật kết hợp
Thu được luật
kết hợp
support ≥ minsup
confidence ≥ minconf
Các giá trị minsup và minconf là ngưỡng cần phải xác định trước khi sinh ra các luật kết hợp.
Một itemsets mà tần suất xuất hiện của nó ≥ minsup goi là frequent itemsets (Tập phổ biến S hay tập các
hạng mục S )
19/10/2012
10
LOGO
Thuật toán Apriori
Tư tưởng của thuật toán
1
Tìm tất cả frequent itemsets: Sử
dụng k-itemset (itemsets gồm k
items) được dùng để tìm (k+1)itemset
19/10/2012
2
Tìm tất cả các luật kết hợp từ
các frequent itemsets (các luật
confidence ≥ minconf
kết hợp thỏa mãn 2 tham số
minsup và minconf)
11
LOGO
Thuật toán Apriori
Tư tưởng của thuật toán
Với mỗi tập con s không rỗng của I, sinh ra các luật s→(I-s) nếu độ
tin cậy (Confidence) của nó ≥ minconf
Bước 6
Nếu không tìm thấy
Với mỗi frequent itemset I có số lượng item k ≥ 2 , sinh tất cả các tập con s
frequent itemsets)
không rỗng của I.
Bước 5
Bước 4
confidence ≥ minconf
Duyệt cơ sở dữ liệu giao dịch để có được support của mỗi k-itemset, so sánh S với minsup để
thu được frequent k –itemset (Fk)
Nếu còn tìm thấy
Bước 3
frequent itemsets)
Sử dụng Fk-1 nối (join) Fk-1 để sinh ra các k-itemset. Loại bỏ các k-itemset không có đủ
tập con.
Bước 2
Duyệt toàn bộ transaction database để có được support S của 1-itemset, so sánh S với minsup, để có được
1-itemset (F1)
Bước 1
12
LOGO
Thuật toán Apriori
Giai đoạn 1
Đầu tiên tìm 1-itemset (ký hiệu F1). F1 được dùng để tìm F2 (2-itemsets). F2 được dùng để tìm F3 (3-itemset) và tiếp tục cho đến khi
không có k-itemset được tìm thấy.
Giai đoạn 2
Sử dụng các frequent itemsets thu được ở bước 1 sinh ra các luật kết hợp thỏa mãn confidence ≥ minconf.
13
LOGO
19/10/2012
14
LOGO
14/7/2012
15
LOGO
14/7/2012
16
LOGO
Thuật toán Apriori
Minsup = 30% , minconf = 80%
Minh họa thuật toán
Do 2/7 < minsup < 3/7, ta xét các support thỏa mãn với tần số xuất hiện ≥3
CSDL
Tid
1
Items
{Beef, Chicken, Milk}
Items
2
{Beef, Cheese}
F1
3
4
{Cheese, Boots}
{Beef, Chicken, Cheese}
{Beef, Chicken, Clothes,
5
Cheese, Milk }
6
{Chicken, Clothes, Milk}
7
{Chicken, Milk, Clothes}
Items
Support
{Beef}
4
{Cheese}
4
{Chicken}
5
{Clothes}
3
{Milk}
4
C1
Support
{Beef}
4
{Cheese}
4
{Chicken}
5
{Clothes}
3
{Milk}
4
Fk: Tập k item
Ck : Tập mục thường xuyên k item (>MinSup)
17
LOGO
Tid
Items
Items
1
{Beef, Chicken, Milk}
2
{Beef, Cheese}
3
{Cheese, Boots}
Items
Support
support
{Beef, Cheese}
3
{Beef, Chicken}
3
{Beef, Clothes}
1
{Beef, Milk}
2
{Beef}
4
{Cheese}
4
{Cheese, Chicken}
2
{Chicken}
5
{Cheese, Clothes}
1
{Clothes}
3
{Cheese, Milk}
1
{Milk}
4
{Chicken, Clothes}
3
{Chicken, Milk}
4
{Clothes, Milk}
3
F2
4
{Beef, Chicken, Cheese}
{Beef, Chicken, Clothes,
5
Cheese, Milk }
6
{Chicken, Clothes, Milk}
7
{Chicken, Milk, Clothes}
18
LOGO
CSDL
Items
Items
support
{Beef, Cheese}
3
{Beef, Chicken}
3
C2
{Beef, Clothes}
1
{Beef, Milk}
2
{Cheese, Chicken}
2
{Cheese, Clothes}
1
{Cheese, Milk}
1
{Chicken, Clothes}
3
{Chicken, Milk}
4
{Clothes, Milk}
3
14/7/2012
support
{Beef, Chicken}
3
{Beef, Cheese}
3
{Chicken, Clothes}
3
{Chicken, Milk}
4
{Clothes, Milk}
3
19
LOGO
CSDL
Tid
Items
Items
1
{Beef, Chicken, Milk}
2
{Beef, Cheese}
3
{Cheese, Boots}
4
support
{Beef, Chicken}
3
{Beef, Cheese}
3
Items
support
F3
{Beef, Chicken, Cheese}
{Chicken, Clothes, Milk}
3
{Chicken,
{Beef, Chicken, Clothes,
5
6
Clothes}
3
{Chicken, Milk}
4
{Clothes, Milk}
3
Cheese, Milk }
{Chicken, Clothes, Milk}
7 14/7/2012
{Chicken, Milk, Clothes}
20
LOGO
Items
support
Items
C3
support
{Chicken, Clothes,
Milk}
{Chicken, Clothes, Milk}
19/10/2012
3
3
21
LOGO
Thuật toán Apriori
Minh họa thuật toán
F1: {{Beef}: 4, {Cheese}:4, {Chicken}:5, {Clothes}:3, {Milk}:4}
F2: {{Beef, Cheese}:3, {Beef, Chicken}:3, {Chicken, Clothes}:3, {Chicken, Milk}:4,
{Clothes, Milk}:3}
F3: {{Chicken, Clothes, Milk}:3}
Từ các frequent itemsets có số item ≥ 2, ta tìm các luật kết hợp thỏa mãn confidence ≥ minconf = 80% = 4/5.
19/10/2012
22
LOGO
Thuật toán Apriori
Minh họa thuật toán
Itemset
{Beef, Chicken}
{Beef, Cheese}
{Chicken, Clothes}
{Chicken, Milk}
{Clothes, Milk}
Association rules
Beef→ Chicken
X.count
confidence
4
3/4
5
3/5
4
3/4
4
3/4
5
3/5
3
1
5
4/5
4
1
3
1
4
3/4
Chicken→Clothes, Milk
5
3/5
Clothes→Chicken, Milk
3
1
4
3/4
Chicken, Clothes→Milk
3
1
Chicken,Milk→Clothes
4
3/4
Clothes,Milk→Chicken
3
Chicken→Beef
Beef →Cheese
Cheese→Beef
Chicken→Clothes
Clothes→Chicken
Chicken→Milk
Milk → Chicken
Clothes→Milk
Milk → Clothes
{Chicken, Clothes, Milk}
Milk→Chicken, Clothes
19/10/2012
(X ∪Y).count
3
3
3
4
3
3
23
1
LOGO
Thuật toán Apriori
Minh họa thuật toán
Như vậy, ta tìm được các luật kết hợp thỏa mãn:
Itemset
{Chicken, Clothes}
{Chicken, Milk}
Association rules
Clothes→Chicken
Chicken→Milk
(X∪Y).count
3
4
Milk → Chicken
{Clothes, Milk}
Clothes→Milk
3
Clothes→Chicken, Milk
{Chicken, Clothes, Milk}
Chicken, Clothes→Milk
Clothes,Milk→Chicken
(i) Bing Liu (2007). Web data mining: Exploring Hyperlinks, Contents, and Usage Data
19/10/2012
3
X.count
confidence
3
1
5
4/5
4
1
3
1
3
1
3
1
3
1
24
LOGO
1 Vị dụ ứng dụng
•Ứng dụng: của luật kết trong xây dựng phần mềm trợ giúp nhà đầu tư ra quyết
định đầu tư
trong thị trường chứng khoán
•Bước 1 : Nhà đầu tư lựa chọn 4 ngày giao dịch
(tương ứng có 4 dòng giao dịch trong CSDL ),
các cổ phiếu quan tâm bao gồm :VNE ,HRC ,
MCV và KLS .
•Bước 2 :Hệ thống sẽ phản hồi các thông tin của cổ phiếu và vẽ biểu đồ kĩ thuật .
19/10/2012
25