CHƯƠNG I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.7. Luật kết hợp có thuộc tính số
1.7.1 Luật kết hợp có thuộc tính số và thuộc tính các hạng mục
Từ khi bài toán phát hiện luật kết hợp đƣợc giới thiệu, nhiều thuật toán đã đƣợc đề xuất để tìm luật kết hợp trong các CSDL lớn với các thuộc tính nhị phân [10]. Tuy nhiên, luật kết hợp nhị phân hạn chế miền ứng dụng bởi nó chỉ áp dụng cho thuộc tính nhị phân, trong khi đó dữ liệu thực tế thường chứa dữ liệu số, loại dữ liệu không thể xử lý đƣợc trực tiếp bằng thuật toán khai phá nhị phân cổ điển. Phát hiện các luật có loại thuộc tính nhƣ vậy đƣợc gọi là bài toán luật kết hợp có thuộc tính số. Các miền giá trị của một giao dịch là một tập con các số thực chứ không phải là {0,1}. Khai phá luật kết hợp với thuộc tính số và thuộc tính hạng mục (quantitative and categorical association rule) là một trong những hướng tiếp cận quan trọng trong lĩnh vực khai phá luật kết hợp. Dạng luật này đƣợc đề xuất nghiên cứu lần đầu tiên bởi Rakesh Agrawal, John Shafer (1996).
Bảng dữ liệu sau đây minh họa một CSDL bao gồm các thuộc tính số (quantitative), và thuộc tính hạng mục (categorical).
Giờ gọi Phương thức gọi (1,0)
Đối tƣợng (1, 2, 3, 4)
Thời gian đàm thoại (giây)
Gọi liên tỉnh
22:00:45 1 (tự động ) 4 (tƣ nhân) 206 1 (có)
22:00:39 1 4 239 1
22:00:39 1 4 286 1
22:00:37 1 4 255 1
22:00:53 1 3 274 1
22:00:39 1 3 273 0 (không)
22:00:39 0(nhân công ) 2 (đại lý) 288 0
22:00:52 0 3 277 0
Bảng 1.6. Cơ sở dữ liệu chi tiết của 8 cuộc gọi điện thoại
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn
Trong CSDL trên thời gian đàm thoại là thuộc tính số, đối tƣợng khách hàng là thuộc tính hạng mục, phương thức gọi, gọi liên tỉnh là thuộc tính nhị phân. Với CSDL ở ví dụ trên ta có thể rút ra luật kết hợp nhƣ sau:
<Giờ gọi: 22:00:39 … 22:00:59> AND <phương thức gọi: tự động> AND <Thời gian đàm thoại: 200 … 300> <gọi liên tỉnh: có>, với độ hỗ trợ là 62,5% (5/8) và độ tin cậy là 80% (4/5). Để tìm luật kết hợp nêu trên đƣợc đề cập trong [11] bằng cách phân khoảng miền giá trị của các thuộc tính số và thuộc tính hạng mục để chuyển tất cả về thuộc tính nhị phân để áp dụng các thuộc toán khai thác luật kết hợp nhị phân [10].
1.7.2. Các phương pháp rời rạc hóa
Các thuật toán khai phá luật kết hợp nhị phân [8] [10] chỉ có thể áp dụng trên những CSDL quan hệ chỉ có thuộc tính nhị phân hoặc CSDL dạng giao dịch nhƣ trong bảng 1.1. Chúng không thể áp dụng trực tiếp với các CSDL có thuộc tính số và thuộc tính hạng mục nhƣ trong CSDL ở bảng 1.6. Muốn thực hiện đƣợc điều này, người ta phải tiến hành rời rạc hóa dữ liệu cho các thuộc tính số để chuyển chúng về thuộc tính nhị phân [11].
Một số phương pháp rời rạc hóa như sau:
- Nếu A là thuộc tính số rời rạc (quantitative & discrete) hoặc là thuộc tính hạng mục (categorical) với miền giá trị hữu hạn dạng {v1, v2, …, vk} và k đủ bé (< 100) thì ta sẽ biến đổi thuộc tính này thành k thuộc tính nhị phân dạng A_V1, A_V2, … A_Vk. Giá trị của một bản ghi tại trường A_Vi bằng True (hoặc 1) nếu giá trị của bản ghi đó tại thuộc tính A ban đầu bằng vi, trong các trường hợp còn lại giá trị của A_Vi sẽ là False (hoặc 0).
Ví dụ trong bảng 1.6 thuộc tính “đối tƣợng” thuộc dạng này. Lúc đó thuộc tính đối tƣợng sẽ đƣợc chuyển thành bốn thuộc tính nhị phân là đối tƣợng_1, đối tƣợng_2, đối tƣợng _3, đối tƣợng _4.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn
Đối tƣợng
Sau khi rời rạc hóa
đối tƣợng_1 đối tƣợng_2 đối tƣợng_3 đối tƣợng_4
1 1 0 0 0
2 0
1 0 0
3 0
0 1 0
4 0
0 0 1
Bảng 1.7. Rời rạc hóa thuộc tính số rời rạc hữu hạn hoặc thuộc tính hạng mục - Nếu A là thuộc tính số liên tục (quantitative & continuous) hoặc A là thuộc tính số rời rạc hay thuộc tính hạng mục với miền giá trị dạng {v1, v2, …, vp} (p l ớn) thì ta sẽ ánh xạ thành q thuộc tính nhị phân <A: start1..end1>, <A: start2 ...
end2> ,…, <A: startq ... endq>. Giá trị của một bản ghi tại trường <A: starti ... endi>
sẽ bằng True (hoặc 1) nếu giá trị của bản ghi đó tại thuộc tính A ban đầu nằm trong khoảng [starti … endi], ngƣợc lại nó sẽ nhận giá trị False (hoặc 0). Thuộc tính thời gian đàm thoại (TGĐT) trong CSDL ở bảng 1.8 là thuộc tính dạng này. Ví dụ ta chia thuộc tính TGĐT thành các thuộc tính nhị phân nhƣ sau:
TGĐT Sau khi rời rạc hóa
< TGĐT:
1…60>
< TGĐT:
61…120>
< TGĐT:
121…180>
< TGĐT:
181…86400>
1 1 0 0 0
2 0
1 0 0
3 0
0 1 0
4 0
0 0 1
Bảng 1.8. Rời rạc hóa thuộc tính thời gian đàm thoại (TGĐT) Nhƣợc điểm:
Phương pháp rời rạc hóa trên gặp phải vấn đề “điểm biên gãy” (sharp boundary problem) [15][16]. Nhằm khắc phục “điểm biên gãy”, trong [17] đã đề
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn
xuất một cách phân khoảng mới sao cho các khoảng liền kề có một phần “gối” lên nhau (overlap) ở phần đường biên giữa chúng. Cách phân khoảng này giải quyết đƣợc vấn đề trên, nhƣng lại gặp phải một vấn đề mới là một số giá trị (nằm ở lân cận biên) đƣợc “coi trọng” hơn so với các giá trị khác của thuộc tính - điều này là rất thiếu tự nhiên và có phần mâu thuẫn.
Rời rạc hóa theo khoảng cũng nảy sinh một vấn đề về ngữ nghĩa. Ví dụ rời rạc hóa thuộc tính TGĐT trong bảng 1.8 cho thấy rằng 180 và 181 chỉ cách nhau một giây lại thuộc về hai khoảng khác nhau. Nếu ta cho khoảng [1..60] là rất ngắn, [61..120] là ngắn, [121..180] là trung bình và [181..86400] là dài thì 180 giây đƣợc xem là trung bình trong khi 181 giây lại đƣợc xem là dài. Đây là điều rất thiếu tự nhiên và không “thuận” với cách tư duy của con người bởi trong thực tế 181 giây chỉ “dài hơn” 180 giây rất ít.
Để khắc phục những vấn đề nảy sinh ở trên, trong [15] [16] đã đề xuất một dạng luật mới: Luật kết hợp mờ. Dạng luật này không chỉ khắc phục những điểm yếu của vấn đề phân khoảng mà còn đem lại một dạng luật tự nhiên hơn về mặt ngữ nghĩa, gần gũi hơn với người sử dụng.