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

Ứng dụng thuật toán efim để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi

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 (5.55 MB, 73 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

PHẠM THỊ KIM PHƯỢNG

ỨNG DỤNG THUẬT TOÁN EFIM ĐỂ
KHAI PHÁ TẬP MỤC HỮU ÍCH CAO TỪ
CƠ SỞ DỮ LIỆU BÁN HÀNG TẠI SIÊU THỊ
CO.OPMART QUẢNG NGÃI

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Đà Nẵng – Năm 2017


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

PHẠM THỊ KIM PHƯỢNG

ỨNG DỤNG THUẬT TOÁN EFIM ĐỂ
KHAI PHÁ TẬP MỤC HỮU ÍCH CAO TỪ
CƠ SỞ DỮ LIỆU BÁN HÀNG TẠI SIÊU THỊ
CO.OPMART QUẢNG NGÃI

Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 61.49.01.06

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Người hướng dẫn khoa học: PGS.TSKH. TRẦN QUỐC CHIẾN



Đà Nẵng – Năm 2017


LỜI CAM ĐOAN
Tơi xin cam đoan:
- Đây là cơng trình nghiên cứu của riêng tôi.
- Nội dung, kết quả nêu trong luận văn là trung thực và chưa từng được ai
cơng bố trong bất kỳ cơng trình nào khác.
- Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung
thực về tên tác giả, tên công trình, thời gian và địa điểm cơng bố.
- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin
chịu hồn tồn trách nhiệm.
Tác giả luận văn

Phạm Thị Kim Phượng


MỤC LỤC
MỞ ĐẦU .......................................................................................................... 1
1. Lý do chọn đề tài ................................................................................... 1
2. Mục tiêu và nhiệm vụ............................................................................ 2
3. Đối tượng và phạm vi nghiên cứu......................................................... 3
4. Phương pháp nghiên cứu ...................................................................... 3
5. Ý nghĩa của đề tài.................................................................................. 3
6. Kết quả dự kiến ..................................................................................... 4
7. Bố cục luận văn ..................................................................................... 4
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT VỀ KHAI PHÁ DỮ LIỆU ................. 5
1.1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU ................................................ 5
1.1.1. Sơ lược về khai phá dữ liệu ............................................................ 5

1.1.2. Quá trình khám phá tri thức từ cơ sở dữ liệu .................................. 6
1.1.3. Các dạng dữ liệu có thể khai phá .................................................... 7
1.1.4. Một số kỹ thuật khai phá dữ liệu .................................................... 8
1.1.5. Một số ứng dụng của khai phá dữ liệu ............................................ 9
1.1.6. Lợi thế của khai phá dữ liệu so với các phương pháp khác .......... 10
1.1.7. Những thách thức trong khai phá dữ liệu ..................................... 11
1.2. KỸ THUẬT KHAI PHÁ TẬP MỤC PHỔ BIẾN VÀ LUẬT KẾT HỢP12
1.2.1. Cơ sở dữ liệu giao tác ................................................................... 12
1.2.2. Tập mục phổ biến và luật kết hợp ................................................. 13
1.2.3. Khai phá tập mục phổ biến - Frequent Itemset Mining ................ 15
1.2.4. Khai phá luật kết hợp .................................................................... 16
1.3. KẾT CHƯƠNG 1 ..................................................................................... 17
CHƯƠNG 2 KHAI PHÁ TẬP MỤC HỮU ÍCH CAO TỪ CƠ SỞ DỮ
LIỆU GIAO TÁC .......................................................................................... 18


2.1. ĐẶT VẤN ĐỀ.......................................................................................... 18
2.2. TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU KHAI PHÁ TẬP MỤC
HỮU ÍCH CAO ............................................................................................... 18
2.3. MỘT SỐ ĐỊNH NGHĨA CỦA BÀI TOÁN ............................................ 20
2.4. MỘT SỐ THUẬT TỐN KHAI PHÁ TẬP MỤC HỮU ÍCH CAO ...... 22
2.4.1. Thuật toán Two-Phase .................................................................. 22
2.4.2. Thuật toán FHM ............................................................................ 23
2.5. THUẬT TOÁN EFIM.............................................................................. 23
2.5.1. Một số khái niệm........................................................................... 24
2.5.2. Thuật tốn EFIM ........................................................................... 32
2.6. ÁP DỤNG THUẬT TỐN ..................................................................... 34
2.7. KẾT CHƯƠNG 2 ..................................................................................... 36
CHƯƠNG 3. CÀI ĐẶT THUẬT TOÁN EFIM VÀ ỨNG DỤNG KHAI
PHÁ DỮ LIỆU BÁN HÀNG ........................................................................ 37

3.1. GIỚI THIỆU HỆ THỐNG SIÊU THỊ ..................................................... 37
3.2. GIẢI PHÁP KHAI PHÁ TẬP MỤC HỮU ÍCH CAO TỪ CƠ SỞ DỮ
LIỆU BÁN HÀNG TẠI SIÊU THỊ ................................................................ 38
3.3. THU THẬP VÀ XỬ LÝ DỮ LIỆU ......................................................... 38
3.3.1. Một số vấn đề liên quan đến lợi nhuận cao .................................. 38
3.3.2. Thu thập và xử lý dữ liệu .............................................................. 39
3.4. CÀI ĐẶT THUẬT TOÁN ....................................................................... 42
3.4.1. Lớp Item ........................................................................................ 43
3.4.2. Lớp Transaction ............................................................................ 43
3.4.3. Lớp DataAssistant ......................................................................... 43
3.4.4. Lớp EFIM...................................................................................... 44
3.5. THỬ NGHIỆM CHƯƠNG TRÌNH ......................................................... 44
3.6. ĐÁNH GIÁ THUẬT TOÁN ................................................................... 46
3.6.1. Kết quả đầu ra ............................................................................... 46
3.6.2. Thời gian thực hiện ....................................................................... 46


3.6.3. Sử dụng bộ nhớ ............................................................................. 47
3.6.4. Tìm kiếm nút ................................................................................. 48
3.7. KẾT CHƯƠNG 3 ..................................................................................... 48
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................... 49
DANH MỤC TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI (BẢN SAO)


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
CÁC KÝ HIỆU
α

Tập mục


α–T

Giao tác tham chiếu

α–D

CSDL tham chiếu

conf(X→ Y)

Độ tin cậy của luật X→ Y

D

Cơ sở dữ liệu giao tác D

E(α)

Các mục mở rộng

H

Tập hợp các tập mục hữu ích cao.

I

Tập mục trong CSDL giao tác

ij


Mục dữ liệu thứ j

lu(α, z )

Giá trị hữu ích cục bộ z đối với α

minconf

Độ tin cậy tối thiểu

minutil

Ngưỡng hữu ích tối thiểu

minsup

Độ hỗ trợ tối thiểu

re(X, Td)

Giá trị hữu ích cịn lại của X trong giao tác Td

su(α, z)

Giá trị hữu ích của cây con z đối với α

sup(X)

Độ hỗ trợ của tập mục X


sup(X→ Y)

Độ hỗ trợ của luật X→ Y

T

Giao tác

Td

Giao tác thứ d

tu

Độ hữu ích của giao tác

TWU(X)

Độ hữu ích trọng số của tập mục X

u(ij, Td)

Giá trị hữu ích của tập mục ij trong giao tác

u(X)

Giá trị hữu ích của tập mục X

X→ Y


Luật X→ Y

z

Mục



Thứ tự sắp xếp các mục


≻T

Thứ tự sắp xếp các giao tác







Tập con



Phép giao




Phép hợp

CÁC CHỮ VIẾT TẮT
CSDL

Cơ Sở Dữ Liệu

KPDL

Khai Phá Dữ Liệu

EFIM

EFficient high-utility Itemset Mining

EUCS

Estimated Utility Co-Occurrence Structure

FHM

Fast High-utility Miner

FUC

Fast Utility Counting

FUM

Fast Utility Mining


HDP

High-utility Database Projection

HTM

High-utility Transaction Merging

KDD

Knowledge Discovery in Databases

LUHF

Low Utility and High Frequency

LULF

Low Utility and Low Frequency

HUHF

High Utility and High Frequency

HULF

High Utility and Low Frequency

TWU


Transaction Weighted Utilization

HUIM

High Utility Itemset Mining


DANH MỤC CÁC BẢNG

Số hiệu bảng

Tên bảng

Trang

1.1.

Biểu diễn ngang

12

1.2.

Biểu diễn dọc

13

1.3.


Biểu diễn ma trận giao tác

13

1.4.

Danh sách tập mục phổ biến

14

2.1.

Cơ sở dữ liệu giao tác

20

2.2.

Biểu diễn giá trị lợi nhuận của các mục trong
CSDL

20

2.3.

Bảng độ hữu ích các giao tác trong CSDL

24

2.4.


TWU của các mục trong CSDL giao tác D

25

2.5.

Giá trị TWU bằng utility-bin

32

2.6.

CSDL sau khi sắp xếp các giao tác

35

2.7.

Hợp nhất giao tác trong CSDL tham chiếu {A}
–D

35

2.8.

Tập mục hữu ích cao

36


3.1.

Danh sách các mặt hàng

39

3.2.

Lợi nhuận của từng mặt hàng

42

3.3.

Kết quả trả về của hai thuật toán

46


DANH MỤC CÁC HÌNH

Số hiệu hình

Tên hình

Trang

1.1.

Q trình khám phá tri thức


6

2.1.

Biểu diễn cây tìm kiếm của I

26

3.1.

Dữ liệu được làm sạch

41

3.2.

Màn hình đăng nhập hệ thống

44

3.3.

Giao diện chính

45

3.4.

Kết quả các mặt hàng có giá trị lợi nhuận cao


46

3.5.

Thời gian thực hiện của hai thuật toán

47

3.6.

Dung lượng bộ nhớ của hai thuật tốn

47

3.7.

Số nút tìm kiếm của 2 thuật tốn

48


1

MỞ ĐẦU
1. Lý do chọn đề tài
Trong những năm gần đây, khai phá dữ liệu (Data mining) đã trở thành một
trong những hướng nghiên cứu lớn nhất của lĩnh vực khoa học máy tính và cơng
nghệ thơng tin. Khai phá dữ liệu là q trình khai phá, trích xuất, khai thác và sử
dụng những dữ liệu có giá trị tiềm ẩn từ bên trong lượng lớn dữ liệu được lưu trữ

trong các Cơ Sở Dữ Liệu (CSDL), kho dữ liệu, trung tâm dữ liệu… dựa trên kĩ
thuật như mạng nơ ron, lý thuyết tập thô, tập mờ, biểu diễn tri thức… 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ế, giáo
dục, an ninh...
Khai phá luật kết hợp là một nhiệm vụ quan trọng của khai phá dữ liệu. Kỹ
thuật khai phá luật kết hợp được thực hiện qua 2 bước: Bước 1: Sử dụng thuật toán
như Apriori để xác định tất cả các tập phổ biến dựa trên độ hỗ trợ của các tập phổ
biến. Bước 2: Sinh ra các luật kết hợp thỏa mãn độ tin cậy từ các tập phổ biến [12].
Khai phá tập mục phổ biến thông thường tập trung chủ yếu vào việc tìm kiếm
và phát hiện các tập mục thường xuyên trong CSDL giao tác. Mơ hình khai phá tập
mục phổ biến cơ bản có nhiều ứng dụng trong thực tế nhưng có những hạn chế,
khơng đáp ứng đầy đủ u cầu của người sử. Chính vì vậy mà một khái niệm mới ra
đời, đó là khai phá tập mục hữu ích cao (High Utility Itemsets Mining) tức là mỗi
một mục có xét đến yếu tố hữu ích của nó (ví dụ: Nhà kinh doanh họ chỉ quan tâm
đến số lượng, lợi nhuận, doanh thu của mỗi mặt hàng là bao nhiêu trong mỗi lần
giao dịch). Như vậy, khai phá tập mục hữu ích cao là tìm kiếm trong CSDL giao tác
các tập mục có giá trị lớn hơn một ngưỡng hữu ích tối thiểu cho trước.
Khai phá tập mục hữu ích cao là một mở rộng của bài toán khai phá tập
mục phổ biến, đã được nhiều tác giả quan tâm với mục đích đánh giá ý nghĩa của
các tập mục trong khai phá luật kết hợp. Thuật toán EFIM là một trong các thuật
tốn khai phá tập mục hữu ích cao. Thuật tốn này được các nhà khoa học có tên


2
Souleymane Zida, Philippe Fournier Viger, Jerry Chun-Wei Lin, Cheng-Wei
Wu, Vincent S. Tseng đề xuất vào năm 2015 tại hội nghị trí tuệ nhân tạo ở
Mexico [14] đây là thuật tốn mới có khả năng khắc phục các hạn chế của các
thuật tốn được đề xuất trước đó.
Siêu thị Co.opMart Quảng Ngãi là một hệ thống siêu thị bán lẻ của Việt

Nam trực thuộc Liên hiệp các hợp tác xã Thương mại thành phố Hồ Chí Minh.
Co.opMart trở thành nơi mua sắm đáng tin cậy của người tiêu dùng Quảng Ngãi.
Siêu thị cung cấp nhiều mặt hàng đảm bảo chất lượng và số lượng. Tuy nhiên trong
siêu thị có những mặt hàng tuy số lượng bán nhiều nhưng lợi nhuận mang lại khá
thấp và ngược lại có những mặt hàng tuy số lượng bán ít nhưng mang lại lợi nhuận
cao mà siêu thị chưa xác định được nên chưa có chiến lược kinh doanh dẫn đến
doanh thu bán hàng thấp. Ví dụ: Một ngày siêu thị bán được 100 bịch khăn giấy
nhưng lợi nhuận không cao bằng bán 1 cái tivi.
Từ đó ta có thể áp dụng kỹ thuật khai phá tập mục hữu ích cao để rút ra thơng
tin các mặt hàng bán kèm với nhau mang lại giá trị lợi nhuận cao cho siêu thị. Coi
mỗi mặt hàng là một mục, mỗi hóa đơn bán hàng là một giao tác. Ứng với mỗi giao
tác, mỗi mục có một giá trị hữu ích nội, chính là số lượng bán ra của mỗi mặt hàng
trong từng hóa đơn, mỗi mặt hàng có giá trị lợi nhuận và được coi là giá trị hữu ích
ngoại của mục.
Từ những lý do trên, với sự hướng dẫn của thầy PGS.TSKH. Trần Quốc
Chiến. Tôi chọn hướng nghiên cứu và thực hiện đề tài: “Ứng dụng thuật tốn
EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị
Co.opMart Quảng Ngãi”.
2. Mục tiêu và nhiệm vụ
2.1. Mục tiêu
- Thu thập dữ liệu bán hàng tại siêu thị Co.opMart Quảng Ngãi.
- Tìm hiểu thuật tốn EFIM để khai phá tập mục hữu ích cao từ CSDL giao tác.
- Ứng dụng thuật tốn EFIM để tìm các tập mục hữu ích cao từ CSDL bán
hàng tại siêu thị Co.opMart Quảng Ngãi.


3
2.2. Nhiệm vụ
- Tìm hiểu các khái niệm cơ bản về khai phá dữ liệu và khái niệm khai phá
luật kết hợp.

- Tìm hiểu các thuật tốn khai phá tập mục hữu ích cao trước đây.
- Tìm hiểu thuật tốn EFIM.
- Thu nhập dữ liệu từ thực tế, tổng hợp phân tích dữ liệu.
- Cài đặt thuật tốn EFIM trên CSDL giao tác bán hàng và rút ra những tập
mục hữu ích cao của mặt hàng thường bán kèm với nhau mang lại lợi nhuận cao
cho siêu thị.
- So sánh thuật toán EFIM so với thuật toán khác.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng
- Thuật toán EFIM để khai phá tập mục hữu ích cao.
- Thơng tin dữ liệu bán hàng tại siêu thị.
3.2. Phạm vi nghiên cứu
- Nghiên cứu thuật toán EFIM để khai phá tập mục hữu ích cao từ CSDL
giao tác.
- Số liệu kinh doanh của siêu thị Co.opMart tại Quảng Ngãi trong thời gian
năm 2016.
4. Phương pháp nghiên cứu
4.1. Phương pháp nghiên cứu tài liệu
- Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài.
- Nghiên cứu giải pháp xây dựng và cài đặt thuật toán EFIM.
4.2. Phương pháp thực nghiệm
- Xây dựng cơ sở dữ liệu.
- Cài đặt thuật toán và chạy thử nghiệm trên bộ dữ liệu giao tác.
- Nhận xét và đánh giá kết quả thuật toán EFIM với thuật toán khác.
5. Ý nghĩa của đề tài
5.1. Ý nghĩa khoa học
- Cài đặt thuật toán EFIM để rút ra các mặt hàng bán kèm có giá trị lợi nhuận


4

cao làm cơ sở để áp dụng thuật toán khai phá luật kết hợp từ tập mục hữu ích cao.
- Đưa ra các ưu điểm so với các thuật toán khác.
5.2. Ý nghĩa thực tiễn
Từ CSDL bán hàng rút ra các mặt hàng bán kèm mang lại lợi nhuận cao, từ đó
định hướng kinh doanh cho siêu thị.
6. Kết quả dự kiến
6.1. Kết quả của đề tài
- Nắm được lý thuyết khai phá tập mục hữu ích cao bằng thuật toán EFIM.
- Ứng dụng trên CSDL giao tác bán hàng tại siêu thị Co.opMart Quảng Ngãi.
6.2. Hướng phát triển của đề tài.
- Nghiên cứu các thuật toán khai phá tập mục hữu ích cao khác.
- Nghiên cứu thuật tốn khai phá luật kết hợp từ tập mục hữu ích cao.
7. Bố cục luận văn
Chương 1: Cơ sở lý thuyết về khai phá dữ liệu
Chương này trình bày các cơ sở lý thuyết bao gồm: Tổng quan về khai phá dữ
liệu, kỹ thuật khai phá tập mục phổ biến và luật kết hợp trong CSDL giao tác.
Chương 2: Khai phá tập mục hữu ích cao từ cơ sở dữ liệu giao tác
Trong chương 2 trình bày các khái niệm liên quan đến khai phá tập mục hữu
ích cao và thuật tốn EFIM trong CSDL giao tác.
Chương 3: Cài đặt thuật toán EFIM và ứng dụng khai phá dữ liệu
bán hàng
Chương 3 tập trung vào thuật toán EFIM, thu thập và xử lý dữ liệu bán hàng
tại siêu thị Co.opMart Quảng Ngãi, cài đặt và thực nghiệm chương trình. So sánh
thuật tốn EFIM với thuật toán khác.
Cuối cùng, những đánh giá, kết luận và hướng phát triển của đề tài trong
tương lai.


5


CHƯƠNG 1

CƠ SỞ LÝ THUYẾT VỀ KHAI PHÁ DỮ LIỆU
1.1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1.1. Sơ lược về khai phá dữ liệu
Khai phá dữ liệu đã thu hút rất nhiều sự chú ý trong ngành công nghiệp thông
tin và toàn xã hội trong những năm gần đây, do sự sẵn có một lượng lớn dữ liệu và
cần phải sắp xếp chuyển dữ liệu đó thành thơng tin và kiến thức bổ ích. Các thơng
tin và kiến thức thu được có thể được sử dụng cho các ứng dụng khác nhau, từ phân
tích thị trường, phát hiện gian lận, và duy trì khách hàng, để kiểm sốt sản xuất, v.v.
Khai Phá Dữ Liệu (KPDL) là một khái niệm xuất hiện vào những năm cuối của thập
niên 80. Nó bao hàm 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 CSDL. KPDL có một tiềm năng to lớn trong việc tạo ra những lợi nhuận
đáng kể trong nền kinh tế.
Có nhiều định nghĩa khác nhau về KPDL:
Khai phá dữ liệu – Data Mining là tiến trình khám phá tri thức tiềm ẩn trong các
cơ sở dữ liệu. Cụ thể hơn đó là tiến trình trích lọc, sản sinh những tri thức hoặc các
mẫu tiềm ẩn, chưa biết những hữu ích từ cơ sở dữ liệu lớn” [3].
Giáo sư Jiawei Han, Micheline Kamber, Jian Pei [7] đã đưa ra khái niệm về
KPDL sau: “Khai phá dữ liệu là việc trích rút ra được các mẫu hoặc tri thức quan
trọng từ một lượng dữ liệu rất lớn”.
Theo Giáo sư Tom Mitchell [11] đã đưa ra định nghĩa về KPDL như sau:
“KPDL là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện
những quyết định trong tương lai”.
Nói cách khác KPDL là q trình khai phá, trích xuất và sử dụng những dữ
liệu có giá trị tiềm ẩn từ bên trong một 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ư: Khám phá tri thức từ CSDL (Knowledge



6
Discovery in Databases - KDD), 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). Mục đích
thực tế thì khám phá tri thức từ cơ sở dữ liệu và KPDL được xem đồng nghĩa như
nhau nhưng xét về mặt kỹ thuật thì KPDL là một tiến trình quan trọng trong tồn bộ
q trình KDD.
1.1.2. Quá trình khám phá tri thức từ cơ sở dữ liệu
Q trình khám phá tri thức có thể phân thành các bước sau:

Hình 1.1. Quá trình khám phá tri thức
✓ Trích lọc dữ liệu: Trích lọc dữ liệu là giai đoạn chọn lọc trích rút những tập
dữ liệu để phục vụ cho quá trình khai phá dữ liệu từ CSDL tác nghiệp.
✓ Tiền xử lý dữ liệu: Tiền xử lý dữ liệu là giai đoạn làm sạch dữ liệu (xử lý
dữ liệu chứa lỗi, nhiễu, không đầy đủ, mâu thuẫn) thì các dữ liệu sẽ nhất quán, tin
cậy. Trong thực tế, giai đoạn này được thực hiện nhiều lần, vì dữ liệu lấy từ nhiều
nguồn khác nhau, dễ gây nhầm lẫn nên giai đoạn này phải thực hiện nhiều lần mới
phát hiện được tính bất thường trong dữ liệu.


7
✓ Chuyển đổi dữ liệu: Sau khi dữ liệu làm sạch thì phải mã hóa, biến đổi kiểu
dữ liệu của các thơng tin về những dạng thích hợp để áp dụng các kỹ thuật KPDL.
✓ Khai phá dữ liệu: Là quá trình lựa chọn kỹ thật khai phá dữ liệu phù hợp
với mục đích và dữ liệu đã có, thực hiện việc khai phá dữ liệu để tìm được các mẫu
có ý nghĩa, các mẫu này được đánh giá và cập nhật liên tục trong quá trình khai phá,
những mẫu có chất lượng sẽ được biểu diễn dưới dạng luật kết hợp, cây quyết định,
… tương ứng với ý nghĩa của nó. Đây được xem là bước quan trọng và tiêu tốn thời
gian nhất của tồn bộ q trình KDD.
✓ Đánh giá và biểu diễn tri thức: Là tiến trình kiểm tra và lọc nguồn tri thức

