Tải bản đầy đủ (.pdf) (42 trang)

KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU ĐỀ TÀI LUẬT KẾT HỢP

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.64 MB, 42 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CHƢƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG
________________


BÀI THU HOẠCH MÔN HỌC
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
ĐỀ TÀI: LUẬT KẾT HỢP





Giảng viên hướng dẫn: PGS.TS Đỗ Phúc
Học viên thực hiện: Lƣơng Trí Quân
MSHV: CH1101125











TP. HCM, năm 2012
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu


Lương Trí Quân Trang 2

MỤC LỤC
CHƢƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG 1
MỞ ĐẦU 4
CHƢƠNG 1:TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 5
I. Phát hiện tri thức và khai phá dữ liệu 5
II. Một số quan niệm về khai phá dữ liệu 6
III. Nhiệm vụ của khai phá dữ liệu 7
IV. Triển khai việc khai phá dữ liệu 8
V. Quá trình phát hiện tri thức từ cơ sở dữ liệu 9
VI. Kiến trúc của hệ thống khai phá dữ liệu 12
VII. Các kỹ thuật khai phá dữ liệu 13
1. Phân cụm dữ liệu 14
2. Phân lớp dữ liệu 14
3. Phƣơng pháp hồi quy 15
4. Khai phá luật kết hợp 15
VIII. Một số ứng dụng khai phá dữ liệu 16
IX. Những khó khăn trong khai phá dữ liệu 17
CHƢƠNG 2: LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU 20
I. Xem xét bài toán 20
II. Luật kết hợp 20
1. Độ hỗ trợ 21
2. Độ tin cậy 22
3. Tập hợp 23
III. Một số hƣớng tiếp cận trong khai phá luật kết hợp 26
CHƢƠNG 3: MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP 28
I. Thuật toán AIS 28
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu


Lương Trí Quân Trang 3

II. Thuật toán SETM 29
III. Thuật toán Apriori 30
IV. Thuật toán Apriori-TID 38
V. Thuật toán Apriori-Hybrid 39
VI. Thuật toán PARTITION [Savasere 95] 40
CÀI ĐẶT CHƢƠNG TRÌNH TÌM LUẬT KẾT HỢP THEO THUẬT TOÁN APRIORI 41


Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 4

MỞ ĐẦU

Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin đã làm cho
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
nhanh chóng. Bên cạnh đó, việc tin học hóa một cách ồ ạt và nhanh chóng cá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 ra cho chúng ta một
lượng dữ liệu cần lưu trữ khổng lồ. Hàng triệu cơ sở dữ liệu đã được sử dụng trong các
hoạt động sản xuất, kinh doanh, quản lý…, trong đó có nhiều cơ sở dữ liệu cực lớn tính
bằng đơn vị Gigabyte, Terabyte.
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ồ kia thành các tri thức có ích. Từ đó, các kỹ
thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền CNTT thế giới hiện nay
nói chung và Việt Nam nói riêng. Khai phá dữ liệu đang được áp dụng một cách rộng rãi
trong nhiều lĩnh vực kinh doanh và đời sống khác nhau: marketing, tài chính, ngân hàng,
bảo hiểm, khoa học, y tế, an ninh, internet… Rất nhiều tổ chức và công ty lớn trên thế
giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh của

mình và thu được những lợi ích to lớn.
Mục đích đề tài là tìm hiểu về các kỹ thuật khai phá dữ liệu, các vấn đề liên quan đến khai
phá luật kết hợp nhằm phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu đồng
thời viết ứng dụng minh họa tìm luật kết hợp.
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 5

CHƢƠNG 1:TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI
PHÁ DỮ LIỆU

I. Phát hiện tri thức và khai phá dữ liệu

Trong thời đại bùng nổ công nghệ thông tin, các công nghệ lưu trữ dữ liệu ngày càng
phát triển tạo điều kiện cho các đơn vị thu thập dữ liệu tốt hơn. Đặc biệt trong lĩnh vực
kinh doanh, các doanh nghiệp đã nhận thức được tầm quan trọng của việc nắm bắt và
xử lý thông tin, nhằm giúp các chủ doanh nghiệp trong việc vạch ra các chiến lược
kinh doanh kịp thời mang lại những lợi nhuận to lớn cho doanh nghiệp của mình. Tất cả lí
do đó khiến cho các cơ quan, đơn vị và các doanh nghiệp đã tạo ra một lượng dữ liệu
khổng lồ.
Khi lưu trữ các dữ liệu khổng lồ như vậy thì chúng ta thấy rằng chắc chắn chúng phải
chứa những giá trị nhất định nào đó. Tuy nhiên, theo thống kê thì chỉ có một lượng nhỏ
của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ
không biết sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ vẫn tiếp tục thu thập rất
tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này có lúc cần
đến nó. Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin
với tốc độ nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính
chất định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có. Với những
lý do như vậy, các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày
càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là

Kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery and Data
Mining).
Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số và các ký hiệu,
hoặc các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới
một dạng nhất định. Chúng ta sử dụng các bit để đo lường các thông tin và xem nó như là
các dữ liệu đã được lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu để đặc trưng một
cách cơ bản cho dữ liệu. Chúng ta có thể xem tri thức như là các thông tin tích hợp, bao
gồm các sự kiện và các mối quan hệ giữa chúng. Các mối quan hệ này có thể được hiểu
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 6

