Thuật toán khai phá luật kết hợp dựa trên lý thuyết đại số gia tử

Một phần của tài liệu (LUẬN văn THẠC sĩ) khai phá luật kết hợp dựa trên lý thuyết đại số gia tử (Trang 27 - 31)

Chương 3. Thuật toán khai phá luật kết hợp dựa trên lý thuyết đại số gia tử

3.3. Thuật toán khai phá luật kết hợp dựa trên lý thuyết đại số gia tử

n: Tổng số giao dịch trong cơ sở dư liệu(được sinh ra sau quá trình chuyển dữ liệu thô(n’) thành nhãn gia tử tương ứng)

m: Tổng số các thuộc tính(số thuộc tính của dữ liệu thô(m’)* số nhãn gia tử)

A j : Thuộc tính thứ j, 1 ≤ j ≤ m, A j

D(i) dữ liệu giao dịch thứ i, 1 ≤ i ≤ n v j (i): Giá trị định lượng của Aj trong D(i);

f jk (i) giá trị độ thuộc của v j (i) với nhãn gia tử R jk , 1 ≤ f jk (i) ≤ m;

Sup(A jk ): Độ hỗ trợ của A jk

Sup: Giá trị hỗ trợ của mỗi tập mục lớn;

Conf: độ tin cậy của mỗi tập mục lớn

Minsup: Giá trị hỗ trợ tối thiểu cho trước Minconf: Giá trị tin cậy cho trước

C r : Tập các tập mục có khả năng với r thuộc tính (tập mục), 1 ≤ r ≤ m;

L r : Tập các tập mục lớn thỏa mãn với r nhãn gia tử (tập mục) 1 ≤ r

≤ m;

Thuật toán khai phá dữ liệu dựa trên đại số gia tử cho các giá trị định lượng được thực hiện như sau:

Input: m’,n’, theta(tỉ lệ giữa 2 phần tử sinh), minsup và minconf

Output: luật kết hợp

Bước 1: Chuyển các giá trị định lượng v j (i) của mỗi giao dịch D(i), i từ 1 tới n, với mỗi thuộc tính A j , nếu A j nằm ở ngoài 1 trong 2 đầu mút ( 2 nhãn gia tử cực đại và cực tiểu) thì A j chỉ có 1 nhãn gia tử ứng với đầu mút đó, nếu không thì A j được biểu diễn bởi 2 nhãn gia tử liên tiếp có đoạn giá trị nhỏ nhất trên trường

28

giá trị của A j , mỗi nhãn ứng với 1 giá trị biểu diễn độ thuộc f jk (i)(j=1,2) của A j

với nhãn gia tử đó. Độ thuộc này được tính là khoảng cách của A j tới giá trị biểu diễn cho nhãn gia tử tương ứng.

Bước 2 : Tính giá trị hỗ trợ ,

𝑆𝑢𝑝 𝑅 𝑗𝑘 = 𝑛 𝑗 =1 𝑓 𝑗𝑘 𝑛

Bước 3 : Nếu Sup(R jk ) ≥ minsup thì đưa R jk vào L 1

Bước 4 : Nếu L 1 không rỗng, tiếp tục bước sau, nếu rỗng thoát chương trình.

Bước 5 : Thuật toán xây dựng tập mục lớn mức r từ các tập mục lớn mức r-1 bằng cách chọn 2 tập mục lớn mức r-1 chỉ khác nhau duy nhất một mục, hợp 2 tập mục này ta được tập mục ứng viên Cr, nếu tập mục này xuất hiện trong cơ sở dữ liệu và có giá trị hỗ trợ thỏa mãn thì nó được đưa vào danh sách các tập mục lớn mức r.

Bước 6: Thực hiện theo các bước con sau đây lặp lại cho các tập mục lớn mức lớn hơn được sinh ra tiếp theo dạng (r+1) tập mục lớn S với mục (s 1 ,s 2 , …, s t ,

…, sr+1 ) trong C r+1 , 1≤ t ≤ r+1

 Tính giá trị hỗ trợ sup(S) của S trong giao dịch

