Tải bản đầy đủ (.doc) (77 trang)

Tìm hiểu luật kết hợp và kỹ thuật gom cụm trong khai phá dữ liệu – chương trình demo thuật toán Apriori và K-means

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.18 MB, 77 trang )

Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
MỤC LỤC

MỤC LỤC 1
LỜI MỞ ĐẤU 2
NỘI DUNG 4
I. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 4
1. Khái niệm: 4
2. Quá trình phát hiện tri thức trong CSDL 14
3. Các kỹ thuật khai phá dữ liệu 16
II. LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU 18
1. Khai phá luật kết hợp 18
2. Lý thuyết về luật kết hợp 19
III. MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP 29
1. Thuật toán Apriori 29
2. Thuật toán khắc phục nhược điểm thuật toán Apriori - Thuật toán FP-growth 36
IV. KỸ THUẬT GOM CỤM TRONG KHAI PHÁ DỮ LIỆU 40
1.Giới thiệu kỹ thuật phân cụm 40
2.Giới thiệu thuật toán K-means 41
3. Nội dung thuật toán K-means 42
4. Đánh giá thuật toán K-means 49
5. Thuật toán K-mediods - Biến thể và cải tiến của thuật toán K-means 49
V. GIỚI THIỆU CHƯƠNG TRÌNH DEMO THUẬT TOÁN APRIORI 50
1. Xây dựng chương trình 50
Chương trình được viết bằng ngôn ngữ lập trình C# với mục đích giúp người sử dụng: 50
2. Sử dụng chương trình: 51
3. Giao diện chương trình: 51
4. Code chương trình: 54
VI. GIỚI THIỆU CHƯƠNG TRÌNH DEMO THUẬT TOÁN K-MEANS 68
1. Xây dựng chương trình 68
Chương trình được viết bằng ngôn ngữ lập trình C++ với mục đích giúp người sử dụng:. .68


2. Sử dụng chương trình: 68
3. Giao diện chương trình: 69
4. Code chương trình: 71
KẾT LUẬN 75
TÀI LIỆU THAM KHẢO 77
HVTH: Nguyễn Thị Kim Phượng Trang 1
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
LỜI MỞ ĐẤU

Trong những năm gần đây, sự phát triển mạnh mẽ của CNTT và ngành
công nghiệp phần cứng đã dẫn đến khả năng thu thập và lưu trữ thông tin của
các hệ thống thông tin tăng nhanh một cách vượt bậc. Bên cạnh đó, việc tin
học hoá một cách ồ ạt và nhanh chóng trong các lĩnh vực hoạt động sản xuất,
kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo nên một lượng dữ
liệu lưu trữ khổng lồ. Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần
có những kỹ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng
lồ thành các tri thức có ích. Hơn ai hết, các nhà quản lý đều biết rằng: “Có
CSDL là có thông tin - Có thông tin là có tri thức – Và vận dụng tri thức
hiệu quả sẽ dẫn đến thành công”. Vì thế, một trong những vấn đề “quyết
định” hiện nay là cần có kỹ thuật khai phá dữ liệu một cách hiệu quả, để có thể
đáp ứng nhanh chóng các yêu cầu mang tính chuyên nghiệp ngày một cao
của các nhà quản lý.
Khai phá dữ liệu (Data Mining) thực chất là quá trình trích xuất các
thông tin có giá trị tiềm ẩn bên trong khối lượng lớn dữ liệu được lưu trữ trong
các CSDL, kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta
còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: khai phá tri thức từ
CSDL (Knowlegde Mining From Databases), trích lọc dữ liệu (Knowlegde
Extraction), phân tích dữ liệu/mẫu (Data/Pattern Analysis), khảo cổ dữ liệu
(Data Archaeology), nạo vét dữ liệu (Data Dredging). Nhiều người xem khai
phá dữ liệu và một thuật ngữ thông dụng khác là khám phá tri thức trong

CSDL (Knowlegde Discovery in Databases – KDD) là như nhau. Tuy nhiên
trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình khám
phá tri thức trong CSDL. Trong xu thế phát triển chung, việc nắm bắt được
thông tin được xem là cơ sở của mọi hoạt động sản xuất, kinh doanh. Cá
nhân hoặc tổ chức nào có thể thu thập và hiểu được thông tin, và hành động
để đưa ra các phương án dựa trên các thông tin được kết xuất từ các thông
tin đã có thì có thể nói bước đầu đã đạt được thành công trong hoạt động.
HVTH: Nguyễn Thị Kim Phượng Trang 2
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Ví dụ: Khảo sát thông tin để tìm hiểu nhu cầu mua sắm của khách
hàng, trên cơ sở đó đề ra chiến lược kinh doanh, sắp xếp các nhóm hàng
trong siêu thị hợp lý hay có cách tiếp cận đặc biệt đến các đối tượng người
dùng đa dạng (phân nhóm khách hàng tiềm năng, VIP để có thể phục vụ
khách hàng tốt nhất…). Mặt khác, sự tăng trưởng vượt bậc của các CSDL:
thương mại, quản lý và khoa học đã làm nảy sinh và thúc đẩy sự phát triển
của kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu… không chỉ bằng
các phép toán đơn giản thông thường như: phép đếm, thống kê… mà đòi hỏi
cách xử lý thông minh hơn, hiệu quả hơn. Từ việc nắm bắt thông tin “có chọn
lọc” các nhà quản lý có được thông tin có ích để tác động trở lại quá trình sản
xuất, kinh doanh của mình… Các kỹ thuật cho phép ta khai thác được tri
thức hữu dụng từ CSDL được gọi là các kỹ thuật khai phá dữ liệu (DM –
Data Mining). Trong đó, khai phá luật kết hợp và gom cụm dữ liệu là
những nội dung quan trọng trong khai phá dữ liệu. Chính vì những hiệu
quả thiết thực của khai phá dữ liệu, mà trong bài thu hoạch chuyên đề “Khai
phá dữ liệu và nhà kho dữ liệu” em sẽ trình bày nội dung: “Tìm hiểu luật kết
hợp và kỹ thuật gom cụm trong khai phá dữ liệu – chương trình demo
thuật toán Apriori và K-means”, với mục đích hệ thống hóa kiến thức của
môn học mới, phân tích ưu khuyết điểm của từng thuật toán để người dùng có
thể định hướng cách tiếp cận cũng như lựa chọn sử dụng kỹ thuật đúng theo
yêu cầu hay thích hợp trong từng lĩnh vực mà mình quan tâm và qua demo