ra, có thể được phát hiện, hoặc có thể được học. Nói cách khác, tri thức có thể được coi là
dữ liệu có độ trừu tượng và tổ chức cao.
Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu hoặc các
mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có thể hiểu được.
Còn khai thác dữ liệu là một bước trong qui trình phát hiện tri thức gồm có các thuật
toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận
được để tìm ra các mẫu hoặc các mô hình trong dữ liệu. Nói một cách khác, mục đích của
phát hiện tri thức và khai phá dữ liệu chính là tìm ra các mẫu và/hoặc các mô hình đang
tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng “núi” dữ liệu.
Nhiều người coi khai phá dữ liệu và khám phá tri thức trong cơ sở dữ liệu 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
phát hiện tri thức trong cơ sở dữ liệu.
II. Một số quan niệm về khai phá dữ liệu

Khai phá dữ liệu là tập hợp các thuật toán nhằm chiết xuất những thông tin có
ích từ kho dữ liệu khổng lồ.
Khai phá dữ liệu được định nghĩa như một quá trình phát hiện mẫu trong dữ
liệu. Quá trình này có thể là tự động hay bán tự động, song phần nhiều là bán

tự động. Các mẫu được phát hiện thường hữu ích theo nghĩa: các mẫu mang lại
cho người sử dụng một lợi thế nào đó, thường là lợi thế về kinh tế.
Khai phá dữ liệu giống như quá trình tìm ra và mô tả mẫu dữ liệu. Dữ liệu
như là một tập hợp của các vật hay sự kiện, còn đầu ra của quá trình khai phá
dữ liệu như là những dự báo của các vật hay sự kiện mới.
Khai phá dữ liệu được áp dụng trong các cơ sở dữ liệu quan hệ, giao dịch, cơ
sở dữ liệu không gian, cũng như các kho dữ liệu phi cấu trúc, mà điển hình là
World Wide Web.
Khám phá tri thức là quá trình nhận biết các mẫu hoặc các mô hình trong dữ
liệu với các tính chất: Đúng đắn, mới, khả ích và có thể hiểu được. Khai phá dữ
liệu là một bước trong quá trình khám phá tri thức bao gồm các thuật toán khai
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 7

phá dữ liệu chuyên dùng dưới một số quy định về hiệu quả tính toán chấp nhận
được để tìm ra các mẫu và các mô hình trong dữ liệu.
Tóm lại, mục đích của khám phá tri thức và khai phá dữ liệu là tìm ra các mẫu hoặc
mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị khuất bởi số lượng dữ liệu
qúa khổng lồ.
III. Nhiệm vụ của khai phá dữ liệu
Các bài toán liên quan đến khai phá dữ liệu về bản chất là các bài tothống kê. Điểm
khác biệt giữa các kỹ thuật khai phá dữ liệu và các công phục vụ tính toán thống kê mà
chúng ta đã biết là ở khối lượng cần tính toán.Một khi dữ liệu đã trở nên khổng lồ thì
những khâu như: thu thập dữ liệu, tiền xử lý và xử lý dữ liệu đều đòi hỏi phải được tự
động hóa. Tuy nhiên ở cô đoạn cuối cùng, việc phân tích kết quả sau khi đã khai phá dữ
liệu vẫn luôn công việc của con người.
Do là một lĩnh vực đa ngành, khai phá dữ liệu thu hút các lĩnh vực khoa học khác như
trí tuệ nhân tạo, cơ sở dữ liệu, hiển thị dữ liệu, marketing, toán học, vận trù học, tin sinh
học, nhận dạng mẫu, tính toán thống kê …

Điều mà khai phá dữ liệu có thể làm rất tốt là phát hiện ra những giả thuyết mạnh
trước khi sử dụng những công cụ tính toán thống kê. Mô hình dự báo sử dụng kỹ thuật
phân cụm (Clustering) để chia nhóm các sự vật, sự kiện sau đó rút ra các luật nhằm tìm ra
đặc trưng cho mỗi nhóm và cuối cùng đề nghị một mô hình. Ví dụ, những bạn đọc đăng
ký dài hạn của một tạp chí có thể phân nhóm dựa theo nhiều tiêu chí khác nhau (lứa tuổi,
giới tính, thu nhập…), sau đó tạp chí căn cứ vào đặc trưng riêng của từng nhóm để đề
ra mức phí thu trong năm sao cho phù hợp nhất.
Từ đó chúng ta thấy, những nhiệm vụ cơ bản nhất của khai phá dữ liệu là:
Phân cụm, phân loại, phân nhóm, phân lớp: Có nhiệm vụ là trả lời câu hỏi: Một
dữ liệu mới thu thập sẽ thuộc về nhóm nào? Quá trình này thường được thực hiện
một cách tự động.
Khai phá luật kết hợp: Có nhiệm vụ là phát hiện ra những mối quan hệ giống
nhâu của các bản ghi giao dịch. Luật kết hợp X=>Y có dạng tổng quát là: Nếu một
giao dịch đã sở hữu các tính chất X thì đồng thời nó cũng sở hữu các tính chất
Y.Ở một mức độ nào đó, khai phá luật kết hợp được hiểu theo nghĩa: Biết trước
các tính chât X, vậy các tính chất Y là những tính chất nào?
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 8

Lập mô hình dự báo: Bao gồm hai nhiệm vụ hoặc là phân nhóm dư liệu vào một
hay nhiều lớp dữ liệu đã xác định từ trước, hoặc là sử dụng các trường đã cho
trong một cơ sở dữ liệu để dự báo sự xuất hiện (hoặc không xuất hiện) của các
trường hợp khác.
Phân tích đối tƣợng ngoài cuộc: Một cơ sở dữ liệu có thể có thể chứa các đối
tượng không tuân theo mô hình dữ liệu. Các đối tượng dữ liệu như vậy gọi là các
đối tượng ngoài cuộc. Hầu hết các phương pháp khai phá dữ liệu đều coi các đối
tượng ngoài cuộc là nhiễu và loại bỏ chúng. Tuy nhiên trong một số ứng dụng,
chẳng hạn như phát hiện nhiễu thì sự kiện hiếm khi xảy ra lại được chú ý hơn
những gì thường xuyên gặp phải. Sự phân tích dữ liệu ngoài cuộc được coi như là

