Các thông tin mà khách hàng mua máy tính cũng có xu hướng mua phần mềm quản lý được thể hiện trong luật kết hợp dưới đây:2.1 Khai phá luật kết hợp 2.1.1 Phân tích giỏ mua hàng: Ví dụ: co
Trang 1TIỂU LUẬN MÔN HỌC KHAI PHÁ DỮ LIỆU
ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC
KHAI PHÁ LUẬT KẾT HỢP DỰA TRÊN CÁC RÀNG BUỘC
Giáo viên hướng dẫn: TS Hoàng Thị Lan Giao
Trang 2NỘI DUNG:
Khai phá luật kết hợp luận lý một chiều từ tập giao tác
Từ khai phá sự kết hợp để phân tích sự tương quan
Khai phá luật kết hợp
Khai phá luật kết hợp đa mức từ tập giao tác
Khai phá luật kết hợp đa chiều từ CSDL quan hệ và kho
Trang 3Phân công thực hiện:
3 Nguyễn Thị Thanh Tâm Phần 3
4 Nguyễn Vũ Cát Tường Phần 4
6 Trần Như Đăng Tuyên Phần 6
Trang 42.1 Khai phá luật kết hợp
2.1.1 Phân tích giỏ mua hàng:
Trang 5Các thông tin mà khách hàng mua máy tính cũng có xu hướng mua phần mềm quản lý được thể hiện trong luật kết hợp dưới đây:
2.1 Khai phá luật kết hợp
2.1.1 Phân tích giỏ mua hàng:
Ví dụ:
computer financial_management_softwarefinancial_management_software financial_management_software[support=2%; financial_management_softwareconfidence financial_management_software= financial_management_software60%] financial_management_software financial_management_software(1)
Thông thường, nguyên tắc liên kết được coi là thú vị nếu chúng đáp ứng
cả độ hỗ trợ và độ tin cậy một ngưỡng tối thiểu.
Ngưỡng này có thể được thiết lập bởi người sử dụng hoặc các chuyên gia.
Trang 72.1.2 Một số khái niệm cơ bản
2.1 Khai phá luật kết hợp
Giả sử I financial_management_software= financial_management_software{i1, financial_management_softwarei2,…, financial_management_softwareim} là tập các mặt hàng Cho D là các dữ liệu
công việc có liên quan, một tập hợp các giao dịch trong đó mỗi giao dịch
T là một tập các mục với T I.
Chúng ta qui định min_sup và min_conf xảy ra giữa 0% và 100%
Cho A là một nhóm các mặt hàng Một T giao dịch được gọi là chứa A nếu và chỉ nếu A T.
Một luật kết hợp dưới hình thức AB, với A I, B I và
Trang 82.1.2 Một số khái niệm cơ bản
Một tập mục thỏa mãn độ hỗ trợ tối thiểu nếu tần số
xuất hiện của tập mục là lớn hơn hoặc bằng min_sup và tổng
số các giao dịch trong D.
Số lượng các giao dịch cần thiết cho tập mục để đáp ứng
độ hỗ trợ tối thiểu gọi là tính hỗ trợ tối thiểu
Trang 9 Nếu tập mục thỏa mãn độ hỗ trợ tối thiểu thì đó là tập mục phổ biến
K-tập mục phổ biến được ký hiệu là Lk.
2.1.2 Một số khái niệm cơ bản
2.1 Khai phá luật kết hợp
Khai phá luật kết hợp trong tập dữ liệu lớn, qua 2 bước :
Tìm tất cả các tập mục phổ biến
Tạo ra các luật kết hợp mạnh cho các tập mục phổ biến.
Những financial_management_softwarequy financial_management_softwaretắc financial_management_softwaretrên financial_management_softwarephải financial_management_softwaređáp financial_management_softwareứng financial_management_softwaređộ financial_management_softwarehỗ financial_management_softwaretrợ financial_management_softwaretối financial_management_softwarethiểu financial_management_softwarevà financial_management_softwaređộ financial_management_software tin financial_management_softwarecậy financial_management_softwaretối financial_management_softwarethiểu.
Trang 102.1.3 Khai phá luật kết hợp
2.1 Khai phá luật kết hợp
Trong thực tế, có nhiều loại luật kết hợp Các luật kết hợp
có thể được phân loại dựa trên các tiêu chí sau đây:
1 Căn cứ vào loại giá trị xử lý trong luật :
Nếu một luật quan tâm kết hợp giữa sự hiện diện hay
vắng mặt của mặt hàng, đó là một luật kết hợp Boolean
Luật (1) ở trên là một luật kết hợp Boolean
thu được từ phân tích thị trường trong giỏ hàng.
Ví dụ:
Trang 112.1.3 Khai phá luật kết hợp
2.1 Khai phá luật kết hợp
1 Căn cứ vào loại giá trị xử lý trong luật :
Nếu một luật mô tả sự kết hợp giữa số lượng hoặc thuộc tính mặt hàng, thì nó là một luật kết hợp lượng số.
Trang 122 Căn cứ vào chiều của dữ liệu:
2.1.3 Khai phá luật kết hợp
2.1 Khai phá luật kết hợp
Nếu các mục hoặc các thuộc tính trong luật kết hợp chỉ
có một chiều thì nó là luật kết hợp đơn chiều.
Quy tắc (1) có thể được viết lại như sau:
buys(X,“computer") buys(X,”financial_management_software") financial_management_software(3)
Quy tắc (1) là luật kết hợp một chiều vì nó đề cập đến chỉ một chiều của dữ liệu là buys
Nếu một luật tham chiếu đến hai hoặc nhiều chiều như buys, time_of_transaction và customer_category thì nó là một luật kết hợp đa chiều
Quy tắc (2) trên đây được coi là một đa chiều vì nó bao gồm
3 chiều: age, income và buys.
Trang 133 Căn cứ vào các mức trong các luật:
financial_management_software financial_management_software financial_management_software age(X, financial_management_software“30…39") financial_management_softwarebuys(X, financial_management_software“laptop financial_management_softwarecomputer") financial_management_software financial_management_software(4)
financial_management_software financial_management_softwareage(X, financial_management_software“30…34") financial_management_softwarebuys(X, financial_management_software“computer") financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software financial_management_software(5)
Trong quy tắc (4) và (5), các mặt hàng đã mua được tham chiếu ở mức khác nhau.(Tức là, "computer” là mức
trừu tượng cao hơn "laptop computer”)
Nếu các quy tắc trong một tập đã cho không tham chiếu đến các
mục hoặc các thuộc tính tại các mức khác nhau thì đó là luật kết hợp đơn mức
Trang 142.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Xét hệ thống cho trong bảng sau:
Bài toán tìm luật trên được đưa về hai bài toán con:
1 Tìm tất các tập mục phổ biến có độ hỗ trợ lớn hơn hoặc bằng ngưỡng min_sup
2 Với mỗi tập phổ biến, sinh ra tất các luật (X
=> Y), có độ tin cậy lớn hơn hoặc bằng
min_conf
Làm thế nào khai phá
luật kết hợp?
Trang 152.1 thuật toán Apriori:
Ý tưởng thuật toán:
Input: I, D, min_sup
Output: Tất cả tập mục phổ biến A
Method: Trước tiên, tìm tất cả 1- tập mục phổ biến Từ 1- tập mục phổ
biến sinh ra 2- tập mục phổ biến Quá trình này lập lại cho đến khi không còn tập mục phổ biến nào sinh ra.
Thuật toán gồm hai giai đoạn chính là kết nối và rút gọn.
Trang 16Giai đoạn kết nối
Gọi Lk-1 là tập tất cả (k – 1)-tập mục phổ biến.
Chúng ta sẽ tìm tất cả k-tập mục phổ biến (dự tuyển) của k-tập mục phổ biến, kí hiệu Ck
Giả sử các tập mục được sắp xếp theo thứ tự từ điển.
Lấy l1, l2 là hai tập mục phổ biến bất kỳ thuộc Lk-1, gọi Li[j] là mục thứ j của tập mục li.
Khi đó, nếu l1 và l2 có (k – 2) mục đầu tiên giống nhau thì kết hợp chúng lại thành k-tập mục gồm các mục:
(l1[1]=l2[1] ^ … ^ l1[k-2]=l2[k-2])^(l1[k-1]<l2[k-1])
Bổ sung vào Ck
Trang 192.2 sinh luật kết hợp từ những tập luật phổ biến
Bài toán thứ hai có nghĩa là với tập mục phổ biến Z cho trước, tìm tập Y sao cho:
(X Z\Y) Y thỏa confidence(X Y) ≥ min_conf
Trang 20Giải thuật Apriori
Đặc điểm
Tạo ra nhiều tập dự tuyển
104 frequent 1-itemsets nhiều hơn 107 (≈104(104-1)/2) itemsets dự tuyển
2-Một k-itemset cần ít nhất 2k -1 itemsets dự tuyển trước đó
Kiểm tra tập dữ liệu nhiều lần
Chi phí lớn khi kích thước các itemsets tăng lên dần.Nếu k-itemsets được khám phá thì cần kiểm tra tập
dữ liệu k+1 lần
Trang 21Giải thuật Apriori
Các cải tiến của giải thuật Apriori
Kỹ thuật dựa trên bảng băm (hash-based technique)
Một k-itemset ứng với hashing bucket count nhỏ hơn minimum support threshold không là một frequent itemset Giảm giao dịch (transaction reduction)
Một giao dịch không chứa frequent k-itemset nào thì không cần được kiểm tra ở các lần sau (cho k+1-itemset).
Phân hoạch (partitioning)
Một itemset phải frequent trong ít nhất một phân hoạch thì mới có thể frequent trong toàn bộ tập dữ liệu.
Lấy mẫu (sampling)
Khai phá chỉ tập con dữ liệu cho trước với một trị support threshold nhỏ hơn và cần một phương pháp để xác định tính toàn diện (completeness).
Đếm itemset động (dynamic itemset counting)
Chỉ thêm các itemsets dự tuyển khi tất cả các tập con của chúng được dự đoán là frequent.
2.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Trang 22Giải thuật FP-Growth
Nén tập dữ liệu vào cấu trúc cây (Frequent Pattern tree, FP-tree)
Giảm chi phí cho toàn tập dữ liệu dùng trong quá trình khai phá
Infrequent items bị loại bỏ sớm.
Đảm bảo kết quả khai phá không bị ảnh hưởng Phương pháp chia-để-trị (divide-and-conquer)
Quá trình khai phá được chia thành các công tác nhỏ.
1 Xây dựng FP-tree
2 Khám phá frequent itemsets với FP-tree Tránh tạo ra các tập dự tuyển
Mỗi lần kiểm tra một phần tập dữ liệu
2.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Trang 23Giải thuật FP-Growth
1 Xây dựng FP-tree
1.1 Kiểm tra tập dữ liệu, tìm frequent 1-itemsets1.2 Sắp thứ tự frequent 1-itemsets theo sự giảm dần của support count (frequency, tần số xuất hiện)
1.3 Kiểm tra tập dữ liệu, tạo FP-tree
Tạo root của FP-tree, được gán nhãn “null” {}
Mỗi giao dịch tương ứng một nhánh của FP-tree
Mỗi node trên một nhánh tương ứng một item của giao dịch
Các item của một giao dịch được sắp theo giảm dần Mỗi node kết hợp với support count của item tương ứng
Các giao dịch có chung items tạo thành các nhánh có prefix chung
2.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Trang 24Giải thuật FP-Growth
Trang 252.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Trang 26Giải thuật FP-Growth
2 Khám phá frequent itemsets với FP-tree
2.1 Tạo conditional pattern base cho mỗi node của FP-tree
Tích luỹ các prefix paths with frequency của node đó
2.2 Tạo conditional FP-tree từ mỗi conditional pattern base
Tích lũy frequency cho mỗi item trong mỗi base Xây dựng conditional FP-tree cho frequent items của base đó
2.3 Khám phá conditional FP-tree và phát triển frequent itemsets một cách đệ qui
Nếu conditional FP-tree có một path đơn thì liệt kê tất cả các itemsets.
2.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Trang 27Giải thuật FP-Growth
2.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Trang 282.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Trang 29Giải thuật FP-Growth
Đặc điểm
Không tạo tập itemsets dự tuyển
Không kiểm tra xem liệu itemsets dự tuyển có thực là frequent itemsets
Sử dụng cấu trúc dữ liệu nén dữ liệu từ tập dữ liệu Giảm chi phí kiểm tra tập dữ liệu
Chi phí chủ yếu là đếm và xây dựng cây FP-tree lúc đầu
Hiệu quả và co giãn tốt cho việc khám phá các frequent itemsets dài lẫn ngắn
2.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Trang 30So sánh giữa giải thuật Apriori và giải thuật FP-Growth
Co giãn với support threshold
2.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Trang 31So sánh giữa giải thuật Apriori và giải thuật FP-Growth
Co giãn tuyến tính với số giao dịch
2.2 Khai phá luật kết hợp lý luận một chiều từ tập giao tác
Trang 322.3.1 Luật kết hợp đa mức
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
bởi các khái niệm mức cao hơn hoặc xa hơn
được gọi là đa cấp
nó ít tổng quát hơn luật trước
•Xét ví dụ: Giả sử chúng ta có được cho các công việc liên quan các giao dịch
trong bảng sau cho doanh số bán hàng máy tính Công ty AllElectronics hiển thị
các mặt hàng được mua trong mỗi giao dịch TID
Trang 332.3.1 Luật kết hợp đa mức
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
Mặt hàng được mua nhiều nhất?
Trang 342.3.1 Luật kết hợp đa mức
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
các tập mục phổ biến chẳng hạn như {IBM home computer, b/w printer} và {computer, printer}
có nhiều khả năng có độ hỗ trợ tối thiểu hơn
tập mục phổ biến có chứa dữ liệu chỉ mức độ nguyên thủy,
như {IBM home computer, Sony b/w printer}
Trang 352.3.1 Luật kết hợp đa mức
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
• Các tập mục phổ biến chẳng hạn như {IBM
home computer, b/w printer} và {computer,
thiểu hơn tập mục phổ biến có chứa dữ liệu
chỉ mức độ nguyên thủy, như {IBM home
computer, Sony b/w printer}
• Có thể dễ dàng tìm thấy các kết hợp giữa các mục tại nhiều mức khái niệm với nhau
• Các luật được tạo ra từ khai phá luật kết hợp với khái niệm phân cấp được gọi là luật kết hợp đa mức
Trang 362.3.1 Luật kết hợp đa mức
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
• Các mặt hàng được phân cấp khái niệm cho các mức được hiển thị trong hình sau
Trang 372.3.1 Luật kết hợp đa mức
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
• Các mặt hàng được phân cấp khái niệm cho các mức được hiển thị trong hình sau
Trang 382.3.2 Phương pháp để khai phá luật kết hợp đa cấp.
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
“Làm thế nào để khai thác luật kết hợp đa mức hiệu quả trên khái niệm phân cấp?”
• Đi từ mức khái niệm 1 xuống các mức thấp hơn, lần lượt xác định các tập mục phổ biến ở mỗi mức, cho đến khi không tìm thấy tập mục phổ biến
• Một khi tất cả các tập mục phổ biến ở mức 1 được tìm thấy, thì các tập mục phổ biến ở mức 2 được tìm thấy, và cứ như vậy
• Đối với mỗi cấp, thuật toán bất kỳ để phát hiện các tập mục phổ biến có thể
được sử dụng, chẳng hạn như Apriori hay chính biến thể của nó
Trang 392.3.2 Phương pháp để khai phá luật kết hợp đa cấp.
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
1 Sử dụng độ hỗ trợ tối thiểu đồng nhất cho tất cả các cấp: cùng độ hỗ trợ tối
thiểu được sử dụng khi khai thác ở mỗi cấp trừu tượng Ví dụ, trong hình bên
dưới, độ hỗ trợ tối thiểu là 5% Cả "computer” và “laptop computer” được tìm thấy thường xuyên, trong khi “home computer” thì không
Khai phá luật kết hợp đa mức với độ hỗ trợ đồng nhất
Trang 402.3.2 Phương pháp để khai phá luật kết hợp đa cấp.
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
Tuy nhiên, các phương pháp tiếp cận các mức có độ hỗ trợ đồng nhất có một số khó khăn Không chắc rằng mục ở mức trừu tượng cấp thấp hơn sẽ xảy ra
thường xuyên như những mức trừu tượng ở cấp cao hơn Nếu độ hỗ trợ đặt quá cao, nó có thể bỏ qua một số kết hợp có ý nghĩa ở mức trừu tượng xảy ra ở các cấp thấp Nếu độ hỗ trợ là quá thấp, nó có thể tạo ra nhiều kết hợp không hợp lý
ở mức độ trừu tượng cấp cao Điều này cung cấp động lực cho các phương pháp sau
2 Giảm độ hỗ trợ tối thiểu ở mức thấp hơn:
Trang 412.3.2 Phương pháp để khai phá luật kết hợp đa cấp.
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
Khai phá đa mức với việc giảm độ hỗ trợ
Mỗi cấp độ trừu tượng có hỗ trợ tối thiểu của nó Mức trừu tượng thấp hơn thì có ngưỡng hỗ trợ tương ứng nhỏ hơn Ví dụ, trong hình trên, các ngưỡng hỗ trợ tối thiểu cho cấp 1 và 2 là 5% và 3% Như vậy, “computer”,
“laptop computer” và “home computer” đều được xem là phổ biến Đối với khai phá các kết hợp đa mức để giảm
độ hỗ trợ, có một số chiến lược tìm kiếm thay thế sau:
Trang 422.3.2 Phương pháp để khai phá luật kết hợp đa cấp.
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
• Độc lập theo từng cấp (level by level): Đây là việc tìm kiếm đầy đủ theo chiều rộng, nơi mà việc xác định tập mục thường xuyên được bỏ qua Mỗi nút được kiểm tra, bất kể cha của nó có phải là tập mục phổ biến không
Trang 432.3.2 Phương pháp để khai phá luật kết hợp đa cấp.
2.3 Khai phá luật kết hợp đa mức từ tập giao tác
- Level-cross fitering by single item:
- Một mục ở cấp độ thứ i được kiểm tra nếu và chỉ nếu nút của nó tại mức i-1 là phổ biến Nếu một nút là phổ biến thì nút đó sẽ được kiểm tra, nếu không, con cháu của nó được cắt bỏ Ví dụ, trong hình sau, các nút hậu duệ của
“computer” (ví dụ, “laptop computer" và “home computer”) là không được kiểm tra, vì “computer” không phổ biến
Khai phá đa mức với việc giảm độ hỗ trợ có sử dụng level-cross fitering by single item