chương trình giúp người sử dụng chương trình có thể xác định các luật kết
hợp cũng như có kỹ thuật gom cụm dữ liệu một cách nhanh chóng mà vẫn
hiệu quả.
Thông qua bài thu hoạch, em xin gửi lời cảm ơn đến Phó Giáo sư -
Tiến sỹ Đỗ Phúc. Với kiến thức sâu rộng, lòng nhiệt tình, thái độ làm việc rất
nghiêm túc cùng với cách giảng giải rõ ràng, dễ hiểu, qua các câu chuyện, ví
dụ ứng dụng trong thực tế cuộc sống, thầy đã tận tâm truyền đạt những kiến
thức nền tảng cơ bản cho chúng em về môn học “KHAI PHÁ DỮ LIỆU VÀ
NHÀ KHO DỮ LIỆU” – và điều này thật sự giúp em hiểu rõ hơn vấn đề, mở
HVTH: Nguyễn Thị Kim Phượng Trang 3
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
rộng tầm nhìn, thấy được sự cần thiết của môn học đang ảnh hường và chi
phối đến nhiều lĩnh vực trong thời đại.
NỘI DUNG

I. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1. Khái niệm:
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập
kỷ 80. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có
giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, khai
phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật
để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu.
Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm
phát hiện tri thức trong cơ sở dữ liệu để chỉ toàn bộ quá trình phát hiện các tri
thức có ích từ các tập dữ liệu lớn; trong đó khai phá dữ liệu là một bước đặc
biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để chiết xuất ra
các mẫu hay các mô hình từ dữ liệu.
Data Mining là một giai đoạn quan trọng trong quá trình khám phá tri
thức trong cơ sở dữ liệu. Quá trình khám phá tri thức trong cơ sở dữ liệu bao
gồm 6 bước sau:

- Gom nhóm dữ liệu: Tập hợp dữ liệu là bước đầu tiên trong quá trình khai
phá tri thức. Đây là bước được khai thác trong một cơ sở dữ liệu, một kho dữ
liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web.
- Trích lọc dữ liệu: Là bước tuyển chọn những tập dữ liệu cần được khai phá
từ các tập dữ liệu lớn (Databases, Data Warehouses, Data Repositories)
ban đầu theo một số tiêu chí nhất định.
- Làm sạch, tiền xử lý dữ liệu: Là bước làm sạch dữ liệu (xử lý dữ liệu
không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán, ), tổng hợp dữ liệu
(nén, nhóm dữ liệu, tính tổng, xây dựng các histograms, lấy mẫu, ), rời rạc
HVTH: Nguyễn Thị Kim Phượng Trang 4
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
hóa dữ liệu (rời rạc hóa dựa vào histograms, entropy, phân khoảng, ). Sau
bước tiền xử lý này, dữ liệu sẽ nhất quán, đầy đủ hơn.
- Chuyển đổi dữ liệu: Chuyển đổi dữ liệu về dạng phù hợp cho việc khai phá
bằng cách thực hiện các thao tác nhóm hoặc tập hợp.
- Khai phá dữ liệu: Là bước áp dụng những kỹ thuật phân tích, những mối
quan hệ đặc biệt trong dữ liệu. Đây được xem là bước quan trọng và tốn thời
gian nhất của toàn bộ quá trình khám phá tri thức.
- Đánh giá luật: Đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa trên
một số phép đo. Sau đó sử dụng các kỹ thuật trình diễn và trực quan hoá dữ
liệu để biểu diễn tri thức khai phá được cho người sử dụng.
Mục đích chính của khai thác dữ liệu:
- Mô tả: mô tả về những tính chất hoặc đặc tính chung của dữ liệu trong cơ
sở dữ liệu hiện có
- Dự đoán: đưa ra các dự đoán dựa vào việc phân tích dữ liệu hiện thời.
Dựa vào hai mục đích chính này của khai thác dữ liệu, người ta sử dụng các
phương pháp sau:
Các phương pháp khai thác dữ liệu
HVTH: Nguyễn Thị Kim Phượng Trang 5
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc

Kỹ thuật khai phá dữ liệu dự đoán: Nhiệm vụ của khai phá dữ liệu dự đoán
là đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời và thường
sử dụng các biến hay các trường trong cơ sở dữ liệu để dự đoán các giá trị
không biết hay các giá trị tương lai. Bao gồm các kỹ thuật: phân loại
(classification), hồi quy (regression)
 Kỹ thuật phân loại : Mục tiêu của phương pháp phân loại dữ liệu là dự
đoán nhãn lớp cho các mẫu dữ liệu. Quá trình phân loại dữ liệu thường
gồm 2 bước: xây dựng mô hình và sử dụng mô hình để phân loại dữ liệu.
Xây dựng mô hình: dựa trên việc phân tích các mẫu dữ liệu cho trước gọi
là tập huấn luyện (training set). Mỗi mẫu thuộc về một lớp, được xác định bởi
một thuộc tính gọi là thuộc tính lớp. Các nhãn lớp của tập training set đều phải
được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn
được gọi là học có giám sát.
Sử dụng mô hình để phân loại dữ liệu: Trước hết chúng ta phải tính độ
chính xác của mô hình. Nếu độ chính xác là chấp nhận được, mô hình sẽ
được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai.
 Kỹ thuật hồi qui : Kỹ thuật hồi qui có chức năng tương tự như kỹ thuật
phân loại, tuy nhiên, hồi qui sử dụng cho kiểu dữ liệu liên tục còn phân loại
sử dụng cho dữ liệu.
Kỹ thuật khai phá dữ liệu mô tả
 Kỹ thuật phân cụm : Mục tiêu chính của phương pháp phân cụm dữ liệu là
nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho
các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc
các cụm khác nhau sẽ không tương đồng. Phân cụm dữ liệu là một ví dụ
của phương pháp học không giám sát. Không giống như phân loại dữ liệu,
phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu
huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan
sát (Learning By Observation), trong khi phân loại dữ liệu là học bằng ví dụ
(Learning By Example).
HVTH: Nguyễn Thị Kim Phượng Trang 6

Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
 Kỹ thuật hồi qui : Mục tiêu của phương pháp này là phát hiện và đưa ra