phai phá các đối tượng ngoài cuộc. Một số phương pháp được ứng dụng để phát
hiện đối tượng ngoài cuộc: Sử dụng các hình thức kiểm tra mang tính thống kê trên
cơ sở một phân phối dữ liệu hay một mô hình xác suất cho dữ liệu, dùng các độ đo
khoảng cách mà theo đó các đối tượng có một khoảng cách đáng kể đến cụm bất
kỳ khác được coi là đối tượng ngoài cuộc, dùng các phương pháp dựa trên độ lệch
để kiểm tra sự khác nhau trong những đặc trưng chính của các nhóm đối tượng.
Phân tích sự tiến hóa: Phân tích sự tiến hóa thực hiện việc mô tả và mô hình hóa
các quy luật hay khuynh hướng của những đối tượng mà ứng xử của chúng thay
đổi theo thời gian. Phân tích sự tiến hóa có thể bao gồm cả đặc trưng hóa, phân
biệt, tìm luật kết hợp, phân lớp hay phân cụm dữ liệu liên quan đến thời gian,
phân tích dữ liệu theo chuỗi thời gian, so sánh mẫu theo chu kỳ và phân tích dữ
liệu dựa trên tính tương tự.
IV. Triển khai việc khai phá dữ liệu

Nhìn chung, việc triển khai quá trình khai phá dữ liệu theo 5 bước:
Bƣớc 1: Xác định rõ mục tiêu thương mại cần khai phá.
Bƣớc 2: Chuẩn bị dữ liệu (Thu thập, tiền xử lý, chuyển đổi khuôn dạng dữ liệu nếu
thấy cần thiết).
Bƣớc 3: Khai phá dữ liệu (Chọn thuật toán thích hợp).
Bƣớc 4: Phân tích kết quả thu được (Xem có gì thú vị không?).
Bƣớc 5: Tiêu hóa các tri thức thu lượm được (Nhằm đề ra kế hoạch khai
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 9

thác các thông tin mới).
V. Quá trình phát hiện tri thức từ cơ sở dữ liệu

Quá trình phát hiện tri thức có thể chia thành các bước như sau:
 Bƣớc 1: Làm sạch dữ liệu (Data cleaning): Loại bỏ dữ liệu nhiễu hoặc dữ liệu

không thích hợp.
 Bƣớc 2: Tích hợp dữ liệu (Data integration): Tích hợp dữ liệu từ các nguồn
khác nhau.
 Bƣớc 3: Chọn dữ liệu (Data Selection): Chọn những dữ liệu liên quan trực tiếp
đến nhiệm vụ.
 Bƣớc 4: Chuyển đổi dữ liệu (Data Transformation): Chuyển dữ liệu về những
dạng phù hợp cho việc khai phá.
 Bƣớc 5: Khai phá dữ liệu (Data mining): Các kỹ thuật được áp dụng để trích
xuất thông tin có ích hoặc các mẫu điển hình trong dữ liệu.
 Bƣớc 6: Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thu
được.
 Bƣớc 7: Trình diễn dữ liệu (Knowledge Presentation): Biểu diễn những tri thức
khai phá được cho người sử dụng.
Quá trình phát hiện tri thức từ cơ sở dữ liệu đƣợc diễn tả qua mô hình sau:

Mô hình trên mô tả 5 giai đoạn trong quá trình khám phá tri thức từ cơ sở dữ liệu. Mặc dù
có 5 giai đoạn như trên xong quá trình khám phá tri thức từ cơ sở dữ liệu là một quá trình
tương tác và lặp di lặp lại theo chu trình liên tục kiểu xoáy trôn ốc, trong đó lần lặp sau
hoàn chỉnh hơn lần lặp trước. Ngoài ra, giai đoạn sau lại dựa trên kết quả thu được của
giai đoạn trước theo kiểu thác nước. Đây là một quá trình biện chứng mang tính chất khoa
học của lĩnh vực phát hiện tri thức và là phương pháp luận trong việc xây dựng các hệ
thống phát hiện tri thức.
1. Giai đoạn xác định vấn đề:
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 10

Đây là một quá trình mang tính định tính với mục đích xác định được lĩnh vực yêu
cầu phát hiện tri thức và xây dựng bài toán tổng kết. Trong thực tế, các cơ sở dữ
liệu được chuyên môn hóa và phân chia theo các lĩnh vực khác nhau như sản

