Trọng số các mục theo lô tại thời điểm T1

Một phần của tài liệu (Luận văn Đại học Thương mại) NGHIÊN CỨU ỨNG DỤNG MỘT SỐ THUẬT TOÁN KHAI PHÁ DỮ LIỆU HỖ TRỢ PHÂN TÍCH CƠ SỞ DỮ LIỆU BÁN HÀNG SIÊU THỊ (Trang 31 - 36)

Tại thời điểm T1:

Số các giao tác trong các lô là:

Card(B11) = 4; Card(B12) = 3; Card(B13) = 5;

Trọng số của các lô tại thời điểm T1 là:

W11 ̅̅̅̅̅ =0.8 + 0.7 + 0.6 + 0.5 + 0.4 5 = 0.6; W12 ̅̅̅̅̅ =0.9 + 0.7 + 0.7 + 0.8 + 0.4 5 = 0.7; W13 ̅̅̅̅̅ =0.5 + 0.8 + 0.7 + 0.7 = 0.3 5 = 0.6;

Độ hỗ trợ với trọng số tối thiểu trên dòng dữ liệu là: Nên ta được:

ξ = minsupp × ∑ Card(Bij) × W(i, j)

K

j=1

= 30% × (0.6 × 4 + 0.7 × 3 + 0.6 × 5) = 2.25;

Độ hỗ trợ với trọng số thích nghi của tập mục "e" là:

AWsupp(e) = 0.3 × 2 + 0.4 × 2 + 0.4 × 2 = 2.2;

Vì AWsupp(e)=2.2<=2.25, nên tập mục "e" không là TMTX với trọng số thích nghi trên dịng dữ liệu, hay nói cách khác "e" không thỏa .

Độ hỗ trợ với trọng số thích nghi của tập mục "de" là:

AWsupp(de) = 0.5 + 0.4 2 × 2 + 0.8 + 0.4 2 × 2 + 0.7 + 0.3 2 × 1 = 2.6;

Vì AWsupp(de)=2.6>=2.25, nên tập mục "de" là TMTX với trọng số thích nghi trên dịng dữ liệu, hay nói cách khác "de" thỏa .

2.4.2.2. Thuật toán khai phá TMTX với trọng số thích nghi

Qua ví dụ ta thấy TMTX với trọng số thích nghi trên dịng dữ liệu được định nghĩa như trên khơng thỏa mãn tính chất Apriorị Bởi lẽ, "e" không là TMTX với trọng số thích nghi trên dịng dữ liệu nhưng tập cha của nó là "de" lại là TMTX với trọng số thích nghi trên dịng dữ liệụ

31 Để có được tính chất Apriori, chúng tôi đưa ra khái niệm TMTX với trọng số thích nghi cực đại và sẽ chỉ ra nếu một tập mục là TMTX với trọng số thì trước hết chúng phải là TMTX với trọng số thích nghi cực đạị

Định nghĩa 11. Tại thời điểm Ti, cho dòng dữ liệu DS gồm K lô và X là một tập

mục. Khi đó, số đo

MAXAWsupp(X) = ∑ MAXW(j) × F(X, j)

K

j=1

(5)

được gọi là độ hỗ trợ với trọng số thích nghi cực đại của X trên dịng dữ liệu DS.

Với MAXW(j); j = 1,2, … , K là giá trị trọng số lớn nhất của các mục trong X tại lơ

thứ j. Ví dụ:

Xét dòng dữ liệu tại thời điểm T1 như bảng 2 và trọng số của các mục theo lô bảng 3. Ta có, K = 3,

MAXW(1) = 0.8, MAXW(2) = 0.9, MAXW(3) = 0.8;

Tần số xuất hiện của "bd" trong lô 1, 2 và 3 lần lượt là 2, 1 và 2. Nên

MAXAWsupp(be) = 0.8 × 2 + 0.9 × 0 + 0.8 × 1 = 4.1;

Định nghĩa 12. Tại thời điểm Ti, cho dòng dữ liệu DS gồm K lô và X là một tập

mục. Với ngưỡng  tính bởi (2), X được gọi là TMTX với trọng số thích nghi cực đại nếu

MAXAWsupp(X) ≥ AWminsupp

Mệnh đề 1. TMTX với trọng số thích nghi cực đại có tính chất Apriori, nghĩa là nếu X là một TMTX với trọng số thích nghi cực đại thì mọi tập con của nó cũng là TMTX với trọng số thích nghi cực đạị