thu được ở bước khai phá dữ liệu để hỗ trợ việc đánh giá chất lượng dữ liệu, đánh
giá mơ hình dữ liệu được lựa chọn có phù hợp hay khơng và biểu diễn tri thức dưới
dạng mơ hình cây, đồ thị, các luật cho người dùng.
1.1.3. Các dạng dữ liệu có thể khai phá
KPDL có thể được áp dụng cho bất kỳ dữ liệu nào miễn là dữ liệu có ý nghĩa
cho một ứng dụng cụ thể. Sau đây là một số dạng dữ liệu có thể được khai phá:
- Cơ sở dữ liệu quan hệ (Relational Database): Một hệ thống cơ sở dữ liệu,
cũng được gọi là một hệ thống quản lý CSDL, bao gồm một bộ sưu tập các dữ liệu
liên quan với nhau, được biết đến như là một CSDL và một tập hợp các chương
trình phần mềm để quản lý và truy cập dữ liệu. Các chương trình phần mềm cung
cấp cơ chế để xác định cấu trúc CSDL và lưu trữ dữ liệu, để xác định và quản lý
đồng thời, chia sẻ, hoặc truy cập dữ liệu phân tán, đảm bảo tính thống nhất và an
ninh thơng tin lưu trữ bất chấp sự cố hệ thống hoặc các nỗ lực truy cập trái phép.
- Cơ sở dữ liệu giao tác (Transaction Database): Là tập hợp những bản ghi
giao dịch. Khai phá dữ liệu trên CSDL giao tác tập trung vào khai phá luật kết hợp,
tìm mối tương quan giữa những mục dữ liệu trong các bản ghi giao dịch. Dạng dữ
liệu này thường phổ biến trong lĩnh vực thương mại, ngân hàng, bán hàng,…
- Cơ sở dữ liệu đa chiều (Multidimention Structures, Data Warehouses,
Data Mart): Các kho dữ liệu được tập hợp và chọn lọc từ nhiều nguồn dữ liệu
khác nhau. Dạng dữ liệu này chủ yếu phục vụ cho q trình phân tích cũng như