phẩm, kinh doanh, tài chính, … Với mỗi tri thức phát hiện được có thể có giá trị
trong lĩnh vực này nhưng lại không mang nhiều ý nghĩa đối với một lĩnh vực khác.
Vì vậy mà việc xác định lĩnh vực và định nghĩa bài toán giúp định hướng cho giai
đoạn tiếp theo thu thập và tiền xử lý dữ liệu.
2. Giai đoạn thu thập và tiền xử lý dữ liệu:
Các cơ sở dữ liệu thu được thường chứa rất nhiều thuộc tính nhưng lại không đầy
đủ, không thuần nhất, có nhiều lỗi và các giá trị đặc biệt. Vì vậy, giai đoạn thu thập
và tiền xử lý dữ liệu trở nên rất quan trọng trong quá trình phát hiện tri thức từ cơ
sở dữ liệu. Có thể nói rằng giai đoạn này chiếm từ 70% đến 80% giá thành trong
toàn bộ bài toán.
Người ta chia giai đoạn thu thập và tiền xử lý dữ liệu thành các công đoạn như: lựa
chọn dữ liệu, làm sạch, làm giàu, mã hóa dữ liệu. Các công đoạn được thực hiện
theo trình tự đưa ra được một cơ sở dữ liệu thích hợp cho các giai đoạn sau. Tuy
nhiên, tùy từng dữ liệu cụ thể mà quá trình trên được điều chỉnh cho phù hợp vì
người ta đưa ra một phương pháp cho mọi loại dữ liệu.
a. Chọn lọc dữ liệu: Đây là bước chọn lọc các dữ liệu có liên quan trong các
nguồn dữ liệu khác nhau. Các thông tin được chọn lọc sao cho có chứa nhiều
thông tin liên quan tới lĩnh vực cần phát hiện tri thức đã xác định trong giai
đoạn xác định vấn đề.
b. Làm sạch dữ liệu: Dữ liệu thực tế, đặc biệt dữ liệu lấy từ nhiều nguồn khác
nhau thường không đồng nhất. Do đó cần có biện pháp xử lý để đưa về một cơ
sở dữ liệu thống nhất phục vụ cho khai thác. Nhiệm vụ làm sạch dữ liệu
thường bao gồm:
(i) Điều hòa dữ liệu: Công việc này nhằm giảm bớt tính không nhất quán do
dữ liệu lấy từ nhiều nguồn khác nhau. Phương pháp thông thường là khử
các trường hợp trùng lặp dữ liệu và thống nhất các ký hiệu. Chẳng hạn, một
khách hàng có thể có nhiều bản ghi do việc nhập sai tên hoặc do quá trình
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 11


thay đổi một số thông tin cá nhân gây ra và tạo sự lầm tưởng có nhiều
khách hàng khác nhau.
(ii) Xử lý các giá trị khuyết: Tính không đầy đủ của dữ liệu có thể gây ra
hiện tượng dữ liệu chứa các giá trị khuyết. Đây là hiện tượng khá phổ biến.
Thông thường, người ta có thể lựa chọn các phương pháp khác nhau để thực
hiện việc xử lý các giá trị khuyết như: bỏ qua các bộ có giá trị khuyết, điểm
bổ sung bằng tay, dùng một hằng chung để điền vào giá trị khuyết, dùng
giá trị trung bình của mọi bản ghi cùng lớp hoặc dùng các giá trị mà tần suất
xuất hiện lớn.
(iii) Xử lý nhiễu và các ngoại lệ: Thông thường, nhiễu dữ liệu có thể
là nhiễu ngẫu nhiên hoặc các giá trị bất thường. Để làm sạch nhiễu, người ta
có thể sử dụng phương pháp làm trơn nhiễu hoặc dùng các giải thuật phát
hiện ra các ngoại lệ để xử lý.
c. Làm giàu dữ liệu: Việc thu thập dữ liệu đôi khi không đảm bảo tính đầy đủ
của dữ liệu. Một số thông tin quan trọng có thể thiếu hoặc không đầy đủ.
Chẳng hạn, dữ liệu về khách hàng lấy từ một nguồn bên ngoài không có hoặc
không đầy đủ thông tin về thu nhập. Nếu thông tin về thu nhập là quan trọng
trong quá trình khai thác dữ liệu để phân tích hành vi khách hàng thì rõ ràng là
ta không thể chấp nhận đưa các dữ liệu khuyết thiếu vào được.
Quá trình làm giàu bao cũng bao gồm việc tích hợp và chuyển đổi dữ liệu. Các
dữ liệu từ nhiều nguồn khác nhau được tích hợp thành một kho thống nhất. Các
khuôn dạng khác nhau của dữ liệu cũng được quy đổi, tính toán lại để đưa về
một kiểu thống nhất, tiện cho quá trình phân tích. Đôi khi, một số thuộc tính
mới có thể được xây dựng dựa trên các thuộc tính cũ.
d. Mã hóa: Các phương pháp dùng để chọn lọc, làm sạch, làm giàu dữ liệu sẽ
được mã hóa dưới dạng các thủ tục, chương trình hay tiện ích nhằm tự động
hóa việc kết xuất, biến đổi và di chuyển dữ liệu. Các hệ thống con đó có thể
được thực thi định kỳ làm tươi dữ liệu phục vụ cho việc phân tích.
3. Khai thác dữ liệu

Giai đoạn khai thác dữ liệu được bắt đầu sau khi dữ liệu đã được thu thập và tiến
hành xử lý. Trong giai đoạn này, công việc chủ yếu là xác định được bài toán khai
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 12

thác dữ liệu, tiến hành lựa chọn phương pháp khai thác phù hợp với dữ liệu có
được và tách ra các tri thức cần thiết.
Thông thường, các bài toán khai thác dữ liệu bao gồm: các bài toán mang tính chất
mô tả - đưa ra những tính chất chung nhất của các dữ liệu, các bài toán khai thác
dự báo – bao gồm cả việc thực hiện các suy diễn trên dữ liệu. Tùy theo bài toán
xác định được mà ta lựa chọn các phương pháp khai thác dữ liệu cho phù hợp.
4. Minh họa và đánh giá
Các tri thức phát hiện từ cơ sở dữ liệu cần được tổng hợp dưới dạng các báo cáo
phục vụ cho các mục đích hỗ trợ quyết định khác nhau. Do nhiều phương pháp
khai thác có thể được áp dụng nên các kết quả có mức độ tốt/xấu khác nhau. Việc
đánh giá các kết quả thu được là cần thiết, giúp tạo cơ sở cho những quyết định
chiến lược. Thông thường chúng được tổng hợp, so sánh bằng các biểu đồ và được
kiểm nghiệm, tin học hóa. Công việc này thường là của các chuyên gia, các nhà
phân tích và quyết định.
5. Đƣa kết quả vào thực tiễn
Các kết quả của quá trình phát hiện tri thức có thể được đưa vào ứng dụng trong
những lĩnh vực khác nhau. Do các kết quả có thể là các dự báo 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 hóa
quá trình này. Quá trình phát hiện tri thức có thể được tiến hành theo các bước
trên.
Ngoài ra trong quá trình khai thác người ta có thể thực hiện các cải tiến, nâng cấp
sao cho phù hợp.
VI. Kiến trúc của hệ thống khai phá dữ liệu
Như đã trình bày ở trên, khai phá dữ liệu là một giai đoạn trong quá trình phát hiện tri

