Biểu diễn ngang của CSDL giao tác

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 26 - 30)

Định nghĩa 4. Cho I = {i1, i2, … , in} là tập các mục và tập mục X ⊆ I. Ta gọi độ

hỗ trợ (support) của X trong CSDL giao tác TDB được ký hiệu supp(X), là tỷ lệ phần trăm các giao tác trong TDB chứa X, tức là:

supp(X) =card({T ∈ TDB|X ⊆ T})

card(TDB)

Với Card(TDB) là số các giao tác của TDB. Ta có: 0 ≤ supp(X) ≤ 1, ∀X ⊆ Ị

TID Tập các mục

T1 a, c, e, f

T2 a, b, c, e, g ,h

26

Định nghĩa 5. Cho tập mục X ⊆ I và ngưỡng độ hỗ trợ tối thiểu minsupp

(minimum support) được xác định bởi người dùng, 0 < minsupp ≤ 1. Nếu

supp(X) ≥ minsupp thì X được gọi là tập phổ biến (frequent itemset) với độ hỗ trợ

tối thiểu minsupp, hay ta nói X thỏa minsupp, trường hợp ngược lại ta nói X là tập khơng phổ biến (infrequent itemset), hay ta nói X khơng thỏa minsupp.

Định nghĩa 6. Cho CSDL giao tác TDB, với k ngưỡng độ hỗ trợ tối thiểu 0 <

ε1, ε2, … , εk < 1. Khai phá TMTX đa ngưỡng trong TDB là tìm các tập FI i chứa tất

cả các TMTX thỏa các ngưỡng độ hỗ trợ tối thiểu εi tương ứng, tức là tìm k tập:

FIi = {X ⊆ I|supp(X) ≥ εi} (i=1,2,...,k)

Trong trường hợp k=1 (tất cả các ngưỡng độ hỗ trợ tối thiểu εi đều bằng nhau)

thì bài tốn trở thành khai phá TMTX một ngưỡng (gọi tắt là bài toán khai phá TMTX).

3.1.2.1. Thuật toán MFIMT khai phá tập phổ biến đa ngưỡng trong cơ sở dữ liệu giao tác

Ý tưởng của thuật toán MFIMT

Trước hết ta sắp xếp các độ hỗ trợ tối thiểu theo thứ tự tăng dần. Chỉ gọi hàm Apriori một lần với ngưỡng độ hỗ trợ tối thiểu nhỏ nhất (sau khi đã sắp xếp các ngưỡng độ hỗ trợ) thu được tập các TMTX. Từ các tập các TMTX thu được trước đó ta loại trừ dần các tập mục không thỏa mãn các ngưỡng độ hỗ trợ tiếp theo của dãy tăng dần các ngưỡng độ hỗ trợ để thu được tập các TMTX tương ứng. Qua trình sẽ dùng sau khi thu được tập các TMTX với ngưỡng độ hỗ trợ lớn nhất.

Hàm Apriori (thuật toán Apriori) được Agrawal R. và cộng sự, thuộc Trung tâm nghiên cứu Almadel IBM (Mỹ), đề xuất vào năm 1993. Đây là thuật toán nền tảng cho phát triển nhiều thuật toán khai phá TMTX sau đó. Ý tưởng của thuật toán Apriori được dựa trên cơ sở tính chất Apriori (Mọi tập con của TMTX đều là TMTX). Ở đó, để tìm ra các TMTX bằng cách tiến hành “sinh” các TMUV từ các TMTX ở bước trước, sử dụng kỹ thuật “tỉa” để loại bỏ những TMUV không thỏa mãn ngưỡng độ hỗ trợ cho trước. Nghĩa là, sinh các TMUV gồm k-tập mục bằng cách kết nối các (k-1)-tập phổ biến, và loại bỏ các TMUV (nếu có) chứa bất kì một tập con nào khơng là TMTX.

Chi tiết nội dung thuật tốn Apriori có thể tham khảo trong [1], [2].

Nhận xét: Theo cách này chỉ cần gọi một lần hàm Apriori cho ngưỡng độ hỗ trợ

tối thiểu nhỏ nhất. Với các ngưỡng tăng dần (tiếp theo) chỉ cần loại đi các TMTX nằm trong tập các TMTX đã tìm được trước đó mà khơng thỏa ngưỡng độ hỗ trợ mớị Do đó, theo cách này sẽ giảm chi phí cho duyệt CSDL và kiểm tra các TMUV trong CSDL giao tác.