8
khai phá tri thức và hỗ trợ quá trình ra quyết định.
- Cơ sở dữ liệu quan hệ - hướng đối tượng (Object Relational Databases):
Dạng dữ liệu kết hợp giữa hai mơ hình quan hệ và hướng đối tượng. Dữ liệu này
được ứng dụng trong viễn thông,…
- Dữ liệu không gian và thời gian (Spatial, Temporal, and Time-series data):
Dạng dữ liệu có tích hợp thuộc tính về khơng gian như dữ liệu bản đồ, mạng cáp
điện thoại hoặc thời gian như dữ liệu cước điện thoại, phát hành báo chí.

- Cơ sở dữ liệu đa phương tiện (Multimedia Databases): Dạng dữ liệu âm
thanh (Audio), hình ảnh (Video)… Dữ liệu này rất phổ biến trên internet.
1.1.4. Một số kỹ thuật khai phá dữ liệu
Kỹ thuật khai phá dữ liệu chia thành 2 nhóm [7]:
- Mơ tả dữ liệu: Có nhiệm vụ mơ tả đặc trưng cho các thuộc tính của dữ liệu trong
một tập hợp dữ liệu hiện có. Gồm có các kỹ thuật: Phân cụm (Clustering), tóm tắt
(Summarization), luật kết hợp (Association rules), trực quan hóa (Visualization), …
Dự đốn dữ liệu: Đưa ra các dự đoán dựa vào các suy luận trên dữ liệu hiện tại
có, gồm các kỹ thuật phân lớp (Classification), hồi quy (Regression), phân cụm
(Clustering),...
Một số kỹ thuật thông dụng được sử dụng để khai phá dữ liệu:
a. Khai phá tập phổ biến và luật kết hợp
Khai phá tập phổ biến là tìm các thuộc tính xuất hiện phổ biến của các đối
tượng dữ liệu. Từ tập phổ biến này ta tiến hành tạo ra các luật kết hợp nhằm phát
hiện khả năng xuất hiện đồng thời của các thuộc tính trong tập các đối tượng.
Trong lĩnh vực KPDL, mục đích của luật kết hợp (Association Rule) là tìm ra
các mối quan hệ giữa các đối tượng trong khối lượng lớn dữ liệu, ví dụ như nhóm các
món hàng thường được mua kèm với nhau trong siêu thị, mua bia sẽ mua thuốc lá.
b. Phân lớp
Phân lớp (Classification) là tiến trình xử lý nhằm xếp các mẫu dữ liệu hay các
đối tượng vào một trong các lớp đã được định nghĩa trước, đây là kỹ thuật phổ biến
trong KPDL. Phân lớp cịn được gọi là học có giám sát (Supervised learning),