thức từ số lượng lớn dữ liệu lưu trữ trong các cơ sở dữ liệu,kho dữ liệu hoặc các nơi lưu
trữ khác. Bước này có thể tương tác lẫn nhau giữa người sử dụng hoặc cơ sở tri thức,
những mẫu đáng quan tâm được đưa cho người dùng hoặc lưu trữ như là tri thức mới
trong cơ sở tri thức.
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 13


Kiến trúc của hệ thống khai phá dữ liệu
Kiến trúc của hệ thống khai phá dữ liệu có các thành phần như sau:
 Cơ sở dữ liệu, kho dữ liệu: Đó là một hoặc tuyển tập các cơ sở dữ liệu, kho dữ liệu
… Các kỹ thuật làm sạch dữ liệu, tích hợp, lọc dữ liệu có thể thực hiện trên dữ liệu
 Cơ sở dữ liệu hoặc kho dữ liệu phục vụ: Là kết quả lấy dữ liệu có liên quan trên
cơ sở khai phá dữ liệu của người dùng.
 Cơ sở tri thức: Đó là lĩnh vực tri thức được sử dụng để hướng dẫn việc tìm hoặc
đánh giá các mẫu kết quả thu được
 Mô tả khai phá dữ liệu: Bao gồm tập các module chức năng để thực hiện các nhiệm
vụ mô tả đặc điểm, kết hợp, phân lớp, phân cụm dữ liệu…
 Đánh giá mẫu: Thành phần này sử dụng các độ đo và tương tác với module khai phá
dữ liệu để tập trung vào tìm các mẫu quan tâm.
 Giao diện ngƣời dùng: Đây là module giữa người dùng và hệ thống khai phá dữ
liệu. Cho phép người dùng tương tác với hệ thống trên cơ sở những truy vấn hay tác vụ,
cung cấp thông tin cho việc tìm kiếm.
VII. Các kỹ thuật khai phá dữ liệu

Kĩ thuật khai phá dữ liệu được chia thành hai nhóm chính:
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 14


 Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất hoặc các
đặc tính chung của dữ liệu tring cơ sở dữ liệu hiện có. Các kỹ thuật này gồm có: Phân
cụm (clustering), tóm tắt (summerization), trực quan hóa (visualiztation), phân tích sự
phát triển và độ lệch (evolution and deviation analyst), phân tích luật kết hợp
(association rules) …
 Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đư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. Các kỹ thuật này gồm có: Phân lớp (classification),
hồi quy (regession)… Tuy nhiên, chỉ có một số phương pháp thông dụng nhất là: Phân
cụm dữ liệu, phân lớp dữ liệu, phương pháp hồi quy và khai phá luật kết hợp.
Tuy nhiên, chỉ có một số phương pháp thông dụng và phổ biến nhất là: Phân cụm dữ
liệu, phân lớp dữ liệu, phương pháp hồi quy và khai phá luật kết hợp.
1. Phân cụm dữ liệu

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 lớp 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 có thầy. Không giống
như phân lớp 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 lớp dữ liệu là học bằng ví dụ
(learning by example). Trong phương pháp này bạn không thể biết kết quả các
cụm thu được sẽ thế nào khi bắt đầu quá trình. Vì vậy, thông thường cần có một
chuyên gia về lĩnh vực đó để đánh giá các cụm thu được. Phân cụm dữ liệu được
sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phan đoạn khách hàng,
nhận dạng mẫu, phan loại trang Web… Ngoài ra phân cụm dữ liệu còn có thể được
sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu khác.
2. Phân lớp dữ liệu

Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ

liệu. Quá trình phân lớp dữ liệu thường gồm hai bước: Xây dựng mô hình và sử
dụng mô hình để phân lớp dữ liệu.
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 15

 Bƣớc 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu
sẵn có. Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là
thuộc tính lớp. Các lớp dữ liệu này còn được gọi là lớp dữ liệu huấn luyện
(training data set). Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định
trước khi xây dựng mô hình.
 Bƣớc 2: Sử dụng mô hình để phân lớp 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. Một ví dụ về
việc sử dụng phương pháp phân lớp trong khai phá dữ liệu là ứng dụng phân lớp
các xu hướng trong thị trường tài chính và ứng dụng tự động xác định các đối
tượng đáng quan tâm trong cơ sở dữ liệu ảnh lớn.
3. Phƣơng pháp hồi quy

Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ: Hồi quy dùng để dự đoán
về các giá trị liên tục còn phân lớp dữ liệu chỉ dùng để dự đoán về các giá trị rời
rạc.
Hồi quy là một hàm học ánh xạ mục dữ liệu thành một biến dự đoán có giá trị
thực. Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, chẳng hạn như
khả năng đánh giá tử vong của bệnh nhân khi biết các kết quả xét nghiệm; chẩn
đoán, dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng một hàm chi tiêu quảng
cáo.
4. Khai phá luật kết hợp

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 cơ sở dữ liệu. Mẫu đầu ra của giải thuật khai phá dữ liệu là
luật kết hợp tìm được. Chẳng hạn, phân tích cơ sở dữ liệu bán hàng nhận được
thông tin về những khách hàng mua máy tính 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: “Máy
tính=>Phần mềm quản lý tài chính” (Độ hỗ trợ: 2%, độ tin cậy: 60%).
Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật. Chúng
phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá. Độ hỗ trợ 2% có nghĩa
là 2% của tất cả các vụ đang phân tích chỉ ra rằng máy tính và phần mềm quản
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 16