các mối liên hệ giữa các giá trị dữ liệu trong CSDL. Mẫu đầu ra của giải
thuật khai phá dữ liệu là tập luật kết hợp tìm được.
Phương pháp lựa chọn
Mục đích của kỹ thuật phân loại chính là dự đoán thuộc tính lớp dựa vào các
trường đã biết trong cơ sở dữ liệu và dựa vào tập huấn luyện mẫu.
Giới thiệu các kỹ thuật phân loại
• Cây quyết định
Tư tưởng thuật toán
Cây quyết định là cấu trúc cây có dạng biểu đồ luồng, mỗi nút trong là kiểm
định trên một thuộc tính, mỗi nhánh đại diện cho một kết quả kiểm định, các
nút lá đại diện cho các lớp. Nút cao nhất trên cây là nút gốc.
Rút luật từ Cây quyết định “Chơi Tennis” (theo VD: tập học trang 8,9)
Để phân loại một mẫu chưa biết, các giá trị thuộc tính của mẫu sẽ được kiểm
định trên cây. Đường đi từ gốc tới một nút lá cho biết dự đoán lớp đối với mẫu
đó. (Với P là mẫu dương tương ứng quyết định Yes; Với N là mẫu âm tương
ứng quyết định No)
Mục đích giải thuật: Xây dựng cây quyết định từ tập training set cho trước.
• Thuật toán ID3
HVTH: Nguyễn Thị Kim Phượng Trang 7
Nắng
Vừa
00
Thời ết
Thời ết
Độ ẩm
Độ ẩm
Gió
Gió

P
P
N
N
N
N
p
p
P
P
U ám
Mưa
Cao
Không00
Có00
Nút gốc
Nút gốc
Nút trongg
Nút trongg
Nút lá
Nút lá
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Thuật toán ID3 (Quinlan 86) là một trong những thuật toán xây dựng cây quyết
định sử dụng Information Gain để lựa chọn thuộc tính phân lớp đối tượng.
Thuật toán xây dựng cây theo cách từ trên xuống, bắt đầu từ một tập các đối
tượng và đặc tả của các thuộc tính. Tại mỗi đỉnh của cây, một thuộc tính có
Information Gain lớn nhất sẽ được chọn để phân chia tập đối tượng. Quá trình
này được thực hiện một cách đệ qui cho đến khi một tập đối tượng tại một cây
con đã cho trở nên thuần nhất, tức là nó chỉ chứa các đối tượng thuộc về
cùng một lớp. Lớp này sẽ trở thành một lá của cây

Độ đo lựa chọn thuộc tính - Information Gain
Entropy:
Ý nghĩa: Xác định độ hỗn loạn thông tin của dữ liệu.
Công thức : Entropy(P1, P2, P3…)=-P1 log P1-P2 log P2-…-Pn log Pn
Information Gain
Ý nghĩa: Độ lợi thông tin. Nó xác định mức độ hiệu quả của một thuộc tính
trong bài toán phân lớp dữ liệu. Đó chính là sự rút gọn mà ta mong đợi khi
phân chia các lớp dữ liệu theo thuộc tính này.
Công thức: Gains = Entropy [trước khi phân hoạch] – Entropy [sau khi
phân hoạch]
= Entropy (S) – Entropy (P1, P2 , , Pn)
Cây quyết định sẽ lựa chọn thuộc tính có Gains lớn nhất làm nút gốc.
Ví dụ:
Outlook Temperator Humidity Windy Play ?
Sunny hot high FALSE no
Sunny hot high TRUE no
Overcast hot high FALSE yes
Rain mild high FALSE yes
Rain cool normal FALSE yes
Rain cool normal TRUE no
Overcast cool normal TRUE yes
HVTH: Nguyễn Thị Kim Phượng Trang 8
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Sunny mild high FALSE no
Sunny cool normal FALSE yes
Rain mild normal FALSE yes
Sunny mild normal TRUE yes
Overcast mild high TRUE yes
Overcast hot normal FALSE yes
Rain mild high TRUE no

1.Tạo nút gốc( rootNode), chứa đựng toàn bộ learning set. Entropy của
nút gốc :
Entropy(rootNode.subset)= -(9/14)log 2( 9/14 ) – ( 5/14)log 2(5/14)= 0.940
2.Tính toán thông tin nhận được cho mỗi thuộc tính:
Gain(S,Windy)= Entropy(S)-(8/14)Entropy(S false) – (6/14)Entropy(S true) =
0.048
Gain(S,Humidity) = 0.151
Gain(S,Temperature) = 0.029
Gain(S,Outlook) = 0.246
3. Chọn lựa những thuộc tính với Gain lớn nhất .Thuộc tính được lựa
chọn thành nút gốc là Outlook
4. Áp dụng ID3 cho mỗi nút con của nút gốc này, cho đến khi đạt đến nút
lá hoặc nút có entropy = 0.
HVTH: Nguyễn Thị Kim Phượng Trang 9
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Cây quyết định chọn Outlook làm nút gốc
Cây quyết định cuối cùng
• Thuật toán K-Nearest Neighboard (K-NN)
Tư tưởng thuật toán
K-NN là phương pháp để phân lớp các đối tượng dựa vào khoảng cách
gần nhất giữa đối tượng cần xếp lớp (Query point) và tất cả các đối tượng
trong Training Set.
HVTH: Nguyễn Thị Kim Phượng Trang 10
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Một đối tượng được phân lớp dựa vào K láng giềng của nó. K là số
nguyên dương được xác định trước khi thực hiện thuật toán. Người ta thường
dùng khoảng cách Euclidean để tính khoảng cách giữa các đối tượng.
Thuật toán
1. Xác định giá trị tham số K (số láng giềng gần nhất)
2. Tính khoảng cách giữa đối tượng cần phân lớp (Query Point) với tất cả