𝑆𝑢𝑝 𝑆 = 𝑘 𝑖=1 𝑓 𝑗𝑘 (𝑠 𝑖 ) 𝑛

 Nếu Sup(S) ≥ minsup, thì đưa S vào L r+1 .

Bước 7 : Nếu Lr+1 là rỗng, thì thực hiện bước tiếp theo, ngược lại, đặt r=r+1, thực hiện lại bước 5 và 6.

Bước 8 : Thu thập các tập mục lớn mức lớn hơn nếu có

Bước 9 : Đưa ra các luật kết hợp từ các tập mục lớn vừa thu thập theo cách sau:

 Với mỗi luật kết hợp khả thi sau đây: s 1 ∩…∩s x ∩s y ∩…∩s q → s k (k=1 tới q, x=k-1, y= k+1)

Tính độ tin cậy của luật :

Conf s 1 ∩ … ∩ s x ∩ s y ∩ … ∩ s q → s k = 𝑆𝑢𝑝(𝑆/𝑠 𝑘 ) 𝑆𝑢𝑝(𝑆)

29

Để minh họa thuật toán, ta xét tập dữ liệu ví dụ sau:

Bảng 3 Dữ liệu ví dụ STT Tuổi Thu nhập

1 25 10.000.000

2 10 0

3 60 20.000.000

Giả sử khai phá luật kết hợp cho tập dữ liệu trên với 2 gia tử là rất và khá. Các nhãn ngôn ngữ tương ứng của từng trường dữ liệu sẽ là:

Bảng 4 Nhãn ngôn ngữ tương ứng Trường Phần tử sinh Nhãn ngôn ngữ

Tuổi c  Trẻ

Tuổi c + Già

Tuổi Trung niên

Thu nhập c + Cao

Thu nhập c  Thấp

Thu nhập Trung bình

Minh họa thuật toán theo lần lượt các bước, với đầu vào của minsup = 0.2 và minconf = 50%, tỉ lệ gia tử à = 0.5

 Bước 1: Chuyển các giá trị định lượng của mỗi bản ghi thành nhãn gia tử tương ứng, ta có bảng dữ liệu được chuyển theo cách xác định của thuật toán như sau:

STT Tuổi Thu nhập

1 Rất trẻ<0.14> Trung bình<1.0>

2 Khá trẻ<0.86> Trung bình<1.0>

3 Rất trẻ<1.0> Rất thấp<1.0>

4 Rất già<1.0> Rất cao<1.0>

30

 Bước 2: Tính độ hỗ trợ của dữ liệu vừa được gán nhãn:

STT Dữ liệu đã gán nhãn Sup 1 Tuổi_rất_trẻ 0.285 2 Tuổi_khá_trẻ 0.215

3 Tuổi_rất_già 0.25

4 Thunhap_trungbinh 0.5 5 Thunhap_rất_cao 0.25 6 Thunhap_rất_thấp 0.25

 Bước 3: Đưa các nhãn ngôn ngữ có độ hỗ trợ lớn hơn minsup vào tập L 1

 Bước 48: Xây dựng tập C 2 từ L 1 , ta có C 2 bao gồm:

STT Tập mục được gán nhãn thỏa mãn Sup 1 Tuổi_khá_trẻ, Thunhap_Trungbinh 0.638 2 Tuổi_ rất_trẻ, Thunhap_rất_thấp 0.535 3 Tuổi_rất_già, Thunhap_rất_cao 0.25

 Bước 9: Sinh luật và tính giá trị độ tin cậy của các luật

STT Luật kết hợp Độ tin cậy(%)

1 Tuổi_khá_trẻ  Thunhap_Trungbinh 45.3 2 Thunhap_Trungbinh Tuổi_khá_trẻ 78.3 3 Tuổi_rất_trẻ  Thunhap_Rất_thấp 53.27

31

Một phần của tài liệu (LUẬN văn THẠC sĩ) khai phá luật kết hợp dựa trên lý thuyết đại số gia tử (Trang 27 - 31)

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

(48 trang)