lý tài chính là đã được mua cùng nhau. Còn độ tin cậy 60% có nghĩa là: 60% các
khách hàng mua máy tính cũng mua phần mềm. Khai phá luật kết hợp được thực
hiện qua hai bước:
 Bƣớc 1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được
xác định qua tính hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu.
 Bƣớc 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật
phải thỏa mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu. Phương pháp này được sử
dụng rất hiệu quả trong các lĩnh vực như maketing có chủ đích, phân tích quyết
định, quản lý kinh doanh, phân tích giá thị trường …
VIII. Một số ứng dụng khai phá dữ liệu

Ở thập kỷ 90 của thế kỷ XX, người ta coi khai phá dữ liệu là quá trình phân tích cơ
sở dữ liệu nhằm phát hiện ra các thông tin mới và giá trị, thường thể hiện dưới dạng
các mối quan hệ chưa biết đến giữa các biến số. Những phát hiện này được sử dụng
nhằm tăng thêm tính hiệu quả của doanh nghiệp trong khi phải cạnh tranh trên thương
trường. Nhờ phân tích các dữ liệu liên quan đến khách hàng, doanh nghiệp có khả
năng dự báo trước một số hành vi ứng xử của khách hàng.
Những năm gần đây, người ta quan niệm khai phá dữ liệu (Đôi khi còn dùng thuật

ngữ khám phá dữ liệu hay phát hiện tri thức) là một quá trình phân tích dữ liệu từ các
viễn cảnh khác nhau và rút ra các thông tin bổ ích – những thông tin có thể dùng để
tăng lợi nhuận, cắt giảm chi phí hoặc cả hai mục đích. Phần mềm khai phá dữ liệu là
một công cụ phân tích dùng để phân tích dữ liệu. Nó cho phép người sử dụng phân
tích dữ liệu theo nhiều góc nhìn khác nhau, phân loại dữ liệu thao những quan điểm
riêng biệt và tổng kết các mối quan hệ đã được bóc tách. Xét về khía cạnh kỹ thuật,
khai phá dữ liệu là một quá trình tìm kiếm các mối tương quan giữa các mẫu ẩn chứa
trong hàng chục trường dữ liệu của một cơ sở dữ liệu quan hệ cỡ lớn.
Hiện nay, kỹ thuật khai phá dữ liệu đang được áp dụng một cách rộng rãi trong rất
nhiều lĩnh vực kinh doanh và đời sống khác nhau như:
 Thƣơng mại: Phân tích dữ liệu bán hàng và thị trường, phân tích đầu tư,
quyết định cho vay, phát hiện gian lận, …
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 17

 Thông tin sản xuất: Điều khiển và lập kế hoạch, hệ thống quản lý, phân tích
kết quả thử nghiệm, …
 Thông tin khoa học: Dự báo thời tiết, CSDL sinh học: Ngân hàng gen, …
khoa học địa lý: dự báo động đất, …
 Trong y tế, marketing, ngân hàng, viễn thông, du lịch, internet…
Thông qua việc khai phá dữ liệu, phát hiện tri thức đã thu được các kết qủa đáng giá.
Điều đó được chứng minh bằng thực tế: Chẩn đoán bệnh trong y tế dựa trên kết quả xét
nghiệm đã giúp cho bảo hiểm y tế phát hiện ra nhiều trường hợp xét nghiệm không hợp
lý, tiết kiệm được nhiều kinh phí mỗi năm; trong dịch vụ viễn thông đã phát hiện ra
những nhóm người thường xuyên gọi cho nhau bằng mobile và thu lợi hàng triệu USD;
IBM Suft-Aid đã áp dụng khai phá dữ liệu vào phân tích các lần đăng nhập Web vào các
trang liên quan đến thị trường để phát hiện sở thích khách hàng, từ đó đánh giá hiệu quả
của việc tiếp thị qua Web và cải thiện hoạt động của các Website; trang Web mua bán qua
mạng Amazon cũng tăng doanh thu nhờ áp dụng khai phá dữ liệu trong việc phân tích sở

thích mua bán của khách hàng.
IX. Những khó khăn trong khai phá dữ liệu
Việc nghiên cứu và ứng dụng kỹ thuật khai phá dữ liệu gặp nhiều khó khăn, nhưng
không phải là không giải quyết được mà chúng cần được tìm hiểu để có thể phát triển tốt
hơn. Những khó khăn phát sinh trong khai phá dữ liệu chính là dữ liệu trong thực tế
thường động, không đầy đủ, lớn và bị nhiễu. Trong trường hợp khác, người ta không
biết cơ sở dữ liệu có chứa thông tin cần thiết cho việc khai thác hay không và làm thế
nào để giải quyết sự dư thừa thông tin không thích hợp này.
 Dữ liệu lớn: Hiện nay các cơ sở dữ liệu với hàng trăm trường và bảng, hàng triệu
bản ghi với kích thước rất lớn, có thể lên đến GB. Các phương pháp giải quyết hiện nay là
đưa ra một ngưỡng cho cơ sở dữ liệu, lấy mẫu, các phương pháp tính xấp xỉ, xử lí song
song.
 Kích thƣớc lớn: Không chỉ có số lượng bản ghi mà số các trường trong cơ sở dữ
liệu cũng nhiều. Vì vậy mà kích thước của bài toán trở nên lớn làm tăng không gian tìm
kiếm. Hơn nữa, nó cũng làm tăng khả năng một thuật toán khai phá dữ liệu có thể tìm
thấy các mẫu giả. Biện pháp khắc phục là làm giảm kích thước tác động của bài toán và
sử dụng các tri thức biết trước để xác định các biến không phù hợp.
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 18

 Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội dung của
