Khai phá luật kết hợp Tìm tần số mẫu, mối kết hợp, sự tương quan hay các cấu trúc nhân quả giữa các tập đối tượng trong các cơ sở dữ liệu giao tác, cơ sở dữ liệu quan hệ, và những kho thông tin khác Chương 3: Luật kết hợp Yêu cầu: - Tính hiểu được: dễ hiểu - Tính sử dụng được: cung cấp thông tin thiết thực - Tính hiệu quả: Ứng dụng: - Phân tích dữ liệu giỏ hàng, thương mại,.. - Thiết kế catalogue, website, đồ họa,... - Sinh học, sữa chữa,...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Khai phá luật kết hợp
Tìm tần số mẫu, mối kết hợp, sự tương quan hay các cấu
trúc nhân quả giữa các tập đối tượng trong các cơ sở dữ
liệu giao tác, cơ sở dữ liệu quan hệ, và những kho thông tin
khác
Chương 3: Luật kết hợp
Yêu cầu:
- Tính hiểu được: dễ hiểu
- Tính sử dụng được: cung cấp thông tin thiết thực
- Tính hiệu quả:
Ứng dụng:
- Phân tích dữ liệu giỏ hàng, thương mại,..
- Thiết kế catalogue, website, đồ họa,...
- Sinh học, sữa chữa,...
Khai phá luật kết hợp
Chương 3: Luật kết hợp
Định dạng thể hiện đặc trưng cho các luật kết hợp:
- Khăn Bia [0.5%,60%]
- Mua:Khăn Mua:Bia [0.5%,60%]
- NẾU mua khăn THÌ mua bia trong 60% trường hợp.
Khăn và bia được mua chung trong 0.5% dòng dữ liệu
Các hình thức biểu diễn khác:
- Mua(x,”khăn”) Mua(x,”bia”) [0.5%,60%]
- Khoa(x, “CNTT”) ^ Học(x,”DB”) Điểm(x,”A”)
[1%,75%]
Các hướng tiếp cận luật kết hợp
Chương 3: Luật kết hợp
Luật kết hợp nhị phân (Binary Association Rule):
Các thuộc tính chỉ được quan tâm là có hay không xuất
hiện trong giao tác của cơ sở dữ liệu (không quan tâm về
“mức độ“ xuất hiện)
Ví dụ:
- Việc gọi 10 cuộc điện thoại và 1 cuộc được xem là giống
nhau (có cuộc gọi hay không – Có hay Không?)
- NẾU “gọi liên tỉnh=‟yes‟ AND gọi di động=”yes”
THÌ gọi quốc tế=‟yes‟ AND gọi dịch vụ 108 = „yes‟
với độ hỗ trợ 20% và độ tin cậy 80%”
Các hướng tiếp cận luật kết hợp
Chương 3: Luật kết hợp
Luật kết hợp có thuộc tính số và thuộc tính hạng mục
(Quantitative And Categorial Association Rule)
Các thuộc tính của các cơ sở dữ liệu có kiểu đa dạng (nhị
phân – binary, số – quantitative, hạng mục – categorial, ...)
Rời rạc hoá nhằm chuyển dạng luật này về dạng nhị
phân
Ví dụ:
NẾU phương thức gọi=‟Tự động‟
AND giờ gọi ∈ „23:00...23:59‟
AND Thời gian đàm thoại ∈ „20.. 30 phút‟
THÌ gọi liên tỉnh =‟có‟ ,
với độ hỗ trợ là 23. 53% , và độ tin cậy là 80%”.
Các hướng tiếp cận luật kết hợp
Chương 3: Luật kết hợp
Luật kết nhiều mức (Multi-level Association Rule)
Dạng luật đầu là dạng luật tổng quát hoá của dạng luật sau
và tổng quát theo nhiều mức khác nhau
Ví dụ:
Luật có dạng:
NẾU mua máy tính PC
THÌ mua hệ điều hành
AND mua phần mềm tiện ích văn phòng
thay vì chỉ những luật quá cụ thể:
NẾU mua máy tính iBM PC
THÌ mua hệ điều hành Microsoft Windows
AND mua phần mềm Microsoft Office
Các hướng tiếp cận luật kết hợp
Chương 3: Luật kết hợp
Luật kết hợp mờ (Fuzzy Association Rule)
Trong quá trình rời rạc hoá các thuộc tính số, luật kết hợp
mờ nhằm khắc phục các hạn chế và chuyển luật kết hợp về
một dạng tự nhiên hơn, gần gũi hơn với người sử dụng
Ví dụ:
NẾU thuê bao tư nhân = „yes‟
AND thời gian đàm thoại lớn (Thuộc tính được mờ hóa)
AND cước nội tỉnh = „yes‟
THÌ cước không hợp lệ = „yes‟
với độ hỗ trợ 4% và độ tin cậy 85%”.
Khai phá luật kết hợp
Chương 3: Luật kết hợp
Phân tích định dạng luật kết hợp:
NẾU mua khăn THÌ mua bia trong 60% trường hợp. Khăn
và bia được mua chung trong 0.5% dòng dữ liệu
Khăn Bia [0.5%,60%]
1. Tiền đề: Khăn (vế trái)
2. Mệnh đề kết quả: Bia (vế phải, đầu)
3. Support: 0.5% - tần số (hay độ hỗ trợ, độ phổ biến) –
trong bao nhiêu % dữ liệu thì những điều ở vế trái và
vế phải cùng xảy ra?
4. Confidence: 60% - độ mạnh (hay xác suất điều kiện, độ
tin cậy, độ gắn kết) – nếu vế trái xảy ra thì có bao nhiêu
khả năng vế phải xảy ra?
Khai phá luật kết hợp
Chương 3: Luật kết hợp
Độ ủng hộ: Biểu thị tần số luật có trong các giao tác
Độ tin cậy: biểu thị số phần trăm giao tác có chứa luôn B
trong các giao tác có chứa A
Khai phá luật kết hợp
Chương 3: Luật kết hợp
Độ ủng hộ tối thiểu (min support):
- Cao: ít tập phần tử (itemset) phổ biến
ít luật hợp lệ rất thường xuất hiện
- Thấp: nhiều luật hợp lệ hiếm xuất hiện
Độ tin cậy tối thiểu (min confidence):
- Cao: ít luật nhưng tất cả “gần như dúng”
- Thấp: nhiều luật, phần lớn rất “không chắc
chắn”
Giá trị tiêu biểu:
minsupport: 2-10%, minconfidence: 70-90%
Khai phá luật kết hợp
Chương 3: Luật kết hợp
item và itemsets:
i = { i1, i2, …, in } là tập bao gồm n mục (item – còn gọi là
thuộc tính – attribute). X ⊆ i được gọi là tập mục (itemset).
Giao tác:
T = { t1, t2, …, tm} là tập gồm m giao tác (Transaction – còn
gọi là bản ghi –record). Mỗi giao tác được định danh bởi
TiD (Transaction identification).
Tập phần tử phổ biến:
Tập các phần tử có độ ủng hộ (support) ≥ độ ủng hộ tối
thiểu (minsupport)
Khai phá luật kết hợp
Chương 3: Luật kết hợp
Cho: CSDL các giao tác, mỗi giao tác là
một danh sách mặt hàng được mua
(trong một lượt mua của khách hàng). Tìm tất cả các luật với minsupport=50% và
minconfidence=50%
Tid Hàng mua
100 A B C
200 A C
400 A D
500 B E F
Quá trình 2 bước để khai phá luật kết hợp:
- Bước 1: Tìm các tập phổ biến: các tập các phần tử có độ support tối thiểu.
* Mẹo Apriori: tập con của tập phổ biến cũng là một tập phổ biến
VD: Nếu {AB} là tập phổ biến thì {A} và {B} là tập phổ biến
* Lặp việc tìm tập phổ biến với kích thước từ 1 đến k (tập kích
thước k)
- Bước 2: Dùng các tập phổ biến để tạo các luật liên kết
Khai phá luật kết hợp
Chương 3: Luật kết hợp
Tid Hàng mua
100 A B C
200 A C
400 A D
500 B E F
Tập Độ phổ biến
{A} 3=75%
{B} 2=50%
......
{A} và {B} 1=25%
{A} và {C} 2=50%
......
Tập phổ biến Độ tin cậy
{A, C} = 50% 2/3=66,6%
{C, A} = 50% 2/2=100%
- A C [50%,66.6%]
- C A [50%,100%]
Các tập phổ biến với mẹo Apriori
Chương 3: Luật kết hợp
1. Bước kết hợp: Ck được tạo bằng cách kết Lk-1 với chính nó
2. Bước rút gọn: Những tập kích thước k-1 không phổ biến thì không thể là
tập con của tập phổ biến kích thước k
3. Mã giả:
Ck là tập ứng viên có kích thước k
Lk là tập phổn biến có kích thước k
L1={các phần tử phổ biến}
FOR (k=1;Lk != NULL; k++)
Ck+1 ={các ứng viên được tạo từ Lk}
FOR mỗi giao tác t trong database
tăng số đếm của tất cả các ứng viên trong Ck+1 mà được
chứa trong t
Lk+1={các ứng viên trong Ck+1 có độ ủng hộ tối thiểu}
END FOR
RETURN ∪ 𝒌Lk
Tìm tập ứng viên với mẹo Apriori
Chương 3: Luật kết hợp
Nguyên tắc Apriori:
Những tập con của tập phổ biến cũng phải phổ biến
Ví dụ:
Ta có: L3 = {abc,abd,acd,ace,bcd}
Tự kết:
* {abcd}
* {abce}
* {acde}
Rút gọn:
* {abce} bị loại vì bce không có trong L3
* {acde} bị loại vì ade không có trong L3
C4 = {abcd}
Khai phá luật kết hợp với Apriori
Chương 3: Luật kết hợp
Database D
Tid Hàng mua
100 1 3 4
200 2 3 5
300 1 2 3 5
400 2 5
Duyệt D Tập Độ ủng hộ
{1} 2=50%
{2} 3=75%
{3} 3=75%
{4} 1=25%
{5} 3=75%
C1 L1
Tập Độ ủng hộ
{1} 2=50%
{2} 3=75%
{3} 3=75%
{5} 3=75%
Tập
{1,2}
{1,3}
{1,5}
{2,3}
{2,5}
{3,5
C2 Duyệt D
Tập Độ ủng hộ
{1,2} 1=25%
{1,3} 2=50%
{1,5} 1=25%
{2,3} 2=50%
{2,5} 3=75%
{3,5 2=50%
C2 L2
Tập Độ ủng hộ
{1,3} 2=50%
{2,3} 2=50%
{2,5} 3=75%
{3,5 2=50%
Khai phá luật kết hợp với Apriori
Chương 3: Luật kết hợp
Tập
{2,3,5}
C3 Duyệt D
Tập Độ ủng hộ
{2,3,5} 2=50%
C3 L3
Tập Độ ủng hộ
{2,3,5} 2=50%
Không gian tìm kiếm của CSDL D
Chương 3: Luật kết hợp
Không gian tìm kiếm của CSDL D Áp dụng mẹo tìm kiếm Apriori trên cấp 1
Chương 3: Luật kết hợp
Không gian tìm kiếm của CSDL D Áp dụng mẹo tìm kiếm Apriori trên cấp 2
Chương 3: Luật kết hợp
Rút các luật kết hợp từ các tập
Chương 3: Luật kết hợp
Mã giả:
FOR mỗi tập phổ biến l
tạo tất cả các tập con khác rỗng s của l
FOR mỗi tập con khác rỗng s của l
iF support(l)/support(s)≥min_conf
cho ra luật s l-s
Ví dụ mẫu
Chương 3: Luật kết hợp
Cho tập mặt hàng i={i1, i2, i3, i4, i5, i6, i7, i8} và tập giao tác O={o1, o2,
o3, o4, o5, o6}
Trong đó:
O1={i1, i7, i8}
O2={i1, i2, i6, i7, i8}
O3={i1, i2, i6, i7}
O4={i1, i7, i8}
O5={i3, i4, i5, i6, i8}
O6={i1, i4, i5}
a. Xây dựng ngữ cảnh khai phá dữ liệu
b. Tìm các tập phổ biến tối đại với min_supp=0.3
c. Tìm các luật kết hợp với min_supp=0.3 và min_conf=1.0