các đối tượng trong training data (thường sử dụng khoảng cách
Euclidean)
3. Sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gần
nhất với Query Point
4. Lấy tất cả các lớp của K láng giềng gần nhất đã xác định
5. Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho
Query Point
Ví dụ minh họa
Trong hình dưới đây, training Data được mô tả bởi dấu (+) và dấu (-), đối
tượng cần được xác định lớp cho nó (Query point) là hình tròn đỏ. Nhiệm vụ
của chúng ta là ước lượng (hay dự đoán) lớp của Query point dựa vào việc
lựa chọn số láng giềng gần nhất với nó. Nói cách khác chúng ta muốn biết liệu
Query Point sẽ được phân vào lớp (+) hay lớp (-).
HVTH: Nguyễn Thị Kim Phượng Trang 11
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Ta thấy rằng:
1- Nearest neighbor : Kết quả là + (Query Point được xếp vào lớp dấu +)
2- Nearest neighbors : không xác định lớp cho Query Point vì số láng giềng
gần nhất với nó là 2 trong đó 1 là lớp + và 1 là lớp – (không có lớp nào có số
đối tượng nhiều hơn lớp kia)
5- Nearest neighbors : Kết quả là – (Query Point được xếp vào lớp dấu – vì
trong 5 láng giềng gần nhất với nó thì có 3 đối tượng thuộc lớp – nhiều hơn
lớp + chỉ có 2 đối tượng).
• Thuật toán Naive Bayesian
Tư tưởng thuật toán
Định lý Bayes
Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi
biết sự kiện liên quan B đã xảy ra. Xác suất này được ký hiệu là P(A\B), và
đọc là "xác suất của A nếu có B". Đại lượng này được gọi xác suất có điều
kiện hay xác suất hậu nghiệm vì nó được rút ra từ giá trị được cho của B hoặc

phụ thuộc vào giá trị đó.
Theo định lý Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu tố:
HVTH: Nguyễn Thị Kim Phượng Trang 12
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
• Xác suất xảy ra A của riêng nó, không quan tâm đến B. Kí hiệu là P(A)
và đọc là xác suất của A. Đây được gọi là xác suất biên duyên hay xác
suất tiên nghiệm, nó là "tiên nghiệm" theo nghĩa rằng nó không quan
tâm đến bất kỳ thông tin nào về B.
• Xác suất xảy ra B của riêng nó, không quan tâm đến A. Kí hiệu là P(B)
và đọc là "xác suất của B". Đại lượng này còn gọi là hằng số chuẩn hóa
(normalising constant), vì nó luôn giống nhau, không phụ thuộc vào sự
kiện A đang muốn biết.
• Xác suất xảy ra B khi biết A xảy ra. Kí hiệu là P(B|A) và đọc là "xác suất
của B nếu có A". Đại lượng này gọi là khả năng (likelihood) xảy ra B khi
biết A đã xảy ra. Chú ý không nhầm lẫn giữa khả năng xảy ra A khi biết
B và xác suất xảy ra A khi biết B.
Khi biết ba đại lượng này, xác suất của A khi biết B cho bởi công thức:
Nội dung thuật toán Naive Bayesian
1. Mỗi mẫu dữ liệu được đại diện bởi một vector đặc trưng n-chiều,
X=(x1,x2, ,xn), mô tả n phép đo có được trên mẫu từ n thuộc tính tương ứng
A1, A2, , An.
2. Giả sử rằng có m lớp C1,C2, Cm. Cho trước một mẫu dữ liệu chưa biết
nhãn lớp X, classifier sẽ dự đoán X thuộc về lớp có xác suất hậu nghiệm
cao nhất, với điều kiện trên X. Classifier Bayesian ngây thơ ấn định một mẫu
không biết X vào một lớp Ci khi và chỉ khi:
P(Ci|X) > P(Cj|X) với 1≤ j ≤ m, j ≠ i
Do vậy cần tìm P(Ci|X) lớn nhất. Theo định lý Bayes (Phương trình 2.4)
3. P(X) không đổi với mọi lớp, P(Ci)=si/s (si là số lượng các mẫu huấn
luyện của lớp Ci và s là tổng số các mẫu huấn luyện), P(X|Ci)P(Ci) cần được
cực đại.

HVTH: Nguyễn Thị Kim Phượng Trang 13
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
4. Cho trước các tập dữ liệu với nhiều thuộc tính, việc tính P(X|Ci) sẽ rất tốn
kém. Để giảm tính toán khi đánh giá P(X|Ci), giả định ngây thơ của độc lập có
điều kiện lớp được thiết lập. Điều này làm cho giá trị của các thuộc tính là
độc lập có điều kiện với nhau, cho trước nhãn lớp của mẫu, tức là không có
mối quan hệ độc lập giữa các thuộc tính. Vì thế, P(x1|Ci), P(x2|Ci), , P(xn|Ci)
được đánh giá từ các mẫu huấn luyện với:
(a) Nếu Ak là xác thực thì P(xk|Ci)=sik/si với sik là số lượng các mẫu huấn
luyện của lớp Ci có giá trị xk tại Ak và si là số lượng các mẫu huấn luyện
thuộc về Ci.
(b) Nếu Ak là giá trị liên tục thì thuộc tính được giả định có phân phối
Gaussian. Bởi vậy, với g(xk,µCi,σCi) là hàm mật độ (thông thường) Gaussian
của thuộc tính Ak,với µCi,σCi đại diện cho các giá trị trung bình và độ lệch
chuẩn của thuộc tính Ak đối với các mẫu huấn luyện của lớp Ci.
5. Để phân loại một mẫu chưa biết X, với P(X|Ci)P(Ci) được đánh giá cho lớp
Ci. Mẫu X được ấn định vào lớp Ci khi và chỉ khi:
P(X|Ci)P(Ci) > P(X|Cj)P(Cj) với 1≤ j ≤ m, j ≠ i
Hay nói cách khác, nó được ấn định tới lớp Ci mà tại đó P(X|Ci)P(Ci) cực đại.
2. Quá trình phát hiện tri thức trong CSDL
Khám phá tri thức trong CSDL (KDD) là lĩnh vực liên quan đến các
ngành như: thống kê, học máy, CSDL, thuật toán, trực quan hoá dữ liệu, tính
toán song song và hiệu năng cao,…
Mục đích của quá trình phát hiện tri thức là rút ra tri thức từ dữ liệu
trong CSDL lớn. Quá trình KDD là quá trình gồm nhiều giai đoạn và lặp lại, mà
trong đó sự lặp lại có thể xuất hiện ở bất cứ
bước nào.
Quá trình đó có thể được mô tả theo hình
sau:
HVTH: Nguyễn Thị Kim Phượng Trang 14

Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Bước thứ nhất: Hình thành, xác định và định nghĩa bài toán - Tìm
hiểu lĩnh vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần
phải hoàn thành. Bước này sẽ quyết định cho việc rút ra được các tri thức hữu
ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục
đích ứng dụng và bản chất của dữ liệu.
Bước thứ hai: Thu thập và tiền xử lý dữ liệu - Thu thập và xử lý thô,
còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu (làm sạch dữ liệu), xử lý
việc thiếu dữ liệu (làm giàu dữ liệu), biến đổi dữ liệu và rút gọn dữ liệu nếu
cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trình
phát hiện tri thức. Do dữ liệu được lấy từ nhiều nguồn khác nhau, không đồng
nhất, … có thể gây ra các nhầm lẫn. Sau bước này, dữ liệu sẽ nhất quán, đầy
đủ, được rút gọn và rời rạc hoá.
Bước thứ ba: Khai phá dữ liệu, rút ra các tri thức - Khai phá dữ liệu,
hay nói cách khác là trích ra các mẫu hoặc/và các mô hình ẩn dưới các dữ
liệu. Giai đoạn này rất quan trọng, bao gồm các công đoạn như: chức năng,
nhiệm vụ và mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào?
Thông thường, các bài toán khai phá dữ liệu bao gồm: các bài toán mang tính
mô tả - đưa ra tính chất chung nhất của dữ liệu, các bài toán dự báo - bao
gồm cả việc phát hiện các suy diễn dựa trên dữ liệu hiện có. Tùy theo bài toán
xác định được mà ta lựa chọn các phương pháp khai phá dữ liệu cho phù
hợp.
Bước thứ tư: Sử dụng các tri thức phát hiện được - Hiểu tri thức đã
tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán. Các bước trên có thể
HVTH: Nguyễn Thị Kim Phượng Trang 15
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất
cả các lần thực hiện. Các kết quả của quá trình phát hiện tri thức có thể được
đưa và ứng dụng trong các lĩnh vực khác nhau. Do các kết quả có thể là các
dự đoán hoặc các mô tả nên chúng có thể được đưa vào các hệ thống hỗ trợ