chúng thay đổi liên tục. Chẳng hạn như các biến trong cơ sở dữ liệu của ứng dụng đã cho
chũng có thể bị thay đổi, bị xóa hoặc là tăng lên theo thời gian. Dữ liệu có thể thay đổi
theo thời gian và việc khai phá dữ liệu bị ảnh hưởng bởi thời điểm quan sát dữ liệu, do đó
có thể làm cho mẫu khai thác được trước đó mất giá trị. Vấn đề này được giải quyết bằng
giải pháp tăng trưởng để nâng cấp các mẫu và coi những thay đổi như là cơ hội để khai
thác bằng cách sử dụng nó để tìm kiếm các câu bị thay đổi.
 Các trƣờng dữ liệu không phù hợp: Một đặc điểm quan trọng khác là tính
không thích hợp của dữ liệu – nghĩa là mục dữ liệu trở thành không thích hợp với trọng

tâm hiện tại của việc khai thác. Bên cạnh đó, tính ứng dụng của một thuộc tính đối với
một tập con của cơ sở dữ liệu cũng là một vấn đề đôi khi cũng liên quan dến độ phù hợp.
 Các giá trị bị thiếu: Sự có mặt hay vắng mặt của giá trị các thuộc tính dữ liệu
phù hợp có thể ảnh hưởng đến việc khai phá dữ liệu. Trong hệ thống tương tác, sự thiếu
vắng dữ liệu quan tọng có thể dẫn tới yêu cầu cho giá trị của nó hoặc kiểm tra để xác định
giá trị của nó. Hoặc cũng có thể sự vắng mặt của dữ liệu được coi như một điều kiện,
thuộc tính bị mất có thể được xem như một giá trị trung gian và gía trị không biết.
 Các trƣờng dữ liệu bị thiếu: Một quan sát không đầy đủ cơ sở dữ liệu có thể
làm cho dữ liệu có giá trị bị xem như có lỗi. Việc quan sát cơ sở dữ liệu phải phát hiện
được toàn bộ các thuộc tính có thể dùng để thuật toán khai phá dữ liệu có thể áp dụng để
giải quyết bài toán. Giả sử ta có các thuộc tính để phân biệt các tình huống đáng quan
tâm. Nếu chúng không làm được điều đó thì có nghĩa là đã có lỗi trong dữ liệu. Đây cũng
là vấn đề thường xảy ra trong cơ sở dữ liệu kinh doanh. Các thuộc tính quan trọng có thể
sẽ bị thiếu dữ liệu không được chuẩn bị.
 Khả năng biểu đạt mẫu: Trong rất nhiều ứng dụng, điều quan trọng là những
điều khai thác được phải càng dễ hiểu với con người càng tốt. Vì vậy, các giải pháp
thường bao gồm việc diễn tả dưới dạng đồ họa, xây dựng cấu trúc luật với các đồ thị có
hướng, biểu diễn bằng ngôn ngữ tự nhiên và kỹ thuật khác nhằm biểu diễn các tri thức và
dữ liệu.
 Sự tƣơng tác với ngƣời sử dụng các tri thức sẵn có: Rất nhiều công cụ và
phương pháp khai phá dữ liệu không thực sự tương tác với người dùng và không dễ dàng
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 19

kết hợp cùng với các tri thức đã biết trước đó. Việc sử sụng tri thức miền là rất quan trọng
trong khai phá dữ liệu. Đã có nhiều biện pháp nhằm khắc phục vấn đề này như sử dụng
cơ sở dữ liệu suy diễn để phát hiện tri thức, những tri thức này sau đó được sử dụng để
hướng dẫn cho việc tìm kiếm khai phá dữ liệu hoặc sử dụng sự phân bố xác suất dữ liệu
trước đó như một dạng mã hóa tri thức có sẵn.


Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 20


CHƢƠNG 2: LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU


I. Xem xét bài toán

Giả định chúng ta có rất nhiều mặt hàng, ví dụ như “bánh mì”, “sữa”,…(coi là
tính chất hoặc trường). Khách hàng khi đi siêu thị sẽ bỏ vào giỏ mua hàng của họ một
số mặt hàng nào đó, và chúng ta muốn tìm hiểu các khách hàng thường mua các mặt
hàng nào đồng thời, thậm chí chúng ta không cần biết khách hàng cụ thể là ai. Nhà
quản lý dùng những thông tin này để điều chỉnh việc nhập hàng về siêu thị, hay đơn
giản là để bố trí sắp xếp các mặt hàng gần nhau, hoặc bán các mặt hàng đó theo một
gói hàng, giúp cho khách hàng đỡ mất công tìm kiếm.
Bài toán này hoàn toàn có thể áp dụng trong các lĩnh vực khác.
Ví dụ:
- Giỏ hàng = văn bản. Mặt hàng = từ. Khi đó, những từ hay đi cùng nhau sẽ giúp ta
nhanh chóng tìm ra các lối diễn đạt, hay các khái niệm có mặt trong văn bản.
- Giỏ hàng = văn bản. Mặt hàng = câu. Khi đó, những văn bản có nhiều câu giống
nhau giúp phát hiện ra sự đạo văn, hay những “website đúp” (mirror website).
Khai phá luật kết hợp được mô tả như sự tương quan của các sự kiện- những sự
kiện xuất hiện thường xuyên một các đồng thời. Nhiệm vụ chính của khai phá luật kết
hợp là phát hiện ra các tập con cùng xuất hiện trong một khối lượng giao dịch lớn của
một cơ sở dữ liệu cho trước. Nói cách khác, thuật toán khai phá luật kết hợp cho phép
tạo ra các luật mô tả các sự kiện xảy ra đồng thời (một cách thường xuyên) như thế
nào. Các thuật toán này trải qua 2 pha: pha đầu là đi tìm các sự kiện xảy ra thường