9
hướng tiếp cận này thường sử dụng một số kỹ thuật như: Cây quyết định (Decision
tree), mạng nơ-ron nhân tạo (Neural network), phương pháp dựa trên luật, phương
pháp Naive Bayes.
Ví dụ: Những bệnh nhân có các triệu chứng ho, lạnh, nhức đầu thì được phân
lớp vào bệnh sốt rét.

c. Phân cụm
Phân cụm (Clustering): Là nhóm các đối tượng dữ liệu có tính chất giống nhau
thành lớp các đối tượng tương tự. Các đối tượng được gom cụm dựa trên nguyên tắc
tối đa hóa các lớp tương tự trong cùng một cụm và giảm thiểu các lớp tương tự trên
các cụm khác nhau [7]. Các cụm có thể tách riêng nhau hoặc phân cấp hoặc gối lên
nhau, nghĩa là một dữ liệu có thể vừa thuộc cụm này, vừa thuộc cụm kia. Phân cụm
dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn ảnh, nghiên cứu thị
trường, phân loại trang web,... Ngồi ra, phân cụm cịn được sử dụng như một bước
tiền xử lý cho các thuật toán KPDL khác.
d. Hồi quy
Hồi quy (Regression): Là hàm ánh xạ từ một mẫu dữ liệu thành một biến dự
đốn có giá trị thực. Nhiệm vụ của hồi quy giống như phân lớp nhưng điểm khác
nhau là thuộc tính để dự báo là liên tục chứ không phải rời rạc. Việc dự báo các giá
trị số thường được làm bởi các phương pháp thống kê cổ điển, chẳng hạn như hồi
quy tuyến tính.
Ứng dụng của hồi quy vào trong cuộc sống như dự báo nhu cầu tiêu dùng của
con người đối với một số sản phẩm dựa trên hoạt động quảng cáo.
1.1.5. Một số ứng dụng của khai phá dữ liệu
KPDL đang được ứng dụng rộng rãi trong nhiều lĩnh vực đời sống và
khoa học nhằm khai thác nguồn dữ liệu phong phú được lưu trữ trong các hệ
thống thông tin:
- Marketing: Đây là một phương pháp phân tích CSDL khách hàng, tìm kiếm
các mẫu trong số các khách hàng và sử dụng các mẫu này để lựa chọn các khách
hàng trong tương lai.


