6. Kết cấu báo cáo nghiên cứu
3.1.2. Ứng dụng thuật toán BMB khai phá TMTX
Dưới đây trình ví dụ ứng dụng của thuật toán BMB khai phá TMTX trong phân tích CSDL bán hàng siêu thị.
Đặt bài toán
Giả sử siêu thị bán các mặt hàng bao gồm: Bàn chải (a), Dầu gội (b), Kem đánh răng (c), Dầu xả vải (d), Bột giặt (e), Xà phòng (f), Bàn cạo râu (g), Băng dính (h). Trong kì kinh doanh, siêu thị bán được 10 giỏ hàng, dữ liệu của các giỏ hàng bán được cho trong bảng 11 dưới đâỵ
Bảng 11. Dữ liệu khác về các giỏ hàng bán ra của siêu thị (sau mã hóa tên hàng)
Yêu cầu: Với ngưỡng độ hỗ trợ tối thiểu minsup=4.
- Mặt hàng/nhóm các mặt hàng nào thường xuyên xuất hiện cùng nhau trong các giỏ hàng?
- Mức độ quan trọng của mặt hàng/nhóm mặt hàng thường xuyên xuất hiện như thế nàỏ
Ứng dụng thuật toán BMB và thuật toán FP-Growth khai phá TMTX trong CSDL giao tác
Để tiến hành thực nghiệm thuật toán BMB với trường hợp nghiên cứu đặt ra ở trên, quá trình khai phá các TMTX trong CSDL bán hàng siêu thị là như sau:
Pha 1. Chuyển CSDL giao tác TDB về ma trận nhị phân A có dạng như trong
bảng 10.
40
Pha 2: Tìm các tập TMTX từ ma trận nhị phân A
Bước k=1:
Tính độ hỗ trợ của từng véc tơ cột của Ạ ta có tổng trên các cột: sum(a)=8, sum(b)=3, sum(c)=8, sum(d)=2,
sum(e)=7, sum(f)=4, sum(g)=5, sum(h)=1.
Chỉ có các 1-tập mục a, c, e, f, g thỏa mãn độ hỗ trợ không nhỏ hơn minsup=4. Vậy tập các 1-tập mục thường xuyên cùng với độ hỗ trợ tương ứng là:
L1={a:8, c:8, e:7, f:4, g:5}.
Vì card(L1)>1 nên quá trình tìm kiếm tiếp tục.
Bước k=2:
a) Xóa 3 cột b, d và h (vì có tổng các phần tử nhỏ hơn minsup)
Xóa các dòng T5 và T10 (có tổng các phần tử <2) của ma trận A, thu được ma trận rút gọn A1 (bảng 13).
Bảng 13. Ma trận rút gọn A1
b) Tổ hợp chập 2 của 5 cột của A1 ta được 10 tập ứng viên: C2={ac, ae, af, ag, ce, cf, cg, ef, eg, fg}
Tính độ hỗ trợ của từng véc tơ cột trong A1, chỉ xét các phần tử trong tập ứng viên C2 ta có:
sum(ac)=8, sum(ae)=5, sum(af)=4, sum(ag)=5, sum(ce)=5, sum(cf)=4, sum(cg)=5, sum(ef)=3, sum(eg)=4, sum(fg)=3
Ta thu được tập các 2-tập mục thường xuyên cùng với độ hỗ trợ tương ứng là: L2={ac:8, ae:5, af:4, ag:4, ce:5, cf:4, cg:5, eg:4}.
Vì card(L2)=8>2, quá trình tiếp tục.
Bước k=3:
a) Không có cột nào của A1 bị xóa (vì tổng trên các véc tơ cột đều >minsup) Xóa dòng T3, T4 (vì có tổng các phần tử<3) của A1 thu được ma trận rút gọn A2 (bảng 14)
41
Bảng 14. Ma trận rút gọn A2
b) Các tổ hợp chập 3 của 5 cột của A2 ta được 10 tập ứng viên: C3={ace, acf, acg, aef, aeg, afg, cef, ceg, cfg, efg}
Tính độ hỗ trợ của từng véc tơ cột trong A2, chỉ xét các phần tử trong tập ứng viên C3 ta có:
sum(ace)=5, sum(acf)=4, sum(acg)=5, sum(aef)=3, sum(aeg)=4, sum(afg)=3, sum(cef)=3, sum(ceg)=4, sum(cfg)=3, sum(efg)=2.
Ta thu được tập các 3-tập mục thường xuyên cùng với độ hỗ trợ tương ứng là: L3={ace:5, acf:4, acg:5, aeg:4, ceg:4}.
Vì card(L3)=5>3, quá trình tìm kiếm tiếp tục. Bước k=4:
a) Không có cột nào bị xóa (vì tổng trên các cột đều >minsup).
Không có dòng nào có tổng các phần tử <4 nên không có dòng nào bị, ta thu được ma trận nhị phân thu gọn A3 (bảng 15).
Bảng 15. Ma trận nhị phân thu gọn A3
b) Các tổ hợp chập 4 của 5 cột của A4. C4={acef, aceg, acfg, aefg,cefg}
Tính độ hỗ trợ của từng véc tơ cột trong A3, chỉ xét các phần tử trong tập ứng viên C3 ta có:
sum(acef)=3, sum(aceg)=4, sum(acfg)=2, sum(aefg)=2, sum(cefg)=2,
Ta thu được tập các 4-tập mục thường xuyên cùng với độ hỗ trợ tương ứng là: L4={aceg:4}.
Vì card(L4)=1>4 là sai, quá trình tìm kiếm dừng.
42
L = L1 ∪ L2 ∪ L3 ∪ L4 = (a: 8, c: 8, e: 7, f: 4, g: 5, ac: 8, ae: 5, af: 4, ag: 4, ce: 5, cf: 4,
cg: 5, eg: 4, ace: 5, acf: 4, acg: 5, aeg: 4, ceg: 4, aceg: 4 )
Từ kết quả thu được ta có bảng 16 tập các mặt hàng thường xuyên cùng với độ hỗ trợ của chúng (sau khi giải mã các mặt hàng).
Bảng 16. Tập các mặt hàng thường xuyên và độ hỗ trợ
Phân tích, đánh giá kết quả khai phá
Từ số liệu của bảng 14 ta có một số đánh giá như sau:
+ Có tất cả 19 mặt hàng/nhóm mặt hàng thường xuyên xuất hiện cùng nhaụ Có 14 giỏ hàng có các mặt hàng phổ biến xuất hiện cùng nhaụ
+ Có năm mặt hàng thường xuyênxuất hiện cùng với độ hỗ trợ (độ quan trọng) theo thứ tự giảm dần tương ứng là: “Bàn chải: 8”, “Kem đánh răng: 8”, “Bột giặt: 7”, “Bàn cạo râu: 5” và “Xà phòng: 4”. Trong đó hai mặt hàng xuất hiện nhiều nhất là “Bàn chải” và “Kem đánh răng”, hai mặt hàng xuất hiện ít nhất là “Xà phòng: 4” và “Bàn cạo râu: 4”
+ Nhóm 2 mặt hàng thường xuyênxuất hiện cùng nhau là: “Bàn chải, Kem đánh răng: 8”, “Bàn chải, Bột giặt: 5”, ..., “Bột giặt, Bàn cạo râu: 4”. Nhóm mặt hàng xuất hiện đồng thời cùng nhau nhiều nhất là “Bàn chải, Kem đánh răng: 8”.
+ Nhóm ba mặt hàng xuất hiện thường xuyênđồng thời nhiều nhất là “Bàn chải, Kem đánh răng, Bột giặt: 5” và có ba nhóm ba mặt hàng xuất hiện thường xuyênđồng thời nhỏ nhất là: “Bàn chải, Kem đánh răng, Xà phòng: 4”, “Bàn chải, Kem đánh răng, Bàn cạo râu: 4” và “Kem đánh răng, Bột giặt, Bàn cạo râu: 4”.
+ Chỉ có một nhóm bốn mặt hàng thường xuyênxuất hiện cùng nhau: “Bàn chải, Kem đánh răng, Bột giặt, Bàn cạo râu: 4”.
43 Qua quá trình phân tích, đánh giá trên có thể hỗ trợ nhà quản lí ra quyết định phù hợp nhất nhằm giúp cho xây dựng chiến lược mua, bán hàng của siêu thị đạt hiệu quả cao và mang lại lợi nhuận tối đa cho siêu thị. Cụ thể:
- Nhà quản lí sẽ ra quyết định có nên đầu tư mua các mặt hàng nào là hợp lí nhất cho kì kinh doanh tiếp theọ
- Nhóm các mặt hàng đã mua thì nên bố trí sắp xếp chúng cùng nhau trong các gian hàng của siêu thị để đánh trúng tâm lí khách hàng (khi mua một mặt hàng nào đó thì họ họ cũng có thể mua luôn nhóm các mặt hàng) tùy theo nhu cầu sở thích của họ.
- Nhà quản lí cũng có thể xây dựng các chiến lược quảng cáo, chính sách khuyến mại cho tập các khách hàng tiềm năng của siêu thị, …
3.2. Ứng dụng thuật toán khai phá tập mục thường xuyên với trọng số thích nghi phân tích cơ sở dữ liệu bán hàng siêu thị