ra quyết định nhằm tự động hoá quá trình này.
Tóm lại: KDD là một quá trình kết xuất ra tri thức từ kho dữ liệu mà
trong đó khai phá dữ liệu là công đoạn quan trọng nhất.
3. Các kỹ thuật khai phá dữ liệu
3.1 Các kỹ thuật tiếp cận trong Data mining
Căn cứ vào lớp các bài toán cần giải quyết, khai phá dữ liệu có các kỹ
thuật áp dụng sau:
Phân lớp và dự đoán: xếp một đối tượng vào một trong những lớp đã biết
trước. Ví dụ: phân lớp các dữ liệu của bệnh nhân trong hồ sơ bệnh án. Hướng
tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết
định, mạng nơ ron nhân tạo.
Luật kết hợp: Phương pháp này nhằm phát hiện ra các luật kết hợp giữa
các thành phần dữ liệu trong CSDL. Mẫu đầu ra của giải thuật khai phá dữ
liệu là tập luật kết hợp tìm được. Có thể lấy một ví dụ đơn giản về luật kết hợp
như sau: phân tích CSDL bán hàng nhận được thông tin về những khách
hàng mua máy tính cũng có khuynh hướng mua phần mềm quản lý tài chính
trong cùng lần mua được miêu tả trong luật kết hợp sau:
“Mua máy tính → Mua phần mềm quản lý tài chính”
[Độ hỗ trợ: 40%, độ tin cậy: 70%].
Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật. Chúng
tương ứng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá. Độ
hỗ trợ 40% có nghĩa là: 40% của tất cả các tác vụ đã phân tích chỉ ra rằng
máy tính và phần mềm quản lý tài chính là đã được mua cùng nhau. Còn độ
tin cậy 70% có nghĩa là 70% các khách hàng mua máy tính cũng mua phân
mềm quản lý tài chính.
HVTH: Nguyễn Thị Kim Phượng Trang 16
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Phân tích chuỗi theo thời gian: Tượng tự như khai phá luật kết hợp
nhưng có thêm tính thứ tự và tính thời gian. Hướng tiếp cận này được ứng
dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự

báo cao.
Phân cụm: xếp các đối tượng theo từng cụm dữ liệu tự nhiên.
Mô tả khái niệm: thiên về mô tả, tổng hợp và tóm tắt khái niệm. Ví dụ:
tóm tắt văn bản.
3.2 Dạng dữ liệu có thể khai phá
Do Data Mining được ứng dụng rộng rãi nên nó có thể làm việc với rất
nhiều kiểu dữ liệu khác nhau. Sau đây là một số dạng dữ liệu điển hình: CSDL
quan hệ, CSDL đa chiều (multidimentional structures, data warehouses),
CSDL dạng giao dịch, CSDL quan hệ hướng đối tượng, dữ liệu không gian và
thời gian, dữ liệu chuỗi thời gian, CSDL đa phương tiện, dữ liệu Text và Web
3.3 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu là một lĩnh vực được quan tâm và ứng dụng rộng rãi. Một
số ứng dụng điển hình trong khai phá dữ liệu có thể liệt kê: (i) phân tích dữ
liệu và hỗ trợ ra quyết định; (ii) điều trị y học; (iii) phát hiện văn bản; (iv) tin -
sinh học; (v) tài chính và thị trường chứng khoán; (vi) bảo hiểm
3.4 Khai phá luật kết hợp và ứng dụng
Luật kết hợp là một biểu thức có dạng:
YX

, trong đó
X

Y
là tập các
trường gọi là item. Ý nghĩa của các luật kết hợp khá dễ nhận thấy: Cho trước
một cơ sở dữ liệu có
D
là tập các giao tác - trong đó mỗi giao tác
DT


là tập
các item - khi đó
YX

diễn đạt ý nghĩa rằng bất cứ khi nào giao tác
T