10
- Ngân hàng: Xây dựng mơ hình dự báo rủi ro tín dụng. Tìm kiếm tri thức, quy
luật của thị trường chứng khoán, đầu tư bất động sản, phát hiện gian lận và cung cấp
sản phẩm dựa trên phân tích của các khách hàng để duy trì tốt hơn mối quan hệ của

khách hàng.
- Thương mại điện tử: Tìm hiểu, định hướng thúc đẩy, giao tiếp với khách
hàng. Phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù hợp
với nhiều loại khách hàng.
- Viễn thông:
+ Nhận biết các dấu hiệu của sự gian lận dịch vụ.
+ Xu thế phát triển khách hàng, đối tượng, khu vực cần phát triển.
- Thiên văn: Dự đoán đường đi các thiên thể, hành tinh,…
- Sinh học: Hệ thống tìm kiếm các mẫu trong cấu trúc phân tử, tìm ra các gen
mới, cây con giống mới,…
- Y học: Dựa vào mối liên hệ các triệu chứng để chuẩn đoán bệnh và hướng
điều trị.
Ngồi ra KPDL cịn ứng dụng vào trong rất nhiều lĩnh vực khác nhau giúp đưa
ra những giải pháp hiệu quả để giải quyết vấn đề trong đời sống.
1.1.6. Lợi thế của khai phá dữ liệu so với các phương pháp khác
KPDL đã kết hợp nhiều phương pháp từ các lĩnh vực khác nhau như thống kê,
máy học, nhận dạng mẫu, cơ sở dữ liệu, các hệ thống kho dữ liệu,… và KPDL có
một số ưu điểm so với phương pháp khác:
- Phương pháp thống kê: Là một trong những nền tảng lý thuyết của khai phá
dữ liệu, khác so với KPDL là phương pháp thống kê hoạt động dựa theo dữ liệu,
không sử dụng tri thức sẵn có về lĩnh vực và khơng phù hợp với dữ liệu có cấu trúc
trong CSDL.
- Phương pháp máy học: Đối với nhiệm vụ phân lớp và phân cụm dữ liệu,
nghiên cứu máy học thường tập trung vào tính chính xác của mơ hình, dựa trên
CSDL đầy đủ. Trong thực tế dữ liệu thường không đầy đủ nên các thuật tốn máy
học khơng hiệu quả, vì vậy KPDL tập trung vào vấn đề này. Ngồi tính chính xác,