Nội dung thuật toán MFIMT:

Algorith MFIMT;

Input: - CSDL giao tác TBD,

- Các ngưỡng độ hỗ trợ tối thiểu: ε1, ε2, … , εk

Output: Các tập các TMTX FIi tương ứng với các ngưỡng εi

27

Method:

Bước 1: Sắp xếp các ngưỡng εi (i=1,2,...,k) theo thứ tự tăng dần

thu được dãy 0 < εt1 < εt2 < ⋯ < εtk ≤ 1

Bước 2: Call Apriori(TDB, 𝜀𝑡1,FI1) // Gọi hàm Apriori thực hiện

trên CSDL giao tác TDB với ngưỡng 𝜀𝑡1 , thu được tập

các mục phổ biến FI1

Bước 3: For (i=2; i<=k; i++)

Bước 4: Remove(FIi-1, εti, FIi) // Loại bỏ từ tập FIi-1 các tập mục

không thỏa 𝜀𝑡𝑖, thu được tập FIi

Bước 5: Return FI1, FI2, ..., FIk

Bước 6: End.

Trong đó:

Hàm Apriori(TDB, εt1,FI1) được mơ tả trong thuật toán [13-15]. Kết quả sau

khi thực hiện hàm sẽ cho F1 là tập các mục phổ biến với ngưỡng εt1.

Hàm Remove(FIi-1, εti, FIi): Cho TMTX FIi thu được bằng cách loại bỏ các

TMTX trong FIi-1 (tính lần rước đó) khơng thỏa ngưỡng độ hỗ trợ tối thiểu εti.

2.4.1.2. Thuật toán BMB khai phá TMTX dựa trên ma trận nhị phân

Trong [27] đã đề xuất thuật toán BMB khai phá hiệu quả các TMTX. Ý tưởng chính của thuật tốn BMB gồm 2 pha:

Pha 1: Xây dựng ma trận nhị phân M tương ứng của CSDL giao tác TDB. Pha 2: Khai phá các TMTX từ ma trận nhị phân M.

Xây dựng ma trận nhị phân

Giả sử, cho một CSDL TDB gồm n mục I={i1, i2, …, in} và m giao tác,

TBD={t1, t2, …, tm}. Ta xây dựng ma trận nhị phân 𝐴 = (apq) kích cỡ mxn từ

CSDL giao tác TDB như sau:

apq = {1 nếu giao tác tp chứa mục iq

0 trường hợp ngược lại

Thuật toán khai phá các tập phổ biến từ ma trận nhị phân

Cho trước độ hỗ trợ tối thiểu minsup. Các bước trong pha khai phá các TMTX được thực hiện như sau:

Bước k=1:

Tính độ hỗ trợ của từng véc tơ cột của A, tức tính các tổng sum(Aq), q=1,2,…,n.

Nếu sum(Aq) ≥ minsup thì iq là mục phổ biến. Nạp các tập mục phổ biến này

vào L1 là tập các 1-tập mục phổ biến.

Nếu card(L1)>1 quá trình tìm kiếm tiếp tục.

28 a) Tỉa ma trận A: xóa tất cả các cột của A có độ hỗ trợ <minsup. Xóa các dịng của A có tổng các phần tử nhỏ hơn 2. Gọi ma trận thu được từ A sau khi rút gọn là A1

b) Lập tập C2 tất cả các tổ hợp chập chập 2 của các cột của A1. Tính độ hỗ trợ

của mõi tổ hợp c ∈ C2. Nếu c có độ hỗ trợ khơng nhỏ hơn minsup thì tập mục tương

ứng là 2-tập mục phổ biến. Nạp các tập mục phổ biến này vào L2 là tập các 2-tập mục phổ biến.

Nếu card(L2)>2 quá trình tìm kiếm tiếp tục.

Bước k=3:

a) Tỉa ma trận A1 như sau: xóa tất cả các cột của A1 ứng với mục iq có

Card(L2(iq))<3. Xóa các dịng của A1 có tổng các phần tử nhỏ hơn 3. Gọi ma trận

thu được từ A1 sau khi xóa các cột và các dịng rút gọn là A2.

b) Lập tập C3 tất cả các tổ hợp chập chập 3 của các cột của A2. Tính độ hỗ trợ