chứa
X
thì chắc chắn
T
có chứa
Y
. Độ tin cậy của luật (rule confidence) có
thể được hiểu như xác suất điều kiện
)|( TXTYp
⊆⊆
. Ý tưởng của việc khai
thác các luật kết hợp có nguồn gốc từ việc phân tích dữ liệu mua hàng của
khách và nhận ra rằng “Một khách hàng mua mặt hàng X1 và X2 thì sẽ mua
mặt hàng Y với xác suất là c%”.
HVTH: Nguyễn Thị Kim Phượng Trang 17
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Ứng dụng trực tiếp của các luật này trong các bài toán kinh doanh làm cho
luật kết hợp trở thành một phương pháp khai thác phổ biến. Hơn nữa, luật kết
hợp không chỉ bị giới hạn trong phân tích sự phụ thuộc lẫn nhau trong phạm vi
các ứng dụng bán lẻ mà chúng còn được áp dụng thành công trong rất nhiều
bài toán kinh doanh. Như vậy, khai phá luật kết hợp là một phương pháp xử lý
thông tin quan trọng và phổ biến, nó nhằm khám phá mối liên hệ giữa các
mẫu dữ liệu.

II. LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU
1. Khai phá luật kết hợp
Được giới thiệu từ năm 1993, bài toán khai thác luật kết hợp nhận được rất
nhiều sự quan tâm của nhiều nhà khoa học. Ngày nay việc khai thác các luật
như thế vẫn là một trong những phương pháp khai thác mẫu phổ biến nhất
trong việc khám phá tri thức và khai thác dữ liệu.
Mục đích chính của khai phá dữ liệu là các tri thức được kết xuất ra sẽ
được sử dụng trong dự báo thông tin trợ giúp trong sản xuất kinh doanh và
nghiên cứu khoa học. Trong hoạt động sản xuất kinh doanh, ví dụ kinh doanh
các mặt hàng tại siêu thị, các nhà quản lý rất thích có được các thông tin
mang tính thống kê như: “90% phụ nữ có xe máy màu đỏ và đeo đồng hồ
Thuỵ Sỹ thì dùng nước hoa hiệu Chanel” hoặc “70% khách hàng là công
nhân khi mua TV thường mua loại TV 21 inches”. Những thông tin như vậy
rất hữu ích trong việc định hướng kinh doanh.
Vậy vấn đề đặt ra là liệu có tìm được các luật như vậy bằng các công
cụ khai phá dữ liệu hay không? Câu trả lời là hoàn toàn có thể. Đó chính
là nhiệm vụ khai phá luật kết hợp.
Giả sử chúng ta có một CSDL D. Luật kết hợp cho biết phạm vi mà trong
đó sự xuất hiện của tập các mục S nào đó trong các bản ghi của D sẽ kéo
theo sự xuất hiện của một tập những mục U cũng trong những bản ghi đó. Mỗi
luật kết hợp được đặc trưng bởi một cặp tỉ lệ. Mỗi tỉ lệ hỗ trợ được biểu diễn
bằng tỉ lệ % những bản ghi trong D chứa cả S và U.
HVTH: Nguyễn Thị Kim Phượng Trang 18
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Vấn đề khám phá luật kết hợp được phát biểu như sau: Cho trước tỉ lệ hỗ
trợ θ và độ tin cậy β. Đánh số tất cả các luật trong D có các giá trị tỉ lệ hỗ trợ
và tin cậy lớn hơn θ và β tương ứng.
Giả thiết D là CSDL giao dịch và với θ = 40%, β = 90%. Vấn đề phát hiện
luật kết hợp được thực hiện như sau:
Liệt kê, đếm tất cả những qui luật chỉ ra sự xuất hiện một số các mục sẽ

kéo theo một số mục khác. Chỉ xét những qui luật mà tỉ lệ hỗ trợ lớn hơn 40%
và độ tin cậy lớn hơn 90%.
Hãy tưởng tượng, một công ty bán hàng qua mạng Internet. Các khách
hàng được yêu cầu điền vào các mẫu bán hàng để công ty có được một
CSDL về các yêu cầu của khách hàng. Giả sử công ty quan tâm đến mối quan
hệ "tuổi, giới tính, nghề nghiệp và sản phẩm". Khi đó có thể có rất nhiều
câu hỏi tương ứng với luật trên. Ví dụ trong lứa tuổi nào thì những khách
hàng nữ là giới nhân viên văn phòng/công sở đặt mua mặt hàng gì đó, ví
dụ mỹ phẩm chẳng hạn là nhiều nhất, thoả mãn một ngưỡng nào đó?
2. Lý thuyết về luật kết hợp
2.1 Khái niệm
Cho một tập I = {I1, I2, , Im} các tập m mục, một giao dịch T được định
nghĩa như một tập con của các khoản mục trong I (T⊆I).
Tương tự như khái niệm tập hợp, các giao dịch không được trùng lặp,
nhưng có thể nới rộng tính chất này của tập hợp và trong các thuật toán sau
này, người ta đều giả thiết rằng các khoản mục trong một giao dịch và trong
tất cả các tập mục khác, có thể coi chúng đã được sắp xếp theo thứ tự từ điển
của các mục.
Gọi D là CSDL của n giao dịch và mỗi giao dịch được đánh nhãn với một
định danh duy nhất. Nói rằng, một giao dịch T ∈ D hỗ trợ một tập X ⊆ I nếu nó
chứa tất cả các item của X.
Điều này nghĩa là X ⊆ T, trong một số trường hợp người ta dùng ký hiệu
T(X) để chỉ tập các giao dịch hỗ trợ cho X. Kí hiệu support(X) (hoặc sup(X),
HVTH: Nguyễn Thị Kim Phượng Trang 19
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
s(X)) là tỷ lệ phần trăm của các giao dịch hỗ trợ X trên tổng các giao dịch
trong D, nghĩa là:
sup(X) =
{ }
D

TXDT ⊆∈
(2.1)
Độ hỗ trợ tối thiểu minsup là một giá trị cho trước bởi người sử dụng. Nếu
tập mục X có sup(X) ≥ minsup thì ta nói X là một tập các mục phổ biến. Một
tập phổ biến được sử dụng như một tập đáng quan tâm trong các thuật toán,
ngược lại, những tập không phải tập phổ biến là những tập không đáng quan
tâm. Các phần sau sẽ sử dụng những cụm từ khác như “X có độ hỗ trợ tối
thiểu”, hay “X không có độ hỗ trợ tối thiểu” cũng để nói lên rằng X thỏa mãn
hay không thỏa mãn support(X) ≥ minsup.
→Một khoản mục X được gọi là k-itemset nếu lực lượng của X bằng k, tức

kX
=
.
Một luật kết hợp có dạng R: X => Y, trong đó X, Y là tập các mục, X, Y ⊆ I
và X ∩Y = ∅. X được gọi là tiên đề và Y được gọi là hệ quả của luật.
Luật X => Y tồn tại một độ tin cậy c. Độ tin cậy c được định nghĩa là khả
năng giao dịch T hỗ trợ X thì cũng hỗ trợ Y. Ta có công thức tính độ tin cậy c
như sau:
conf(X =>Y) = p(Y ⊆ I | X ⊆ I ) =
)sup(
)sup(
)(
)TX(
X
YX
TXp
TYp ∪
=


⊆∧⊆
(2.2)
Tuy nhiên, không phải bất cứ luật kết hợp nào có mặt trong tập các luật có
thể được sinh ra cũng đều có ý nghĩa trên thực tế. Mà các luật đều phải thoả
mãn một ngưỡng hỗ trợ và tin cậy cụ thể. Thực vậy, cho một tập các giao dịch
D, bài toán phát hiện luật kết hợp là sinh ra tất cả các luật kết hợp mà có độ
tin cậy conf lớn hơn độ tin cậy tối thiểu minconf và độ hỗ trợ sup lớn hơn độ
hỗ trợ tối thiểu minsup tương ứng do người dùng xác định. Khai phá luật kết
hợp được phân thành hai bài toán con:
HVTH: Nguyễn Thị Kim Phượng Trang 20
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Bài toán 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ tối
thiểu do người dùng xác định. Các tập mục thoả mãn độ hỗ trợ tối thiểu được
gọi là các tập mục phổ biến.
Bài toán 2: Dùng các tập mục phổ biến để sinh ra các luật mong muốn. Ý
tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng ta có
thể xác định luật nếu AB => CD giữ lại với tỷ lệ độ tin cậy:
)sup(
)sup(
AB
ABCD
conf =
(2.3)
Nếu conf ≥ minconf thì luật được giữ lại (luật này sẽ thoả mãn độ hỗ trợ tối
thiểu vì ABCD là phổ biến).
2.2 Một số tính chất liên quan đến các hạng mục phổ biến:
2.2.1. Với tập mục phổ biến, có 3 tính chất sau:
Tính chất 1 (Độ hỗ trợ của tập con):
Với A và B là tập các mục, nếu A ⊆ B thì sup(A) ≥ sup(B)
Điều này là rõ ràng vì tất cả các giao tác của D hỗ trợ B thì cũng hỗ trợ A.

Tính chất 2:
Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến.
Nếu một mục trong B không có độ hỗ trợ tối thiểu trên D nghĩa là A ⊆ B và
sup(A)< minsup thì B sẽ không phải là một tập phổ biến vì support(B) ≤
support(A) < minsup (theo tính chất 1)
Tính chất 3: Các tập con của tập phổ biến cũng là tập phổ biến
Nếu mục B là mục phổ biến trên D, nghĩa là support(B) ≥ minsup thì mọi
tập con A của B là tập phổ biến trên D vì support(A) ≥ support(B) > minsup.
2.2.2 Với luật kết hợp, có 4 tính chất sau:
Tính chất 1: (Không hợp các luật kết hợp)
Nếu có X→Z và Y→Z trong D thì không nhất thiết X∪Y→Z là đúng
HVTH: Nguyễn Thị Kim Phượng Trang 21
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Xét trường hợp X ∩Z =∅ và các tác vụ trong D hỗ trợ Z nếu và chỉ nếu
chúng hỗ trợ mỗi X hoặc Y, khi đó luật X∪Y→Z có độ hỗ trợ 0%.
Tương tự : X→Y ∧ X→Z ⇒ X→Y∪Z
Tính chất 2: (Không tách luật)
Nếu X∪Y→Z thì X→Z và Y→Z chưa chắc xảy ra
Ví dụ trường hợp Z có mặt trong một giao tác chỉ khi cả hai X và Y cũng có
mặt, tức là sup(X∪Y)= sup(Z), nếu độ hỗ trợ của X và Y đủ lớn hơn sup(X∪Y),
tức là sup(X) > sup(X∪Y) và sup(Y) > sup(X∪Y) thì hai luật riêng biệt sẽ
không đủ độ tin cậy
Tuy nhiên đảo lại: X→Y∪Z ⇒ X→Y ∧ X→Z
Tính chất 3: (Các luật kết hợp không có tính bắc cầu)
Nếu X→Y và Y→Z, chúng ta không thể suy ra X→Z.
Ví dụ: giả sử T(X) ⊂ T(Y) ⊂ T(Z), ở đó T(X), T(Y), T(Z) tương ứng là các
giao dịch chứa X,Y,Z, và độ tin cậy cực tiểu minconf
conf(X→Y) =conf(Y→Z)=minconf thế thì: conf(X→Y) =minconf2 < minconf
vì minconf < 1, do đó luật X→Z không đủ độ tin cậy
Tính chất 4:

Nếu A→(L - A) không thoả mãn độ tin cậy cực tiểu thì luật
B →(L -B) cũng không thoả mãn, với các tập mục L,A,B và B ⊆ A ⊂ L
Vì supp(B) ≥ sup(A) (theo tính chất 1) và định nghĩa độ tin cậy, chúng ta
nhận được: conf(B →(L-B)) =
)sup(
)sup(
)sup(
)sup(
A
L
B
L

< minconf (2.4)
Cũng như vậy: Nếu có (L-C)→ C thì ta cũng có luật (L – D)→D, với D⊆C và
D≠∅.
Bởi vì D⊆C nên (L - D) ⊇ (L - C), do đó sup(L - D) ≤ sup(L-C)
HVTH: Nguyễn Thị Kim Phượng Trang 22
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc

)sup(
)sup(
)sup(
)sup(
CL
L
DL
L




≥ minconf (2.5)
Các tính chất này sẽ được sử dụng trong thuật toán mô tả trong các chương
sau.
2.3. Một số hướng tiếp cận trong khai phá luật kết hợp
Lĩnh vực khai thác luật kết hợp cho đến nay đã được nghiên cứu và phát
triển theo nhiều hướng khác nhau. Có những đề xuất nhằm cải tiến tốc độ
thuật toán, có những đề xuất nhằm tìm kiếm luật có ý nghĩa hơn… và có một
số hướng chính như sau.
Luật kết hợp nhị phân: là hướng nghiên cứu đầu tiên của luật kết hợp.
Hầu hết các nghiên cứu ở thời kỳ đầu về luật kết hợp đều liên quan đến luật
kết hợp nhị phân. Trong dạng luật kết hợp này, các mục, thuộc tính, chỉ được
quan tâm là có hay không xuất hiện trong giao tác của CSDL chứ không quan
tâm về “mức độ” xuất hiện. Ví dụ: Trong hệ thống tính cước điện thoại thì việc
gọi 10 cuộc điện thoại và một cuộc được xem là giống nhau. Thuật toán tiêu
biểu nhất khai phá dạng luật này là thuật toán Apriori và các biến thể của nó.
Đây là dạng luật đơn giản và các luật khác cũng có thể chuyển về dạng luật
này nhờ một số phương pháp như rời rạc hoá, mờ hoá, … Một ví dụ về dạng
luật này: “gọi liên tỉnh= ‘yes’ AND gọi di động= ‘yes’ => gọi quốc tế= ‘yes’ AND
gọi dịch vụ 108 = ‘yes’, với độ hỗ trợ 20% và độ tin cậy 80%”
Luật kết hợp có thuộc tính số và thuộc tính hạng mục: Các thuộc tính
của các CSDL thực tế có kiểu rất đa dạng, như số nhị phân, giá trị định tính,
định lượng Để phát hiện luật kết hợp với các thuộc tính này, các nhà nghiên
cứu đã đề xuất một số phương pháp rời rạc hoá nhằm chuyển dạng luật này
về dạng nhị phân để có thể áp dụng các thuật toán đã có. Một ví dụ về dạng
luật này “phương thức gọi = ‘Tự động’ AND giờ gọi IN [‘23:00:39 23:00:59’]
AND Thời gian đàm thoại IN [‘200 300’] => gọi liên tỉnh = ‘có’ , với độ hỗ trợ
là 23. 53% , và độ tin cậy là 80%”.
Luật kết hợp tiếp cận theo hướng tập thô: Tìm kiếm luật kết hợp dựa trên lý
thuyết tập thô.

HVTH: Nguyễn Thị Kim Phượng Trang 23
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
Luật kết hợp nhiều mức: Cách tiếp cận theo luật này sẽ tìm kiếm thêm
những luật có dạng “mua máy tính PC => mua hệ điều hành AND mua
phần mềm tiện ích văn phòng, …” thay vì chỉ những luật quá cụ thể như
“mua máy tính IBM PC => mua hệ điều hành Microsoft Windows AND mua
phần mềm tiện ích văn phòng Microsoft Office, …”. Như vậy dạng luật đầu là
dạng luật tổng quát hoá của dạng luật sau và tổng quát theo nhiều mức khác
nhau.
Luật kết hợp mờ: Với những hạn chế còn gặp phải trong quá trình rời rạc
hoá các thuộc tính số (quantitave attributes), các nhà nghiên cứu đã đề xuất
luật kết hợp mờ nhằm khắc phục các hạn chế trên và chuyển luật kết hợp về
một dạng tự nhiên hơn, gần gũi hơn với người sử dụng một ví dụ của dạng
này là: “thuê bao tư nhân = ‘yes’ AND thời gian đàm thoại lớn AND cước nội
tỉnh = ‘yes’ => cước không hợp lệ = ‘yes’, với độ hỗ trợ 40% và độ tin cậy
85%”. Trong luật trên, điều kiện thời gian đàm thoại lớn ở vế trái của luật là
một thuộc tính đã được mờ hoá.
Luật kết hợp với thuộc tính được đánh trọng số: Trong thực tế, các
thuộc tính trong CSDL không phải lúc nào cũng có vai trò như nhau. Có một
số thuộc tính được chú trọng hơn và có mức độ quan trọng cao hơn các thuộc
tính khác. Ví dụ khi khảo sát về doanh thu hàng tháng, thông tin về thời gian
đàm thoại, vùng cước là quan trọng hơn nhiều so với thông tin về phương
thức gọi Trong quá trình tìm kiếm luật, chúng ta sẽ gán thời gian gọi, vùng
cước các trọng số lớn hơn thuộc tính phương thức gọi. Đây là hướng nghiên
cứu rất thú vị và đã được một số nhà nghiên cứu đề xuất cách giải quyết bài
toán này. Với luật kết hợp có thuộc tính được đánh trọng số, chúng ta sẽ khai
thác được những luật “hiếm” (tức là có độ hỗ trợ thấp, nhưng có ý nghĩa đặc
biệt hoặc mang rất nhiều ý nghĩa).
Luật kết hợp song song: Bên cạnh khai thác luật kết hợp tuần tự, các nhà
làm tin học cũng tập trung vào nghiên cứu các thuật giải song song cho quá

trình phát hiện luật kết hợp. Nhu cầu song song hoá và xử lý phân tán là cần
thiết bởi kích thước dữ liệu ngày càng lớn hơn nên đòi hỏi tốc độ xử lý cũng
như dung lượng bộ nhớ của hệ thống phải được đảm bảo. Có rất nhiều thuật
HVTH: Nguyễn Thị Kim Phượng Trang 24
Bài Thu Hoạch “DATA MINING”  GVHD: PGS - TS Đỗ Phúc
toán song song khác nhau đã đề xuất để có thể không phụ thuộc vào phần
cứng.
Bên cạnh những nghiên cứu về các biến thể của luật kết hợp, các nhà
nghiên cứu còn chú trọng đề xuất những thuật toán nhằm tăng tốc quá trình
tìm kiếm tập phổ biến từ CSDL.
Ngoài ra, còn có một số hướng nghiên cứu khác về khai thác luật kết hợp
như: khai thác luật kết hợp trực tuyến, khai thác luật kết hợp được kết nối trực
tuyến đến các kho dữ liệu đa chiều thông qua công nghệ OLAP, MOLAP,
ROLAP, ADO.
2.4. Phát hiện luật kết hợp trên hệ thông tin nhị phân
2.4.1. Các định nghĩa về hệ thông tin nhị phân
Hệ thông tin nhị phân
Cho các tập O ={o1, o2, …, on} là một tập hữu hạn gồm n đối tượng,
D = {d1, d2, …, dm} là một tập hữu hạn gồm m chỉ báo,
B = {0, 1}
Hệ thông tin nhị phân được định nghĩa là SB = (O, D, B, χ) trong đó χ là ánh
xạ χ:O x D → B, χ(o,d) = 1 nếu đối tượng o có chỉ báo d và χ(o,d) = 0 nếu
ngược lại.
Các ánh xạ thông tin nhị phân
Cho hệ thông tin nhị phân SB = (O, D, B, χ). Cho P(O) là các tập con của O,
P(D) là các tập con của D. Các ánh xạ thông tin nhị phân ρB và λB được định
nghĩa như sau:
ρB: P(D) → P(O) với ý nghĩa: cho S ⊂ D, ρB(S) = {o ∈ O| ∀ d ∈ S, χ(o, d) =
1}
λB: P(O) → P(D) với ý nhĩa: cho X ⊂ O, λB(X) = {d ∈ D| ∀ o ∈ X, χ(o, d) = 1}

Tập chỉ báo phổ biến nhị phân
Cho hệ thông tin nhị phân SB = (O, D, B, χ) và một ngưỡng θ ∈ (0, 1).
HVTH: Nguyễn Thị Kim Phượng Trang 25

×