11
KPDL cịn nhấn mạnh đến tính hiệu quả và tính mở rộng của các phương pháp

KPDL trên các bộ dữ liệu lớn, cũng như các cách để xử lý các loại dữ liệu phức tạp
và khám phá các phương pháp mới thay thế.
- Phương pháp hệ chuyên gia: Các hệ chuyên gia cố gắng nắm bắt các tri thức
thích hợp với một bài tốn nào đó. Các kỹ thuật thu thập giúp cho việc lấy tri thức
từ chuyên gia con người. Mỗi phương pháp đó là một cách suy diễn các luật từ các
ví dụ và giải pháp đối với bài toán chuyên gia đưa ra. Khác với KPDL các ví dụ của
chuyên gia thường ở mức chất lượng cao hơn rất nhiều so với các dữ liệu trong cơ
sở dữ liệu và chúng thường chỉ bao quát được các trường hợp quan trọng. Hơn nữa,
các chuyên gia sẽ xác nhận tính có giá trị và hữu dụng của các mẫu phát hiện được.
Cũng như với các công cụ quản trị CSDL, ở phương pháp này địi hỏi có sự tham
gia của con người trong việc phát hiện tri thức [1].
1.1.7. Những thách thức trong khai phá dữ liệu
KPDL gặp những khó khăn mà các nhà nghiên cứu đang tìm cách khắc phục.
Sau đây là những thách thức trong KPDL:
- Dữ liệu lớn: Các tập dữ liệu cần xử lý trong KPDL thường có kích thước cực
kỳ lớn về cả số lượng các bản ghi và số lượng các thuộc tính. Hiện nay đã bắt đầu
xuất hiện các CSDL có kích thước tới terabytes, đồng nghĩa làm tăng khơng gian
tìm kiếm, tăng khả năng giải thuật KPDL tìm được các mẫu giả. Để khắc phục vấn
đề này là đưa ra một ngưỡng cho CSDL, lấy mẫu, các phương pháp xấp xỉ, xử lý
song song, giảm kích thước của bài tốn.
- Dữ liệu động: Các CSDL thay đổi liên tục dẫn đến dữ liệu có thể thay đổi
theo thời gian và việc KPDL cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu.
Việc thay đổi dữ liệu nhanh chóng có thể làm cho các mẫu khai phá 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 phá bằng cách sử dụng nó để tìm kiếm
các mẫu bị thay đổi.
- Dữ liệu nhiễu và khơng chắc chắn: Độ chính xác của dữ liệu cũng là một yếu
tố ảnh hưởng đến quá trình KPDL.



12
1.2. KỸ THUẬT KHAI PHÁ TẬP MỤC PHỔ BIẾN VÀ LUẬT KẾT HỢP
Quá trình khai phá tập mục phổ biến đóng vai trị then chốt trong KPDL.
Khai phá tập mục phổ biến là một trong những bài toán quan trọng của khai phá
luật kết hợp.
Sau đây là một số khái niệm cơ bản:
1.2.1. Cơ sở dữ liệu giao tác
Giao tác (Transaction): Là tập hợp các mục trong cùng một đơn vị tương
tác, mỗi giao tác được xử lý một cách nhất quán mà không phụ thuộc vào các
giao tác khác.
Cho tập mục (itemset) I = {i1, i2, …, in}. Một giao tác (transaction) T là tập
con của I, T ⊆ I. CSDL giao tác là một tập các giao tác D = {T1, T2, …, Tm}. Mỗi
giao tác được gán một định danh TID (Transaction identification). Một tập mục con
X ⊆ I, gồm k mục phân biệt được gọi là tập mục mức k. Giao tác T chứa tập mục X
nếu X ⊆ T [6].
CSDL giao tác thường được biểu diễn dưới dạng biểu diễn ngang, biểu diễn
dọc và biểu diễn ma trận giao tác.
- Biểu diễn ngang: CSDL là một danh sách những giao tác. Mỗi giao tác có một
định danh TID và một danh sách những mục dữ liệu trong giao tác đó [2].
Bảng 1.1. Biểu diễn ngang
Transaction

itemset

T1

{A,B,D}

T2


{A,B}

T3

{C,D}

T4

{B,C}

- Biểu diễn dọc: CSDL là một danh sách các mục dữ liệu, mỗi mục dữ liệu có
một danh sách tất cả các định danh của giao tác chứa mục dữ liệu này [2].


13
Bảng 1.2. Biểu diễn dọc
Item

Transaction

A

T1 , T2

B

T1 , T2 , T4

C