của mõi tổ hợp c ∈ C3. Nếu c có độ hỗ trợ khơng nhỏ hơn minsup thì tập mục tương

ứng là 3-tập mục phổ biến. Nạp các tập mục phổ biến này vào L3 là tập các 3-tập mục phổ biến.

Nếu card(L3)>3 quá trình tìm kiếm tiếp tục.

Các bước k=4,5, ...: được thực hiện tương tự như trên

Quá trình tìm kiếm các TMTX dừng tại bước k khi card(Lk)<k+1 hoặc Ck = ∅.

Kết quả ta được tập các TMTX là L = L1∪ L2… ∪ Lk.

2.4.2. Mơ hình bài tốn và thuật toán khai phá tập mục thường xuyên với trọng số thích nghi

2.4.2.1 Mơ hình bài tốn

Trong nội dung dưới đây chúng tơi trình bày mơ hình bài tốn khai phá TMTX với trọng số thích nghi trên dịng dữ liệu, được trình bày trong [27].

Cho I là tập các mục, I = {i1, i2, … , ik}. Một tập mục con X ⊆ I, gồm k mục phân

biệt được gọi là một k-tập mục hay tập mục độ dài k. Để đơn giản, thay vì viết

{i1, i2, … , ir} đơi khi ta viết i1i2… ir; chẳng hạn, tập mục {a, b, c} được viết ngắn gọn

là abc. Mỗi giao tác là một bộ t=(TID,X) trong đó TID là một định danh và X là một tập mục.

Một dòng dữ liệu giao tác (CSDL giao tác) DS là một dãy các giao tác, DS={ti1,ti2,…,tim,…}, trong đó tij, i=1,2,…; j=1,2,… là giao tác đến tại thời điểm thứ ị

Một lô giao tác (hay một lô) là tập các giao tác nhằm phản ánh thực tế quản lí (tùy thuộc ngữ cảnh) theo một đơn vị thời gian (ngày, tháng, quí, năm, …).

Một cửa sổ W trên dòng dữ liệu giao tác được xem là một tập các lô xét tại một thời điểm.

Giả sử tại thời điểm Ti (i=1, 2, ...) cửa sổ trượt W được chia thành N lô Bij (i=1,2…; j=1,2,…,N) và mỗi mục trong mỗi lô được gán một trọng số riêng biệt, là số thực không âm.

29

Định nghĩa 7. Độ hỗ trợ với trọng số thích nghi của tập mục X là đại lượng

AWsupp(X), xác định bởi

AWsupp(X) = ∑ W(X, j) × F(X, j)

K

j=1

(1)

Trong đó W(X,j) là trọng số của X tại lơ thứ j được tính bằng trọng số trung bình của các mục trong lô thuộc X, F(X,j) là tần số xuất hiện của X trong lô thứ j tại thời điểm Tị

Định nghĩa 8. Độ hỗ trợ với trọng số tối thiểu trên dòng dữ liệu DS, tại thời điểm

Ti, xác định bởi:

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

K

j=1

Trong đó Card(Bij) là số các giao tác và W(i, j) trọng số của lô thứ j tại thời điểm

Ti , và minsupp là độ hỗ trợ tối thiểu cho dòng dữ liệu DS.

Định nghĩa 9. Tập mục X được gọi là tập mục thường xuyên với trọng số thích

nghi trên dịng dữ liệu DS nếu độ hỗ trợ với trọng số thích nghi của X khơng nhỏ hơn ngưỡng độ hỗ trợ với trọng số tối thiểu , nghĩa là:

AWsupp(X) ≥ ξ (3)

Khi đó ta cũng nói tập mục X thỏa , trường hợp ngược lại tập mục X không

thỏa .

Định nghĩa 10. Khai phá TMTX với trọng số thích nghi trên dịng dữ liệu DS sử

dụng mơ hình cửa sổ trượt là tìm tập AWFI chứa tất cả các TMTX với trọng số, tức là tìm tập:

AWFI = {X|X ⊆ I, AWsupp(X) ≥ ξ} (4)

Ví dụ: Cho dịng dữ liệu trong Bảng 2, tại thời điểm T1, có 12 giao tác, 3 lô B11,

B12, B13 với trọng số của các mục tại các lô trong Bảng 3 và độ hỗ trợ tối thiểu minsupp là 30%.

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 26 - 30)

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

(96 trang)