Mệnh đề 2. Cho CSDL giao tác DT và X là một tập mục. Nếu X là TMTX với

trọng số thích nghi thì X phải là TMTX với trọng số thích nghi cực đạị

Các Mệnh đề 1 và Mệnh đề 2 trên đây cho thấy các TMTX với trọng số thích nghi cực đại có tính chất Apriori và chúng là những ứng viên cho các TMTX với trọng số thích nghị Do đó, để khai phá các TMTX với trọng số thích nghi, chúng tôi đề xuất thuật tốn AWFIminer gồm hai cơng đoạn sau:

Tìm tất cả các TMTX với trọng số thích nghi cực đại,

Từ tập các TMTX với trọng số thích nghi cực đại, áp dụng công thức (1) xác định tập các TMTX với trọng số thích nghị

Để phát hiện hiệu quả các TMTX với trọng số thích nghi cực đại, chúng tơi áp dụng phương pháp của thuật toán FP-growth trong khai phá TMTX truyền thống [4,6]. Trước hết cần xây dựng cho CSDL một cấu trúc cây, gọi là cây AWFI-tree, sau đó khai phá các cây điều kiện để tìm ra các TMTX với trọng số thích nghi cực đạị

Xây dựng cấu trúc cây SAWFI-tree

Sử dụng kiểu xây dựng cấu trúc cây FP-tree [7,8], SAWFI-tree bao gồm một cây và một bảng đầu mục. Để xây dựng cấu trúc cây SAWFI-tree thuật tốn chỉ cần qt tồn bộ dòng dữ liệu một lần.

32

Cây SAWFI-treẹ

Gồm một nút gốc gọi là nút "null" (kí hiệu là {}) và một tập các cây tiền tố là các cây con của nút gốc. Các giao tác của mỗi lô trong CSDL sẽ lần lượt được chèn lên cây theo thứ tự từ điển của các mục. Ngoại trừ nút gốc, mỗi nút của SAWFI-tree ghi lại tên của mục mà nó đại diện, thơng tin về tần số xuất hiện của nút trong mỗi lô trên đường đi từ gốc đến nó và các con trỏ trỏ đến nút cha, nút con, nút cùng tên tiếp theo trên câỵ Khi một nút mới được tạo ra trên cây bởi việc chèn một giao tác từ lô thứ k của cửa sổ hiện tại gồm K lơ, thì tại đó một danh sách gồm K giá trị tần số trong K lô sẽ được khởi tạo với giá trị bằng 1 tại vị trí thứ k, giá trị bằng 0 tại tất cả các vị trí cịn lạị Ví dụ, nếu cửa sổ hiện tại gồm 3 lơ và “b” là một nút xuất hiện lần đầu tiên trên cây do chèn một giao tác từ lơ thứ hai, khi đó cấu trúc của nút “b” sẽ là b:0,1,0.

Hình 1. Cây SAWFI-tree sau khi chèn 12 giao tác trong 3 lơ của dịng dữ liệu

Bảng đầu mục

Bảng đầu mục lưu trữ các mục theo thứ tự từ điển, thông tin về trọng số, tần số của các mục và con trỏ trỏ đến nút cùng tên đầu tiên của SAWFI-treẹ Hình 1 biểu diễn cây SAWFI-tree và bảng đầu mục (để đơn giản hình chúng tơi khơng vẽ các con trỏ). Ta có thể dễ dàng phát hiện ra các giao tác của mỗi lô và tần số xuất hiện của các mục trong các lơ của dịng dữ liệụ Chẳng hạn, giao tác {b,c,d,e} xuất hiện một lần ở lô thứ ba (B13) và giao tác {b,c,d} xuất hiện hai lần: một lần ở lô thứ hai (B12) và một lần ở lô thứ ba (B13) (nằm trên nhánh thứ tư từ phải sang). Ta cũng có số đếm hỗ trợ của các mục trong cửa sổ khai phá lần lượt là a:4, b:7, c:8, d:9 và e:6.

Thuật toán khai phá SWFI-miner

Dưới đây là một số tính chất quan trọng của SAWFI-tree được chúng tôi sử dụng trong q trình khai phá TMTX với trọng số thích nghi trên dịng dữ liệu theo kiểu FP-growth [7,8].