xuyên, pha hai là tìm luật.
II. Luật kết hợp
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 21



1. Độ hỗ trợ
a. Định nghĩa 1
Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa các bản ghi T
D có chứa tập X và tổng số bản ghi trong D (hay là phần trăm của các bản
ghi trong D có chứa tập hợp X), ký hiệu là support(X) hay supp(X) (support sẽ
tự sinh ra khi cài thuật toán)

b. Định nghĩa 2

Độ hỗ trợ của một luật kết hợp XY là tỷ lệ giữa số lượng các bản ghi chứa
tập hợp X Y, so với tổng số các bản ghi trong D
Ký hiệu supp(XY)

Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng
số bản ghi chứa X Y. Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật.
Trong một số trường hợp, chúng ta chỉ quan tâm đến những luật có độ hỗ trợ
cao (Ví dụ như luật kết hợp xét trong cửa hàng tạp phẩm). Nhưng cũng có
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 22

trường hợp, mặc dù độ hỗ trợ của luật thấp, ta vẫn cần quan tâm (ví dụ luật kết

hợp liên quan đến nguyên nhân gây ra sự đứt liên lạc ở các tổng đài điện thoại)
2. Độ tin cậy


Định nghĩa 2.4: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các bản
ghi của tập hợp chứa X Y, so với tổng số các bản ghi chứa X. Nói rằng độ tin cậy của
một luật là 90%, có nghĩa là có tới 90% số bản ghi chứa X chứa luôn cả Y. Hay nói theo
ngôn ngữ xác suất là: “ Xác suất có điều kiện để sảy ra sự kiện Y đạt 85%”. Điều kiện ở
đây chính là: “Xảy ra sự kiện X”.
Như vậy, độ tin cậy của luật thể hiện sự tương quan (correlation) gữa X và Y. Độ
tin cậy đo sức nặng của luật, và người ta hầu như chỉ quan tâm đến những luật có độ tin
cậy cao. Một luật kết hợp đi tìm các nguyên nhân dẫn tới hỏng hóc của hệ thống tổng
đài, hay đề cập đến những mặt hàng thường hay được khách hàng mua kèm với mặt
hàng chính mà độ tin cậy thấp sẽ không có ích cho công tác quản lý.
Việc khai thác các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất cảc các luật
có độ hỗ trợ và độ tin cậy do người sử dụng xác định trước. Các ngưỡng của độ hỗ trợ
và độ tin cậy được ký hiệu là minsup và mincof.
Ví dụ: Khi phân tích giỏ hàng của người mua hàng trong một siêu thị ta được luật kiểu
như: 85% khách hàng mua sữa thì cũng mua bánh mì, 30% thì mua cả hai thứ. Trong
đó: “mua sữa” là tiền đề còn “mua bánh mì ” là kết luận của luật. Con số 30% là độ hỗ
trợ của luật còn 80% là độ tin cậy của luật.
Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên có sự khác biệt
rất nhiều so với những thông tin thu được từ các câu lệnh truy vấn dữ liệu thông thường
như SQL. Đó là những tri thức, những mối liên hệ chưa biết trước và mang tính dự
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 23

báo đang tiềm ẩn trong dữ liệu. Những tri thức này không đơn giản là kết quả của phép
nhóm, tính tổng hay sắp xếp mà là của một quá trình tính toán khá phức tạp.

3. Tập hợp

Nếu conf ≥ minconf thì luật được giữ lại (và thỏa mãn độ hỗ trợ tối thiểu vì ABCD
là phổ biến). Trong thực tế, hầu hết thời gian của quá trình khai thác luật kết hợp là
thực hiện ở pha 1. Nhưng khi có những mẫu rất dài (mẫu chứa nhiều mục) xuất hiện
trong dữ liệu, việc sinh ra toàn bộ các tập phổ biến (FI) hay các tập đóng (FCI) là không
thực tế. Hơn nữa, có nhiều ứng dụng mà chỉ cần sinh tập phổ biến lớn nhất (MFI) là đủ,
như khám phá mẫu tổ hợp trong các ứng dụng sinh học.
Có rất nhiều nghiên cứu về các phương pháp sinh tất cả các tập phổ biến và tập
phổ biến lớn nhất một cách có hiệu quả. Khi các mẫu phổ biến (frequent patterm) dài có
từ 15 đến 20 items) thì tập FI, thậm chí cả tập FCI trở nên rất lớn và hầu hết các phương
pháp truyền thống phải đếm quá nhiều tập mục mới có thể thực hiện được. Các thuật
toán dựa trên thuật toán Apriori – đếm tất cả 2
k
tập con của mỗi k- itemsets mà chúng
quét qua và do đó không thích hợp với các itemsets dài được. Các phương pháp khác sử
dụng “lookaheads” để giảm số lượng tập mục được đếm. Tuy nhiên, hầu hết các thuật
toán này đều sử dụng tìm kiếm theo chiều rộng, ví dụ: tìm tất cả các k – itemsets trước
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 24

khi tính đến các (k+1) – itemsets. Cách làm này hạn chế hiệu quả của lookaheads vì các
mẫu phổ biến dài hơn mà hữu ích vẫn chưa được tìm ra.
Thuật toán cơ bản:



Giao dịch mua hàng


Cho trước 2 ngưỡng = 40% và = 60%
Ta tính độ hỗ trợ của các tập hợp các tính chất.
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu

Lương Trí Quân Trang 25



Tính độ hỗ trợ cho các tập hợp chứa các mặt hàng



Các luật kết hợp và độ tin cậy của chúng

Agrawal đã chỉ ra việc duyệt các tập hợp các tính chất để tính ra ngưỡng độ hỗ trợ của
chúng và đánh giá có vượt ngưỡng cho trước hay không, tốn rất nhiều thời gian tính

×