Sinh các luật kết hợp từ các tập mục phổ biến

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng một số kỹ thuật khai phá dữ liệu để phân tích dữ liệu viễn thông nhằm tăng cường chất lượng dịch vụ khách hàng (Trang 47 - 50)

4.4.1 Kết hợp các tập mục phổ biến có độ dài từ 1 đến k

Từ các tập mục phổ biến có độ dài từ 1 đến k, chúng ta kết hợp dữ liệu từ các bảng F1 đến Fk vào bảng dữ liệu FISETS(item1,…,itemk, nullm, count) với nullm là vị trí có giá trị 0 đầu tiên, và count là độ hỗ trợ của tập mục, như sau:

(1) Insert into fisets as

(2) select item1, …, 0 itemk, 2 nullm,count from F1 (3) union all

(4) select item1, item2, …, 0 itemk, 3 nullm,count from F2 (5) union all

(6) … (7) union all

(8) select item1, item2,…, itemk, k+1 nullm,count from Fk

4.4.2 Sinh các tập con bảng tập mục phổ biến FISETS

Bước tiếp theo, sinh các tập con cho mỗi tập hữu hạn trong bảng tập mục phổ biến FISETS. Sau đó cập nhật vào bảng SUBSETS(item1, …, itemk, nullm, rulem, count) với cột nullm là cột có giá trị 0 đầu tiên, rulem là vị trí của „=>‟ trong luật kết hợp và count là độ hỗ trợ. Đối với một dòng dữ liệu trong bảng FISETS, có giá trị trong các cột (item1,…,itemk) tăng dần. Để sinh các tập con cho mỗi tập hữu hạn trong bảng tập mục phổ biến FISETS đề tài sử dụng thuật toán đệ quy liệt kê tổ hợp chập k của n phần tử:

(1) declare

(2) n number; --Mảng có độ dài n

(3) source number [ ] := null; --Mảng kết quả (4) k number := 3; --Số lượng phần tử (5) selected boolean [ n ]; --Mảng lưu trạng thái

(6) procedure choose(element number, startIdx number) is

(7) begin

(8) if element = k then

(9) --In danh sách phần tử trong mảng source[k] (10) for i in 1 .. n loop

(11) if selected[i] = true then

(12) --In phần tử mảng sẽ được chọn (13) end if;

(14) end loop;

(15) else

(16) for i in startIdx .. n loop

(17) if selected [ i ] = false then

(18) selected [ i ] = true;

(19) --Thực hiện thuật toán đệ quy (20) choose(element + 1, i + 1);

(21) selected [ i ] = false; (22) end if; (23) end loop; (24) end if; (25) end choose; (26) Begin (27) choose(0, 0); (28) End;

Hình 4.9: Liệt kê tổ hợp chập k của n phần tử

4.4.3 Sinh các luật kết hợp

Chúng ta sẽ kết hợp hai bảng FISETS và SUBSETS với điều kiện: . min_ . SUBSETS count conf FISETS count

Cập nhật dữ liệu vào bảng RULES (item1,…, itemk, nullm, rulem, confidence, support)

(1) insert into Rules

(2) select s.item1, …, s.itemk, s.nullm, s.rulem,

(float(s.count)/f.count)*100 Confidence, s.count Support

(3) from SUBSETS s, FISETS f

(4) where (s.item1 = f.item1 OR s.rulem <= 1 )

(5) AND (s.item2 = f.item2 OR s.rulem <= 2 )

(6) ...

(7) AND (s.itemk = f.itemk OR s.rulem <= k )

(8) AND s.rulem = f.nullm

(9) AND s.count*100/ f.count >= minconf

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng một số kỹ thuật khai phá dữ liệu để phân tích dữ liệu viễn thông nhằm tăng cường chất lượng dịch vụ khách hàng (Trang 47 - 50)

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

(75 trang)