Tính chất 1. Cấp cao nhất của cây SAWFP-tree bằng độ dài của giao tác dài nhất

trên dòng dữ liệụ

Tính chất 2. Tổng các giá trị tần số trong các lô tại bất kỳ nút nào trên cây cũng

lớn hơn hoặc bằng tổng các giá trị tần số tại các nút con của nó.

Tính chất 3. Tần số xuất hiện trong mỗi lô của một mục trên cây bằng tổng các

33

Tính chất 4. Phân bố tần số trong các lô của đường đi trên cây chính là phân bố

tần số của nút hậu tố.

Tính chất 5. Cây điều kiện của mục cao nhất theo thứ tự từ điển là cây rỗng.

Sử dụng cách tiếp cận FP-growth [7,8], thủ tục SWFI-miner khai phá TMTX với trọng số thích nghi trên dịng dữ liệu từ cây SAWFP-tree như sau:

Thủ tục cập nhật cây SAWFI-tree

Theo như đã trình bày ở trên, việc tổ chức lưu trữ dữ liệu dòng giao tác dưới dạng cấu trúc cây như SAWFI-tree cho phép ta có thể dễ dàng cập nhật thơng tin (xóa các giao tác trong một lô cũ nhất, bổ sung các giao tác cho một lô mới nhất), đáp ứng sự biến đổi nhanh của dòng dữ liệu tại những thời điểm tiếp theọ

Để xóa thơng tin của lơ cũ nhất trên cây SAWFI-tree, ta cần thực hiện như sau: Trong danh sách các giá trị tần số xuất hiện của mỗi nút, tại ví trí thứ j (1 < j ≤

K) bằng giá trị tần số của vị trí thứ (j-1) và thay giá trị tại vị trí thứ nhất bằng 0.

Tỉa tất cả nút mà tại đó mọi giá trị tần số đều bằng 0.

Các giao tác của lô mới được chèn lên cây như thường lệ sau khi đã xóa bỏ thơng tin của lô cũ nhất.

34

CHƯƠNG 3: ỨNG DỤNG MỘT SỐ THUẬT TOÁN KHAI PHÁ DỮ LIỆU HỖ TRỢ PHÂN TÍCH CƠ SỞ DỮ LIỆU BÁN HÀNG SIÊU THỊ

3.1. Ứng dụng thuật tốn khai phá tập mục thường xun phân tích cơ sở dữ liệu bán hàng siêu thị

3.1.1. Ứng dụng thuật toán MFIMT khai phá TMTX đa ngưỡng Đặt bài toán Đặt bài toán

Tại một siêu thị trong kí kinh doanh có bán các mặt hàng: Bàn chải (BC), Kem đánh răng (KR), Bột giặt (BG), Dầu gội (DG), Sữa tắm (ST) và Xà phòng (XP). Các dữ liệu về định danh và thông tin trong các giỏ hàng được lưu trữ trong CSDL giao tác (Bảng 4), sau khi đã mã hóa các mặt hàng BC, KR, BG, DG, ST và XP tương ứng a, b, c, d, e và f .

Yêu cầu bài toán: Tại cùng thời điểm, với các ngưỡng độ hỗ trợ khác nhau (được qui định bởi nhà quản lí) tương ứng là: 0.85, 0.5, 0.6, 0.55, 0.65, 0.7, 0.75, 0.8

- Mặt hàng/nhóm các mặt hàng nào phổ biế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 phổ biến xuất hiện đó?

Ở đây, ta hiểu ngưỡng độ hỗ trợ được qui định bởi nhà quản lí, đó là ngưỡng dùng để xác định nếu phần trăm mặt hàng/nhóm các mặt hàng nào phổ biến xuất hiện mà lớn hơn ngưỡng độ hỗ trợ thì nhà quản lí có thể ra quyết định đầu tư cho mặt hàng/nhóm các mặt hàng đó.

Bảng 4. Dữ liệu các giỏ hàng bán ra của siêu thị (sau mã hóa tên hàng)

TID Giỏ hàng 1 a, d, e, f 2 a, d, e 3 a, c, d, e, f 4 b, c, f 5 a, b, c, d, e 6 a, c, e 7 a, c, d, e 8 a, b, c, d, e 9 c, d, e, f 10 a, b, c, d, e Ứng dụng thuật toán

Tiến hành thực hiện các bước của thuật tốn MFIMT theo trình tự dưới đây:

Bước 1: Sắp xếp các ngưỡng độ hỗ trợ tối thiểu theo thứ tự tăng dần ta được:

εt1 < εt2 < ⋯ < εtk (với k=8)

Bước 2: Thực hiện thuật toán Apriori, với ngưỡng độ hỗ trợ tối thiểu εt1 = 0.5

35 Q trình thực hiện thuật tốn Apriori được minh họa như sau:

- Duyệt CSDL giao tác lần thứ nhất, tính độ hỗ trợ (SC) của các mục đơn.

SC(a) = 0.8, SC(b) = 0.4, SC(c) = 0.8, SC(d) = 0.8, SC(e) = 0.9, SC(f) = 0.4.

Loại bỏ các tập “b” và “f” không thỏa mãn εt1 = 0.5 . Ta được L1 = {a, c, d, e}.

Kết nối L1 với L1 được tập 2-tập mục ứng viên C2 = {ac, ad, ae, cd, ce, de}.

Trong C2 khơng có tập nào chứa các mục đơn khơng phải là TMTX, do vậy C2

không bị tỉa tập mục nàọ

- Duyệt CSDL giao tác lần thứ hai, tính độ hỗ trợ của các 2-tập mục ứng viên.

SC(ac) = 0.6, SC(ad) = 0.7, SC(ae) = 0.8, SC(cd) = 0.6, SC(ce) = 0.7, SC(de) = 0.8.

Các 2-tập mục đều thỏa εt1, do vậy: L2 = {ac, ad, ae, cd, ce, de}.

Kết nối L2 với L2 được các 3-tập mục ứng viên C3 = {acd, ace, ade, cde}.

Trong C3 khơng có tập nào chứa các tập mục khơng phải là TMTX, do vậy C3

không bị tỉa tập mục nàọ

- Duyệt CSDL giao tác lần thứ ba, tính độ hỗ trợ của các 3-tập mục ứng viên.

SC(acd) = 0.5, SC(ace) = 0.6, SC(ade) = 0.7, SC(cde) = 0.6.

Ta được L3 = {acd, ace, ade, cde}.

Cuối cùng, ta thu được tập các TMTX cùng với số độ hỗ trợ tương ứng là:

FI1 = { a: 0.8, c: 0.8, d: 0.8, e: 0.9, ac: 0.6, ad: 0.7, ae: 0.8,

cd: 0.6, ce: 0.7, de: 8, acd: 0.5, ace: 0.6, ade: 0.7, cde: 0.6}.

Bước 3: Thực hiện chu trình lặp với i=2,3,..,k để xét cho các ngưỡng độ hỗ trợ

tối thiểu εt2, … , εtk(k=8).

+ Với i=2: Ngưỡng độ hỗ trợ tối thiểu εt2 = 0.55. Từ tập FP1 loại bỏ tập mục

acd:0.5 không thỏa mãn ngưỡng εt2, ta thu được tập các TMTX FP2.

FI2 = {a: 0.8, c: 0.8, d: 0.8, e: 0.9, ac: 0.6, ad: 0.7, ae: 0.8,

cd: 0.6, ce: 0.7, de: 8, ace: 0.6, ade: 0.7, cde: 0.6 }.

+ Với i=3: Ngưỡng độ hỗ trợ tối thiểu εt3 = 0.6. Từ tập FP2 các tập mục đều

thỏa mãn ngưỡng εt3 nên không loại bỏ tập mục nào từ FP2, ta thu được tập các

TMTX FP3.

FI3 = {a: 0.8, c: 0.8, d: 0.8, e: 0.9, ac: 0.6, ad: 0.7, ae: 0.8,

cd: 0.6, ce: 0.7, de: 8, ace: 0.6, ade: 0.7, cde: 0.6 }.

Tương tự với quá trình lập luận như trên. Kết quả ta thu được bảng các TMTX cùng với các độ hỗ trợ tương ứng như bảng 5 dưới đâỵ

Một phần của tài liệu (Luận văn Đại học Thương mại) NGHIÊN CỨU ỨNG DỤNG MỘT SỐ THUẬT TOÁN KHAI PHÁ DỮ LIỆU HỖ TRỢ PHÂN TÍCH CƠ SỞ DỮ LIỆU BÁN HÀNG SIÊU THỊ (Trang 31 - 36)

Tải bản đầy đủ (PDF)

(96 trang)