T3 , T4

D

T1 , T4

- Biểu diễn ma trận giao tác: CSDL giao tác D = {T1, T2, …, Tm} trên các mục
I = {i1, i2, …, in}. Biểu diễn ma trận nhị phân m* n (trong đó: m dịng là m giao tác,
n cột là n mục):
𝑚𝑝𝑞 = {

1 𝑘ℎ𝑖 𝑖𝑞  𝑇𝑝
0 𝑘ℎ𝑖 𝑖𝑞  𝑇𝑝

Bảng 1.3. Biểu diễn ma trận giao tác
Item

A

B

C

D

T1

1

1


0

1

T2

1

1

0

0

T3

0

0

1

1

T4

0

1


1

0

Transaction

1.2.2. Tập mục phổ biến và luật kết hợp

a. Tập mục (Itemset)
- Tập mục là một tập hợp gồm một hoặc nhiều mục. Ví dụ: {Milk, Bread,
Diaper}
- Tập mục mức k (k-itemset) là một tập mục gồm k mục.

b. Độ hỗ trợ (Support)
Độ hỗ trợ của tập mục X trong CSDL giao tác D, ký hiệu: sup(X), là tỷ lệ
phần trăm các giao tác chứa X trên tổng số các giao tác trong D.
sup(𝑋 ) =
Hay:

| { 𝑇 ∈ 𝐷/ 𝑋 𝑇} |
|𝐷|


14

sup(X) =

Số lượng giao tác hỗ trợ X
Tổng số giao tác


Ta có 0 ≤ sup(X) ≤ 1 với mọi tập mục X  I
Trong đó:
+ Nếu tập mục X khơng chứa trong bất kỳ giao tác nào của D thì số giao tác
hỗ trợ X= 0. Khi đó sup(X) = 0
+ Nếu tập mục X chứa trong tất cả các giao tác của T thì Số lượng giao tác hỗ
trợ X = Tổng số giao tác. Khi đó, sup(X) = 1.
Ví dụ: Đối với CSDL giao tác trong bảng 1.1, xét tập mục {A, B},cho thấy:
- Số giao tác chứa tập mục {A, B} là 2
- Tổng số giao tác trong CSDL là 4
Vậy sup(A, B) =

2
4

= 0,5 = 50%

c. Tập mục phổ biến (frequent itemset)
Cho tập mục X ⊆ I và độ hỗ trợ tối thiểu (minimum support) minsup ∈ [0,1];
minsup được xác định trước bởi người sử dụng. X được gọi là tập mục phổ biến với
độ hỗ trợ tối thiểu minsup nếu: sup(X) ≥ minsup.
Ví dụ: Đối với CSDL giao tác trong bảng 1.1, danh sách các tập mục phổ biến
có độ hỗ trợ tối thiểu là 50%, thể hiện trong bảng 1.4.
Bảng 1.4. Danh sách tập mục phổ biến
Tập mục phổ biến

Độ hỗ trợ

{A}


0.5

{B}

0.75

{C}

0.5

{D}

0. 5

{A, B}

0.5

d. Tính chất cơ bản của tập mục phổ biến
CSDL giao tác D và độ hỗ trợ tối thiểu minsup. Các tập mục phổ biến có các tính
chất sau:
- Nếu X, Y là các tập mục và X⊆Y thì sup(X) ≥ sup(Y).


15
- Nếu một tập mục không phải tập phổ biến thì mọi tập cha của nó cũng khơng
phải tập phổ biến.
- Nếu một tập mục là tập mục phổ biến thì mọi tập con khác rỗng của nó cũng
là tập mục phổ biến.


e. Luật kết hợp
- Luật kết hợp
Luật kết hợp là biểu thức có dạng: X → Y, trong đó, X, Y là các tập 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.
- Độ hỗ trợ (Support)
Độ hỗ trợ của một luật kết hợp X → Y, kí hiệu là sup(X→Y), là độ hỗ trợ của
tập mục X  Y.
conf(X → Y) = sup(X ∪ Y)
Như vậy, độ hỗ trợ của luật kết hợp X → Y chính là xác suất xuất hiện đồng
thời X và Y trong một giao tác.
- Độ tin cậy (Confidence)
Độ tin cậy của một kết hợp X → Y, ký hiệu conf(X → Y) là tỷ lệ phần trăm
giữa các giao tác chứa X  Y và số giao tác có chứa X trong CSDL giao tác D.
Độ tin cậy conf(X → Y) chính là xác suất có điều kiện P(Y/X)
conf(X → Y) =

sup(X  Y)
sup(X)

Các luật kết hợp thoả mãn cả hai ngưỡng độ hỗ trợ tối thiểu (minsup) và độ tin
cậy tối thiểu (minconf), sup(X → Y) ≥ minsup và conf(X → Y) ≥ minconf được gọi
là luật kết hợp mạnh.
Ví dụ, theo khảo sát tại một cửa hàng điện tử cho thấy 70% khách hàng mua
máy tính thì có khả năng mua một máy in, ở đây việc mua máy tính kéo theo mua
máy in (70% là độ tin cậy của luật).
1.2.3. Khai phá tập mục phổ biến - Frequent Itemset Mining
Khai phá mục tập phổ biến là công việc rất quan trọng trong lĩnh vực KPDL
và được ứng dụng rộng rãi. Khai phá tập mục phổ biến tìm trong CSDL giao tác các



×