1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khai thác tập mục hữu ích cao trên cơ sở dữ liệu tăng trưởng

84 592 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 1,21 MB

Nội dung

CHUẨN Y CỦA HỘI ĐỒNG BẢO VỆ LUẬN VĂN --o0o-- Luận văn tựa đề “KHAI THÁC TẬP MỤC HỮU ÍCH CAO TRÊN CƠ SỞ DỮ LIỆU TĂNG TRƯỞNG” được Võ Thiện Khoa thực hiện và nộp nhằm thỏa một trong các

Trang 1

CHUẨN Y CỦA HỘI ĐỒNG BẢO VỆ LUẬN VĂN

o0o

Luận văn tựa đề “KHAI THÁC TẬP MỤC HỮU ÍCH CAO TRÊN CƠ SỞ DỮ LIỆU TĂNG TRƯỞNG” được Võ Thiện Khoa thực hiện và nộp nhằm thỏa một

trong các yêu cầu tốt nghiệp Thạc sĩ ngành Khoa Học Máy Tính

Ngày bảo vệ luận văn, TPHCM, ngày 05 tháng 12 năm 2015

Đại học Quốc tế Hồng Bàng Đại học Công Nghệ - TpHCM

Ngày tháng năm 20 Ngày tháng năm 20

PGS.TS Thái Bá Cần GS TSKH Hoàng Văn Kiếm

Ngày tháng năm 20 Ngày tháng năm 20

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI

TRƯỜNG ĐẠI HỌC QUỐC TẾ HỒNG BÀNG

Luận văn thạc sĩ: Khai thác tập mục hữu ích cao trên cơ sở dữ liệu tăng trưởng

Do học viên: Võ Thiện Khoa - Cao học khóa: 1 – Đợt 2 - Ngành: Khoa học máy

tính thực hiện

Người hướng dẫn: PGS TS Võ Đình Bảy

Đã bảo vệ trước Hội đồng, ngày: 05/12/2015 theo Quyết định số …….,

ngày / / của Hiệu trưởng ĐH Quốc Tế Hồng Bàng

Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:

Chủ tịch Hội đồng đánh giá Luận văn

GS.TSKH Hoàng Văn Kiếm

Trang 3

- Nơi sinh : Thành Phố Hồ Chí Minh

- Tốt nghiệp THPT : Trường THPH Bà Điểm, xã Bà Điểm, huyện Hóc Môn, TP.HCM

2 QUÁ TRÌNH HỌC TẬP

2001 - 2003 Học tại trường Trung cấp Giao Thông Vận Tải khu vực 3

2004 - 2006 Học tại trường Cao đẳng Công Nghiệp 4

2007 - 2009 Học tại trường Đại học Kỹ Thuật Công Nghệ

3 QUÁ TRÌNH CÔNG TÁC

2009 - 2010 Làm việc tại Công ty phát triển phần mềm Khoa Việt

2011 - nay Làm việc tại Bệnh viện Chợ Rẫy

- Địa chỉ liên lạc: 8/5D tổ 4 ấp Bắc Lân, xã Bà Điểm, huyện Hóc Môn, TP HCM

- Email: vokhoa1610@gmail.com

- Điện thoại di động: 0908.650.611

Trang 4

LỜI CAM ĐOAN



Tôi cam đoan rằng luận văn “Khai thác tập mục hữu ích cao trên cơ sở

dữ liệu tăng trưởng” là bài nghiên cứu của chính tôi

Ngoại trừ những tài liệu tham khảo được trích dẫn trong luận văn này, tôi cam đoan rằng phần còn lại của luận văn này chưa từng được công bố hay được sử dụng để nhận bằng cấp ở những nơi khác

Không có sản phẩm hay nghiên cứu nào của người khác được sử dụng trong luận văn này mà không được trích dẫn theo đúng quy định

Tác giả luận văn

Võ Thiện Khoa

Trang 5

LỜI CẢM ƠN



Lời đầu tôi xin chân thành cảm ơn TS Võ Đình Bảy đã tận tình truyền đạt

và hướng dẫn tôi trong suốt thời gian thực hiện luận văn này Thầy luôn tận tâm giúp đỡ, định hướng cho tôi trong suốt thời gian nghiên cứu khoa học Thầy đã giúp tôi tiếp cận với khoa học và biết cách sáng tạo trong khoa học, với những điều mới trong xã hội và đạt được thành công trong bài nghiên cứu của mình

Tiếp theo tôi xin bày tỏ lòng biết ơn đến Ban Giam hiệu, quí thầy cô trong Viện đào tạo Sau Đại học trường Đại học Quốc tế Hồng Bàng đã cung cấp những kiến thức quý báu cho tôi trong suốt quá trình học tập và nghiên cứu tại trường

Cuối cùng, chân thành gởi lời cảm ơn đến gia đình, bạn bè và những người thân luôn quan tâm và giúp đỡ tôi trong suốt thời gian học tập và nghiên cứu hoàn thành luận văn này

Vì thời gian có hạn và kiến thức còn hạn chế, nên luận văn khó tránh khỏi những thiếu sót, rất mong nhận được sự đóng góp ý kiến quý báu của quý thầy cô, anh chị và các bạn

Trang 6

TÓM TẮT



Khai thác dữ liệu là quá trình khám phá thông tin tìm ẩn và các mối liên hệ lẫn nhau có trong các cơ sở dữ liệu lớn Khai thác dữ liệu truyền thống là thường dạng tĩnh và xử lý dữ liệu được thực hiện hàng loạt Nhưng trên thực tế, cơ sở dữ liệu thường xuyên biến động do đó cách này không hiệu quả gây lãng phí khi một lượng nhỏ dữ liệu được thêm vào cơ sở dữ liệu lớn Do đó, Hong và các đồng sự [11] đã đề xuất ra khái niệm tập gần phổ biến để khai thác tập phổ biến trên cơ sở

dữ liệu tăng trưởng Tác giả đã xử dụng hai ngưỡng phổ biến đó là: ngưỡng phổ biến trên (tương đương với ngưỡng phổ biến tối thiểu, minSup) và ngưỡng phổ biến dưới để giảm số lần duyệt lại cơ sở dữ liệu gốc Thuật toán Pre-HUI là thuật toán khai thác tập mục hữu ích cáo trên cơ sở dữ liệu tăng trưởng được đề xuất vào năm

2014 [7] Luận văn đề xuất thuật toán khai thác tập mục hữu ích cao trên cơ sở dữ liệu trưởng dựa trên cấu trúc cây WIT (Weighted Itemset-Tidset tree) bằng cách tỉa những ứng viên có độ hữu ích thấp và cải tiến bước sinh tập ứng viên trước khi sử dụng phương pháp khai thác dữ liệu được đề xuất Do đó, thuật toán mới này sẽ cải thiện tốt hơn về thời gian và bộ nhớ sử dụng trong quá trình khai thác tập mục hữu ích cao

Trang 7

ABSTRACT



Data mining is the process of discovering hidden information and mutual relationships in large databases Traditional data mining is often static and data is processed in batch mode But in reality, the database is constantly fluctuating so this approach is inefficient when a small amount of data is added to the database Therefore, Hong and colleagues [11] have proposed the concept of “Pre-large” to discover nearly frequent itemsets in incremental databases The authors have used two bounds: upper bound utility and lower bound utility to reduce the number of scans on the original database Pre-HUI is an algorithm for mining high itemset utility in incremental databases [7] Thesis proposes a new algorithm for mining high itemset utility in incremental databases based on the WIT tree (Weighted itemset-Tidset tree) by pruning the low utility candidates Therefore, this new algorithm will improve the time and memory used in the process of mining high itemset utility

Trang 8

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

-o0o-

Trang 9

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN 1

-o0o-

Trang 10

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN 2

-o0o-

Trang 11

NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN

-o0o-

Trang 12

MỤC LỤC

LÝ LỊCH CÁ NHÂN i

LỜI CAM ĐOAN ii

LỜI CẢM ƠN iii

TÓM TẮT iv

ABSTRACT v

MỤC LỤC x

DANH MỤC HÌNH VẼ xii

DANH MỤC BẢNG xiii

DANH MỤC CÁC CHỮ VIẾT TẮT xv

CHƯƠNG 1: TỔNG QUAN 1

1.1 Lý do chọn đề tài, lĩnh vực nghiên cứu 1

1.2 Vấn đề nghiên cứu của đề tài 2

1.3 Mục tiêu nghiên cứu 2

1.4 Những nội dung chính yếu cần nghiên cứu 2

1.5 Cấu trúc luận văn 2

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4

2.1 Tổng quan về khai thác dữ liệu 4

2.1.1 Khám phá tri thức và khai thác dữ liệu .4

2.1.2 Quá trình khám phá tri thức 4

2.1.3 Các kỹ thuật khai thác dữ liệu 7

2.1.4 Ứng dụng trong khai thác dữ liệu 7

2.1.5 Những thách thức trong khai thác dữ liệu 8

2.2 Tổng quan về khai thác luật kết hợp 8

2.3 Giới thiệu về khai thác tập mục hữu ích cao 12

2.4 Khai thác tập mục hữu ích cao trên cơ sở dữ liệu tăng trưởng 21

2.4.1 Tổng quan 21

Trang 13

2.4.2 Một số định nghĩa của bài toán 24

2.4.3 Nội dung thuật toán Pre-HUI 27

2.4.4 Minh họa thuật toán 32

CHƯƠNG 3: THUẬT TOÁN CẢI TIẾN 39

3.1 Ưu và khuyến điểm của thuật toán Pre-HUI 39

3.2 Thuật toán cải tiến dựa trên cấu trúc cây WIT 39

3.2.1 Nội dung thuật toán 39

3.2.2 Minh họa thuật toán 44

3.2.3 Những điểm mới của thuật toán cải tiến 51

CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ 52

4.1 Môi trường thực nghiệm 52

4.2 Giới thiệu cơ sở dữ liệu thực nghiệm 52

4.2.1 Tổng quan về CSDL thực nghiệm 52

4.2.2 So sánh thời gian chạy thực nghiệm 53

4.3 Thực nghiệm trên CSDL chuẩn 56

4.3.1 Thực nghiệm trên CSDL Retail 56

4.3.2 Thực nghiệm trên CSDL BMS-POS 59

4.4 Kết quả thực nghiệm 63

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 64

5.1 Kết luận 64

5.2 Hạn chế của đề tài 64

5.3 Hướng phát triển 65

DANH MỤC TÀI LIỆU THAM KHẢO 66

1 Tài liệu tiếng việt 66

2 Tài liệu tiếng anh 66

Trang 14

DANH MỤC HÌNH VẼ

Hình 2.1: Qui trình khám phái tri thức 5

Hình 2.2: Xây dựng cây WIT-Tree 19

Hình 2.3: Thuật toán TWU-Mining 20

Hình 2.4: Kết quả thuật toán TWU-Mining 21

Hình 2.5: Thuật toán Pre-HUI 29

Hình 3.1: Thuật toán cải tiến 42

Hình 3.2: Biểu diễn cây H_PTWU trên CSDL D 45

Hình 3.3: Biểu diễn cây H_PTWU khi xóa itemset A 47

Hình 3.4: Biểu diễn cây H_PTWU khi cập nhật itemset B 47

Hình 3.5: Biểu diễn cây H_PTWU đã cập nhật các 1-itemset 48

Hình 3.6: Biểu diễn cây H_PTWU khi xét nút B có 2-itemset 49

Hình 3.7: Biểu diễn cây H_PTWU khi xét nút B có 3-itemset từ 2-itemset 49

Hình 3.8: Biểu diễn cây H_PTWU khi đã hoàn tất thêm giao dịch mới 50

Hình 4.1: Thực nghiệm CSDL bán thuốc khi thêm 2.000 giao dịch cho mỗi lần 53

Hình 4.2: Thực nghiệm CSDL bán thuốc khi thêm 4000 giao dịch cho mỗi lần 54

Hình 4.3: Thực nghiệm CSDL bán thuốc khi thêm 5.000 giao dịch cho mỗi lần 55

Hình 4.4: Thực nghiệm CSDL Retail khi thêm 1.000 giao dịch cho mỗi lần 57

Hình 4.5: Thực nghiệm CSDL Retail khi thêm 2.000 giao dịch cho mỗi lần 58

Hình 4.6: Thực nghiệm CSDL Retail khi thêm 3.000 giao dịch cho mỗi lần 59

Hình 4.7: Thực nghiệm CSDL BMS-POS khi thêm 10.000 giao dịch cho mỗi lần 60

Hình 4.8: Thực nghiệm CSDL BMS-POS khi thêm 20.000 giao dịch cho mỗi lần 61

Hình 4.9: Thực nghiệm CSDL BMS-POS khi thêm 30.000 giao dịch cho mỗi lần 62

Trang 15

DANH MỤC BẢNG

Bảng 2.1: Bảng biểu diễn CSDL giao dịch 13

Bảng 2.2: Bảng lợi nhuận của các item trong CSDL 14

Bảng 2.3: Bảng độ hữu ích các giao dịch trong CSDL 15

Bảng 2.4: Two-Phase với 1-itemset 17

Bảng 2.5: Two-Phase với 2-itemset 17

Bảng 2.6: Two-Phase với 3-itemset 17

Bảng 2.7: Two-Phase với các itemset có độ hữu ích cao 18

Bảng 2.8: WIT-Tree với từng item đơn 19

Bảng 2.9: Ví dụ 2 giao dịch 22

Bảng 2.10: Ví dụ về bảng lợi nhuận 22

Bảng 2.11: Bảng lợi nhuận 24

Bảng 2.12: CSDL ban đầu 25

Bảng 2.13: CSDL thêm vào 25

Bảng 2.14: Bảng tập itemset có trọng số giao dịch lớn và lợi ích thật sự 32

Bảng 2.15: Bảng tập itemset có trọng số giao dịch gần lớn và lợi ích thật sự 32

Bảng 2.16: Bảng các độ hữu ích của các giao dịch mới 33

Bảng 2.17: Bảng twu và au của 1-itemset trong giao dịch mới 34

Bảng 2.18: Bảng cập nhật 1-itemset trong tập 𝐻𝑇𝑊𝑈1𝐷 34

Bảng 2.19: Bảng cập nhật 1-itemset trong tập 𝐻𝑇𝑊𝑈1𝐷 35

Bảng 2.20: Bảng twu Large và Pre-large 1-itemset với au của chúng 36

Bảng 2.21: Bảng kết quả cuối cùng thuật toán Pre-HUI 37

Bảng 2.22: Bảng tập hữu ích cao trong thuật toán Pre-HUI 37

Bảng 3.1: Bảng twu và au của các 1-itemset trong giao dịch mới 46

Trang 16

Bảng 3.2: Bảng các itemset có độ hữu ích cao trong thuật toán cải tiến 50 Bảng 4.1: Thời gian thực nghiệm trên CSDL bán thuốc với mỗi lần thêm là 2.000

Trang 17

DANH MỤC CÁC CHỮ VIẾT TẮT

số độ hữu ích lớn và tiền lớn của giao dịch

Large (high) and Pre-large transaction-weighted utilization

số độ hữu ích lớn của giao dịch

Large (high) transaction-weighted utilization

số độ hữu ích tiền lớn của giao dịch

Pre-large transaction-weighted utilization

giao dịch

Transaction-weighted utilization

tree

Trang 18

CHƯƠNG 1: TỔNG QUAN 1.1 Lý do chọn đề tài, lĩnh vực nghiên cứu

Trong những năm gần đây, cùng với sự phát triển vượt bậc của công nghệ thông tin, truyền thông, khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin không ngừng được nâng cao Với lượng dữ liệu khổng lồ và luôn gia tăng theo thời gian, rõ ràng các phương pháp phân tích dữ liệu truyền thống sẽ không còn hiệu quả, gây tốn kém và dễ dẫn đến những kết quả sai lệch Để có thể khai thác hiệu quả các cơ sở dữ liệu lớn, một lĩnh vực khoa học mới đã ra đời: Khám phá tri thức trong cơ sở dữ liệu (Knowledge Discovery in Databases – KDD) Khai thác

dữ liệu (Data Mining) là một công đoạn chính trong quá trình khám phá tri thức, nhằm tìm kiếm, phát hiện các tri thức mới, hữu ích tiềm ẩn trong các cơ sở dữ liệu lớn

Việc khai thác tập phổ biến thường được mô tả là một quá trình lấy thông tin có giá trị từ cơ sở dữ liệu lớn, nó bắt nguồn từ dạng mẫu có sẵn tồn tại trong cơ

sở dữ liệu, các mẫu này có khuynh hướng gom nhóm lại với nhau và được định nghĩa như là một mô hình khai thác

Khai thác tập mục hữu ích cao (high-utility itemset) là một mở rộng của bài toán khai thác 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 thác luật kết hợp Để khai thác tập mục hữu ích cao, một giá trị được sử dụng đó là lợi ích của itemset, chẳng hạn tổng lợi nhuận

mà doanh nghiệp thu được nếu bán itemset ấy trong tập giao dịch Khác với khai thác itemset phổ biến, lợi ích của itemset không thỏa tính chất bao đóng giảm (downward closure property) nên độ phức tạp của bài toán cao Ngoài ra, CSDL thường biến động, các giao dịch thường xuyên được cập nhật chẳng hạn được thêm mới thường xuyên Việc cập nhật lại các itemset kết quả khi cơ sở dữ liệu thay đổi cũng là một trong những nhu cầu cấp thiết

Chính vì vậy tôi chọn đề tài “Khai thác tập mục hữu ích cao trên cơ sở

dữ liệu tăng trưởng” nhằm góp phần rút ngắn thời gian cũng như việc sử dụng bộ

nhớ trong quá trình khai thác

Trang 19

1.2 Vấn đề nghiên cứu của đề tài

 Làm thế nào để khai thác tập mục trên CSDL lớn và thường xuyên thay đổi?

 Có cách nào để cập nhật lại tập mục khi dữ liệu thay đổi?

 Làm thế nào để giảm số lần duyệt lại CSDL gốc trong quá trình khai thác dữ liệu?

 Bài toán có thể áp dụng trong khai thác dữ liệu bán thuốc tại bệnh viện ở Thành phố Hồ Chí Minh hay không?

1.3 Mục tiêu nghiên cứu

Nghiên cứu bài toán khai thác tập phổ biến trên cơ sở dữ liệu tăng trưởng Nghiên cứu thuật toán Pre-HUI trong việc khai thác tập mục hữu ích cao Phát triển thuật toán mới cho khai thác tập mục hữu ích cao trên cơ sở dữ liệu tăng trưởng Áp dụng vào thực tế với CSDL bán thuốc của bệnh viện

1.4 Những nội dung chính yếu cần nghiên cứu

- Tìm hiểu về những xu hướng hiện nay trong khai thác dữ liệu

- Tìm hiểu một số kỹ thuật và thuật toán đang được sử dụng trong khai thác dữ liệu

- Các thuật toán khai thác tập hữu ích cao (high utility itemset – HUI)

- Nghiên cứu bài toán khai thác tập mục hữu ích cao trên CSDL tăng trưởng

- Nghiên cứu và đề xuất thuật toán cải tiến nhằm nâng cao hiệu quả về mặt thời gian khai thác

- Thực nghiệm trên các cơ sở dữ liệu chuẩn để minh chứng tính hiệu quả của thuật toán cải tiến

1.5 Cấu trúc luận văn

Luận văn tổ chức thành 5 chương có nội dung như sau:

- Chương 1: Giới thiệu tổng quan tới bối cảnh thực tiễn định hình

hướng nghiên cứu của luận văn

Trang 20

- Chương 2: Trình bày tổng quan về khai thác dữ liệu (KTDL), khai

thác luật kết hợp và phương pháp khai thác tập phổ biến Giới thiệu về khai thác tập mục hữu cao và thuật toán Nghiên cứu bài toán khai thác tập mục hữu ích cao từ cơ sở dữ liệu tăng trưởng và thuật toán Pre-HUI

- Chương 3: Nghiên cứu mặt hạn chế của thuật toán Pre-HUI Nghiên

cứu và đề xuất thuật toán cải tiến nhằm nâng cao hiệu quả về mặt thời gian khai thác dựa trên cấu trúc cây WIT(Weighted Itemset-Tidset tree)

- Chương 4: Giới thiệu môi trường thực nghiệm, CSDL dùng để thực

nghiệm So sánh về thời gian thực hiện giữa Pre-HUI và thuật toán đề xuất

- Chương 5: Kết luận và hướng phát triển

Trang 21

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về khai thác dữ liệu

2.1.1 Khám phá tri thức và khai thác dữ liệu

Dữ liệu có thể xem là chuỗi các bit, là số, ký tự,…mà chúng ta tập hợp hàng ngày trong công việc Thông tin là tập hợp của những mảnh dữ liệu đã được chắc lọc dùng mô tả, giải thích đặc tính của một đối tượng nào đó [5]

Tri thức là tập hợp những thông tin có liên hệ với nhau, có thể xem tri thức

là sự kết tinh từ dữ liệu Tri thức thể hiện tư duy của con người về một vấn đề [5]

Hệ cơ sở tri thức là hệ thống dựa trên tri thức, cho phép mô hình hóa các tri thức của chuyên gia, dùng tri thức này để giải quyết vấn đề phức tạp thuộc cùng lĩnh vực [3]

Cùng với sự phát triển nhanh chóng của các hệ CSDL và dữ liệu tăng theo thời gian thì việc tìm kiếm và khai thác thông tin từ dữ liệu là vấn đề cần thiết để có thể giúp cho con người ra quyết định nhanh chóng dựa trên dữ liệu đã có Bên cạnh

đó tìm kiếm các tri thức tìm ẩn hay dự đoán các kết quả dựa trên CSDL đã có Do

đó, khái niệm khám phá tri thức và khai thác dữ liệu mới ra đời

KTDL là quá trình khám phá thông tin tìm ẩn có trong các CSDL lớn và có thể xem như là một bước trong quá trình khám phá tri thức, nó là quá trình mô tả và

dự đoán dựa trên các thông tin, tri thức, dữ liệu đã được lưu trữ, và phân tích các dữ liệu để tìm ra các dạng thức hoặc kết hợp có tính lặp đi lặp lại và tạo thành qui luật, các qui luật này hỗ trợ trong việc ra quyết định trong các lĩnh vực như: khoa học, giáo dục, kinh doanh [8]

Khám phá tri thức là quá trình xác định giá trị, tính hữu ích, và các mô hình tối ưu trong hệ cơ sở dữ liệu [1]

2.1.2 Quá trình khám phá tri thức

Phát hiện tri thức từ cơ sở dữ liệu là một quá trình có sử dụng nhiều phương pháp và công cụ tin học từ những CSDL trong thực tế, nhưng nó vẫn là một quá

Trang 22

Dữ liệu

thô

Dữ liệu lựa chọn

Dữ liệu tiền xử lý

Dữ liệu biến đổi

Các mẫu

Tri thức

trình mà trong đó con người làm trung tâm Quá trình phát hiện tri thức từ CSDL bao gồm năm bước chính sau đây:

Hình 2.1: Qui trình khám phá tri thức

2.1.2.1 Chọn lọc dữ liệu

Đây là giai đoạn chọn lọc, trích rút các dữ liệu cần thiết từ CSDL tác nghiệp vào một CSDL riêng Chúng ta chỉ chọn ra những dữ liệu cần thiết cho các giai đoạn sau Tuy nhiên, công việc thu gom dữ liệu vào một CSDL thường rất khó khăn vì dữ liệu nằm rải rác khắp nơi trong cơ quan, tổ chức Cùng một loại thông tin nhưng được tạo lập theo các dạng thức khác nhau, ví dụ nơi này dùng kiểu chuỗi, nơi kia lại dùng kiểu số để khai báo một thuộc tính nào đó của khách hàng

2.1.2.2 Làm sạch dữ liệu

Phần lớn các CSDL đều ít nhiều mang tính không nhất quán Do vậy, khi KTDL trên các CSDL đó thường không đảm bảo tính đúng đắn Ví dụ, trong các công ty bảo hiểm nhân thọ thì ngày sinh của khách hàng cần phải thật chính xác, trong khi đó có từ 30% - 40% thông tin về tuổi khách hàng trong CSDL ngân hàng

để trống hoặc chứa dữ liệu sai Điều này sẽ làm cho chúng ta không thể khám phá ra

mô hình về quan hệ tuổi tác

Do đó, trước khi bắt đầu KTDL, chúng ta phải tiến hành xóa bỏ dữ liệu không cần thiết, nói chung nên xóa bỏ dữ liệu sai càng nhiều càng tốt Trong thực

tế, giai đoạn này được thực hiện nhiều lần, vì trong giai đoạn KTDL mới phát hiện

Trang 23

được tính bất thường trong dữ liệu Có một số loại tiến trình xóa bỏ dữ liệu được thực thi ở mức độ cao trong khi một số loại tiến trình khác chỉ được sử dụng sau khi phát hiện ra lỗi tại giai đoạn mã hóa hay giai đoạn tìm kiếm

Các giai đoạn trong quá trình làm sạch dữ liệu [2]:

 Chống trùng lặp: dạng lỗi thứ nhất khá quan trọng trong thao tác xóa

bỏ dữ liệu đó là xóa bỏ thông tin trùng của các bản ghi Thao tác này diễn ra khi có những phần thông tin bị trùng do có sai sót trong phần nhập dữ liệu, hoặc thông tin không được cập nhật kịp thời hoặc thông tin được cung cấp bị sai

 Giới hạn vùng giá trị: dạng lỗi thứ hai thường xảy ra đó là giá trị nằm ngoài miền giá trị cho phép, nghĩa là các thông tin chứa các giá trị không hợp lệ theo một quy tắc nào đó Dạng lỗi này gây tác hại khá lớn vì rất khó phát hiện, nhưng lại có ảnh hưởng lớn đến dạng thức các mẫu cần tìm khi thực hiện KTDL trên các bảng dữ liệu này Từ đó

sẽ xuất hiện các mâu thuẫn trong các vùng dữ liệu Để sửa chữa mâu thuẫn, ta dùng giá trị NULL để thay thế vào những thông tin chưa biết trong các trường của bảng và cứ tiến hành sửa chữa các mâu thuẫn

 Làm giàu dữ liệu: mục đích của giai đoạn này là bổ sung thêm nhiều loại thông tin có liên quan vào cơ sở dữ liệu gốc Để làm được điều này, chúng ta phải có các CSDL khác ở bên ngoài có liên quan đến CSDL gốc ban đầu, ta tiến hành bổ sung những thông tin cần thiết,

làm tăng khả năng khám phá tri thức từ CSDL

2.1.2.3 Mã hóa dữ liệu

Mục đích của giai đoạn mã hóa là chuyển đổi kiểu dữ liệu về những dạng thuận tiện để tiến hành các thuật toán khám phá dữ liệu Có nhiều cách mã hóa dữ liệu khác nhau theo từng loại dữ liệu:

 Phân vùng: với dữ liệu là giá trị chuỗi, nằm trong tập các chuỗi cố định

Trang 24

 Biến đổi giá trị năm thành con số nguyên là số năm đã trôi qua so với năm hiện hành

 Chia giá trị số theo một hệ số để tập các giá trị nằm trong vùng nhỏ hơn

 Chuyển đổi yes/no thành 0/1

2.1.2.4 Khai thác dữ liệu

KTDL là một trong các bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu Đây cũng chính là tiến

trình “điều chỉnh đúng” các mô hình dữ liệu Chức năng biến đổi dữ liệu được đưa

vào bước này với mục đích để trình diễn dữ liệu

2.1.2.5 Biểu diễn dữ liệu

Là quá trình giải thích và hiển thị trực quan các kết quả KTDL để 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à thể hiện mô hình Mỗi bước (trừ bước lưu trữ dữ liệu) cho phép tương tác người dùng và một số bước có thể được thực hiện hoàn toàn thủ công

2.1.3 Các kỹ thuật khai thác dữ liệu

Có 2 kỹ thuật khai thác dữ liệu chính đó là:

 Kỹ thuật KTDL mô tả: đặc điểm của kỹ thuật này là mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Kỹ thuật này gồm có: Phân cụm (clustering), phân tích luật kết hợp (association rules) …

 Kỹ thuật KTDL dự đoán: đư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

(Classifacation) , hồi quy (regession)

2.1.4 Ứng dụng trong khai thác dữ liệu

Ứng dụng trong việc phân tích dữ liệu đã có để hổ trợ người dùng đưa ra quyết định nhanh chóng (ứng dụng phổ biến):

 Phân tích dữ liệu về thị trường, tài chính

Trang 25

 Quản lý và phân tích rủi ro

 Ứng dụng trong các lĩnh vực khoa học và hệ thống thông tin

 Trong lĩnh vực y tế: dựa vào các triệu chứng để phân tích và từ đó đưa

2.1.5 Những thách thức trong khai thác dữ liệu

Hiện nay có rất nhiều các giải pháp và phương pháp được ứng dụng trong khai thác dữ liệu nhưng trên thực tế vẫn gặp không ít khó khăn và thách thức như:

 Cơ sở dữ liệu lớn về kích thước

 Dữ liệu động

 Các trường dữ liệu không phù hợp, bị thiếu hoặc bị nhiễu

 Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp

 Sự tương tác với người sử dụng các tri thức sẳn có

 Tích hợp với các hệ thống khác

 Và một số trường hợp khác, …

2.2 Tổng quan về khai thác luật kết hợp

2.2.1 Khái niệm khai thác luật kết hợp

Khai thác luật kết hợp: Là tìm các mẫu phổ biến, sự kết hợp, sự tương quan, hay các cấu trúc nhân quả giữa các tập đối tượng trong các cơ sở dữ liệu giao tác, cơ sở dữ liệu quan hệ, và những kho thông tin khác [1]

Trang 26

Một tập mục X được gọi là tập mục k phần tử (k-itemset) nếu lực lượng của

X bằng k (tức là |X|=k)

Định nghĩa 1: Độ hỗ trợ là biểu thị tần số luật có trong các giao tác Độ hỗ

trợ của tập mục X được tính bằng 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à:

𝑠𝑢𝑝 𝑝𝑜𝑟𝑡(𝑋) = |𝑇 ∈ 𝐷/𝑋  𝑇 |

|𝐷|

các mục, X, Y  I và X Y = 

 X được gọi là tiên đề

 Y được gọi là hệ quả của luật

lượng các giao dịch chứa cả X và Y (XY) với tổng số giao dịch trong cơ sở dữ liệu

𝑠𝑢𝑝 𝑝𝑜𝑟𝑡 = Tổng sổ lổổng giao dổch hổ trổ 𝑋  𝑌

Tổng sổ lổổng giao dổch

Định nghĩa 2.4: Độ tin cậy (confidence) là tỷ lệ phần trăm giữa số lượng

các giao dịch chứa cả X và Y ( XY) với số giao dịch có chứa X

𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 =Tổng sổ lổổng giao dổch hổ trổ 𝑋  𝑌

Tổng sổ lổổng giao dổch hổ trổ 𝑋

(2.2)

(2.3) (2.1)

Trang 27

Ngoài ra còn có ngưỡng do người dùng qui định đó là độ hỗ trợ tối thiểu (minsup) và độ tin cậy tối thiểu (minconf) Nếu tập mục X có sup(X) 

minsup thì ta nói X là một tập mục phổ biến

2.2.3 Các hướng tiếp cận luật kết hợp

Cùng với sự phát triển vượt bậc của KTDL thì khai thác luật kết hợp cũng phát triển theo nhiều hướng khác nhau Những thuật toán mới được đề xuất để

nhằm cải thiện khả năng tìm kiếm hiệu quả hơn và sau đây là một số hướng:

 Luật kết hợp nhị phân (Binary Association Rule): có thể nói đây là hướng nghiên cứu mới Cá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 cơ sở dữ liệu (không quan tâm về

“mức độ“ xuất hiện) Thuật toán tiêu biểu của dạng này là thuật toán

sử dụng

 Luật kết hợp với thuộc tính được đánh trọng số (Association rules with weighted items): trong các thuộc tính của CSDL thì có một số thuộc tính quan trọng trong quá trình khai thác vì vậy những thuộc tính đó sẽ được đánh trọng số theo mức độ xác định nào đó trong quá

Trang 28

trình tìm kiếm Nhờ vậy mà ta thu được những luật hiếm tức là những luật có độ hỗ trợ thấp nhưng mang ý nghĩa quan trọng

 Khai thác song song luật kết hợp (Parallel mining of association rule):

do nhu cầu phát triển của công nghệ thì nhu cầu song song hoá và xử

lý phân tán là rất cần thiết vì kích thước của dữ liệu ngày càng lớn theo thời gian nhưng phải đảm bảo về tốc độ xư lý

Những hướng tiếp cận của khai thác luật kết hợp nhằm tìm kiếm các luật một cách linh hoạt trong những CSDL lớn Bên cạnh đó, dung lượng dữ liệu ngày càng tăng theo thời gian thì việc nghiện cứu ra các thuật toán mới nhằm làm giảm thời gian khai thác là hết sức cần thiết trong quá trình khai thác

2.2.4 Khai thác tập mục phổ biến

Bài toán khai thác tập phổ biến là bài toán rất quan trọng trong lĩnh vực KTDL, nhờ có bài toán này mà chúng ta mới có thể phát hiện ra tính chất ẩn, quan trọng của tập dữ liệu

Khai thác tập phổ biến là nền tảng cho nhiều nhiệm vụ trong KTDL khác như:

 Phân tích luật kết hợp, mối tương quan

 Mẫu tuần tự, cấu trúc

 Phân tích dữ liệu không gian, đa phương tiện, phụ thuộc thời gian

 Phân loại dựa trên luật kết hợp

 Phân tích nhóm: gom nhóm dựa trên mẫu phổ biến

Khai thác tập phổ biến thường được mô tả là một quá trình lấy thông tin có giá trị từ CSDL lớn, việc khai thác này bắt nguồn từ dạng mẫu có sẵn tồn tại trong CSDL, các mẫu này có khuynh hướng gom nhóm lại với nhau và được định nghĩa như là một mô hình khai thác

Trong các nghiên cứu thị trường, khai thác tập phổ biến từ CSDL giao tác

chính là công việc khám phá ra những tập mục (itemset) thường xuất hiện cùng nhau trong các giao tác Tuy nhiên, lợi nhuận theo đơn vị sản phẩm (unit profits) và

số lượng mua (quantities) của các mục (item) chưa được xét đến trong khuôn khổ

Trang 29

khai thác tập phổ biến Do đó, để thỏa mãn nhu cầu của người dùng trong khám phá tìm ra những tập mục có lợi nhuận cao là rất khó Việc khai thác tính hữu ích đã trở thành một đề tài quan trọng trong khai thác dữ liệu nhằm khám phá ra những tập mục có độ hữu ích hay lợi nhuận cao

2.3 Giới thiệu về khai thác tập mục hữu ích cao

Khai thác tập mục hữu ích cao là bài toán mở rộng và tổng quát của khái thác tập phổ biến Trong khai thác tập mục hữu ích cao, giá trị của item trong giao tác được quan tâm nhiều nhất (như số lượng đã bán của mặt hàng), ngoài ra còn có bảng lợi ích cho biết lợi ích mang lại khi bán một đơn vị hàng đó Lợi ích của một tập mục là số đo lợi nhuận của tập mục đó đóng góp trong CSDL, nó có thể là tổng lợi nhuận hay tổng chi phí của tập mục

Khai thác tập mục hữu ích cao là khám phá ra tất cả các tập mục có lợi ích không nhỏ hơn ngưỡng phổ biến tối thiểu do người dùng qui định Mục đích chính của các bài toán khai thác tập mục hữu ích cao là làm giảm thiểu kích thước của tập ứng viên và làm đơn giản hóa quá trình tính toán độ hữu ích các tập mục từ đó giảm

số lượng ứng viên cho tập mục hữu ích cao, giảm thời gian khai thác

Cách tiếp cận đơn giản nhất cho bài toán khai thác tập mục hữu ích cao là liệt kê tất cả các tập mục từ CSDL giao tác theo nguyên lý vét cạn, cách tiếp cận này sẽ gặp phải vấn đề về thời gian, không gian khi tìm kiếm quá lớn và nhất là khi

CSDL chứa nhiều giao tác hoặc ngưỡng min_util đặt ra quá thấp Do đó, làm thế

nào để lược bỏ bớt không gian tìm kiếm và tìm đủ tất cả tập mục hữu ích cao một cách hiệu quả là một thách thức lớn trong khai thác tính hữu ích [4]

Mô hình khai thác tập mục hữu ích cao đã được Liu và các đồng sự đề xuất

với thuật toán Two-Phase, trong thuật toán Two-Phase có đề cập đến lợi ích của giao tác và lợi ích của tập mục theo các giao tác chứa nó Tuy nhiên, thuật toán Two-Phase

đã mất rất nhiều thời gian khi khai thác tập mục hữu ích cao trên các CSDL lớn do

việc sinh ra số lượng rất lớn số mục (ứng viên) và tốn nhiều lần duyệt CSDL

Các thuật toán khai thác tập mục hữu ích cao được đề xuất sau đó áp dụng phương pháp ước lượng dư để tăng hiệu suất khai thác tính hữu ích Trong những

Trang 30

phương pháp này, các tập mục hữu ích tiềm năng được tìm ra trước, sau đó CSDL

sẽ được duyệt thêm lần nữa để xác định độ hữu ích thực sự của chúng Để giảm được đáng kể số lượng ứng viên phát sinh để tìm ra các tập mục hữu ích cao một cách hiệu quả từ các CSDL có số lượng giao tác lớn

2.3.1 Một số định nghĩa của bài toán

Cho một tập mục 𝐼 chứa các mục (hay còn gọi là item) từ 1 đến m sao cho 𝐼={𝑖1,𝑖2, ,ij, , 𝑖𝑚}, trong đó mỗi mục 𝑖j sẽ có một lợi nhuận cố định được ký hiệu là 𝑝(𝑖j)

Một tập mục X được gọi là tập mục (hay itemset) k phần tử phân biệt với

X = {𝑖1,𝑖2, ,ik) trong đó 𝑖j  I và 1≤ k ≤ m, khi đó 𝑋 còn được gọi là tập k-mục (hay k-itemset)

Cho một CSDL có n giao dịch được ký hiệu là D = {T1, T2, , Tn} với 1≤ d ≤

n, trong đó mỗi giao dịch Td được ký hiệu là TID và mỗi mục ij trong giao dịch Td chứa một giá trị được gọi là số lượng và ký hiệu là q(ij,Td)

Ví dụ: Cho một CSDL D được biểu diễn ở dạng ma trận nhau sau:

Bảng 2.1: Bảng biểu diễn CSDL giao dịch

Trang 31

Bảng 2.2: Bảng lợi nhuận của các item trong CSDL

là u(ij,Td) và tính bằng công thức sau:

𝑢(𝑖𝑗, 𝑇𝑑) = 𝑞(𝑖𝑗, 𝑇𝑑) × 𝑝(𝑖𝑗)

Ví dụ: Tính độ hữu ích của mục A trong giao dịch T9

u({A},T3) = q({A},T3) x p({A}) = 1 x 3 = 3

là u(X,Td) và tính bằng công thức:

𝑢(𝑋, 𝑇𝑑) = ∑𝑖𝑗∈𝑋 & 𝑋 𝑇𝑑𝑢(𝑖𝑗, 𝑇𝑑)

Ví dụ: Tính độ hữu ích của tập mục {AB} trong giao dịch T9

u({AB},T9) = u({A},T9) + u({B},T9) = 3 + 10 = 13

Định nghĩa 3: Độ hữu ích của tập mục X trong CSDL D được ký hiệu là

u({AD}) = u({AD},T4) + u({AD},T8) = 9 + 27 = 36

Định nghĩa 4: Một tập mục được gọi là tập mục hữu ích cao nếu độ hữu

ích của nó không nhỏ hơn một ngưỡng hữu ích tối thiểu min_util do người dùng đặt

ra Ngược lại, nó được gọi là tập mục hữu ích thấp

Định nghĩa 5: Độ hữu ích giao dịch (Transaction Utility) của một giao

dịch Td được ký hiệu là tu(Td) và tính bằng công thức:

Trang 32

Ví dụ: Tính độ hữu ích giao dịch của T1, ta có 2 mục {C} và {E} tham gia trong giao dịch

Định nghĩa 6: Trọng số độ hữu ích của giao dịch (Transaction – Weighted

Utilization) của một tập mục 𝑋 là tổng độ hữu ích giao dịch của tất cả các giao dịch

chứa 𝑋, ký hiệu là twu(𝑋) và được tính bằng công thức:

𝑋∈𝑇𝑑 & 𝑇𝑑∈𝐷

Ví dụ: Tính trọng số độ hữu ích của giao dịch của tập mục {AD} trong CSDL, ta có 2 giao dịch chứa tập mục {AD} là T4 và T8

twu ({AD}) = tu(T4) + tu(T8) = 14 + 57 = 71

Định nghĩa 7: Bao đóng giảm theo giao tác (Transaction – Weighted

Downward Closure, viết tắt là TWDC), được phát biểu như sau Với mọi tập mục 𝑋,

nếu 𝑋 không phải là một HTWUI, bất kỳ tập cha nào của 𝑋 cũng là tập hữu ích thấp Theo định nghĩa này, tính chất bao đóng giảm có thể được duy trì bằng cách

sử dụng trọng số độ hữu ích theo giao tác

(2.8)

Trang 33

2.3.2 Các nghiên cứu liên quan

Thuật toán nổi tiếng là Apriori là thuật toán tiên phong trong việc khai thác luật kết hợp từ các CSDL lớn Mục đích của thuật toán Apriori [10] là tìm ra được tất cả các tập phổ biến có thể có trong CSDL giao tác, Apriori hoạt động theo nguyên tắc quy hoạch động do đó nó sinh ra rất nhiều tập phổ biến và phải duyệt CSDL nhiều lần Sau đó, các hướng nghiên cứu dựa trên cấu trúc cây như FP-

Growth [9] đã được đề xuất bởi Han cùng các đồng sự FP-Growth được công nhận

rộng rãi là có hiệu suất tốt hơn hướng tiếp cận Apriori do nó tìm tập phổ biến mà không sinh bất kỳ tập ứng viên nào và chỉ duyệt CSDL gốc hai lần

Tuy nhiên, thuật toán Apriori hay FP-Growth chỉ mới quan tâm đến các tập phổ biến nhưng yếu tố quan trọng nhất đó là người dùng thì chưa được quan tâm đến Vì vậy các nghiên cứu chuyên sâu về các thuất toán để đáp ứng như cầu của con người là việc tất yếu Hiện nay có nhiều phương pháp để khai thác tập mục hữu ích cao, chẳng hạn như Two-Phase, TWU-Mining, …

2.3.2.1 Thuật toán khai thác tập mục hữu ích cao Two-Phase

Thuật toán Two-Phase được đề xuất bởi Liu cùng các đồng sự [12], trong

thuật toán này được chia ra hai giai đoạn chính và gọi là phase 1 và phase 2 Phase sinh ra các tập mục ứng viên độ dài k từ các HTWUI có độ dài (k - 1) và lược bớt tập mục ứng viên bằng tính chất TWDC Trong mỗi lần lặp, các HTWUI và trọng số độ hữu ích của TWU chúng được tính bằng cách duyệt CSDL Sau giai đoạn 1 ta sẽ thu được toàn bộ tập HTWUI Ở giai đoạn 2, các tập mục hữu ích cao

Two-và độ hữu ích của chúng sẽ được xác định từ các HTWUI bằng cách duyệt CSDL gốc thêm lần nữa

Phase 1: Thuật toán Two-Phase triển khai chiến lược tìm kiếm theo chiều

rộng để liệt kê tất cả các HTWUI Tính độ hữu ích giao tác TU và tiến hành tính thêm trọng số độ hữu ích giao tác TWU của từng itemset Sau đó giá trị TWU sẽ

được so sánh với ngưỡng min_util để sinh ra tập ứng viên có tập mục hữu ích cao

HTWUI , trong quá trình này CSDL được duyệt m lần ứng với mỗi lần là k-tập mục

(1-tập mục, 2-tập mục, …, k-tập mục)

Trang 34

Dựa vào CSDL giao tác D đã được trình bày trong bảng 2.1 ta tiến hành lặp từ

k = 1 đến m, với m là số mục trong CSDL giao tác D và lợi nhuận của các mục được

thể hiện trong bảng 2.2 Ngưỡng min_util = 170 ta có các bước thực hiện như sau:

 Bước 1: Với k=1 (1-itemset)

Bảng 2.4: Two-Phase với 1-itemset

 Bước 2: Với k=2 (2-itemset)

 Bước 3: Với k=3 (3-itemset)

Bảng 2.6: Two-Phase với 3-itemset

 Bước 4: Với k=4 (4-itemset): bước này thuật toán không tạo ra bất

kỳ 4-itemset nào được từ bước 3 nên thuật toán dừng

Sau khi kết thức phase 1 có 9 tập itemset sau: {B}, {C}, {D}, {E}, {BD}, {BE}, {CE}, {DE}, {BDE} trong HTWUI Trong pha này, các tập mục có twu thấp thì sẽ bị loại trong quá trình phát sinh ứng cử viên mới

Trang 35

Phase 2: Trong giai đoạn này, toàn bộ CSDL sẽ được yêu cầu quét lại để

chọn ra các itemset có độ hữu ích cao từ tập mục có trọng số độ hữu ích cao trong tập HTWUI được tính trong phase 1

Bảng 2.7: Two-Phase với các itemset có độ hữu ích cao

Tuy nhiên, thuật toánTwo-Phase vẫn tồn tại hiện tượng sinh ra lượng lớn ứng viên và duyệt CSDL nhiều lần Để giải quyết vấn đề sinh ra nhiều ứng viên và duyệt CSDL nhiều lần, sau đây là thuật toán TWU-Mining với nền tảng là cấu trúc cây WIT-Tree sẽ làm giảm số lần duyệt CSDL nhưng vẫn hiệu quả

2.3.2.1 Thuật toán khai thác tập mục hữu ích cao TWU-Mining

Thuật toán TWU-Mining [6] được xây dựng trên nền tảng cây WIT-Tree, thuật toán bao gồm hai giai đoạn và được gọi là phase 1 và phase 2

 Phase 1: tìm tất cả các itemset có trọng số độ hữu ích cao trong giao dịch không nhỏ hơn ngưỡng minutil của người dùng qui định

 Phase 2: trong giai đoạn này sẽ tính giá trị độ hữu ích của các itenset trong tập HUIs dựa trên Tidset

a Cấu trúc cây WIT-Tree

Cấu trúc cây WIT-Tree được mở rộng từ thuật toán IT-Tree [6] Mỗi nút N trong cây bao gồm các thuộc tính như:

 N.X : chứa itemset

 N.Tidset : là tập số thứ tự của các giao dịch chứa itemset X

 N.twu : tổng trọng số độ hữu ích của các itemset X trên tất cả các

Trang 36

Nguyên tắc phát sinh cây: bước đầu tiên của WIT-Tree chứa 5 item {A,

B, C, D, E} với cùng với tidset và twu tương ứng

Bảng 2.8: WIT-Tree với từng item đơn

Tương tự cho các node khác, sau khi thực hiện xong thuật toán ta có cây như sau:

Hình 2.2: Xây dựng cây WIT-Tree

Trang 37

TWU-Mining()

1 HUIs = 

2 [] = {it(i)| i  I  twu(i) minutil}

3 SORT([]) // Sorted in ascending order by their |Tidset|

b Thuật toán TWU-Mining

Thuật toán bắt đầu với việc khởi tạo tập chứa các item mà thoả điều kiện twu(i) ≥ minutil và sắp xết thứ tự tăng dần của Tidset Sau đó gọi hàm TWU-Mining và truyền các tham số, ứng với mỗi li với lj (i>j và i<m) ta có: X = li lj và

Y = Tidset(li)  Tidset(lj) Dựa vào Tidset(X) sẽ tính được twu(X) ≥ minutil thì sẽ đưa vào tập [Pi] và thuật toán sẽ gọi đệ qui cho đến khi kết thúc Xét từng itemset trong tập [P], thuật toán sẽ tính được giá trị độ hữu ích của itemset dựa vào Tidset Nếu u(X) ≥ minutil thì sẽ đưa itemset đó vào tập HUIs

Đầu vào: CSDL giao dịch, bảng lợi ích của các item, ngưỡng minutil

Đầu ra: Tập itemset có độ hữu ích cao HUIs

Thuật toán được phát biểu như sau [6]:

Trang 38

DEx2478 253/56

Dx2478 253/36

Ex123457810 372/50

{ }

Bx267910 280/240

Cx135810 176/48

BDx27 182/172

BEx2710 254/240

BDEx27 182/182

CEx135810 253/56

Dựa vào CSDL giao tác D đã được trình bày trong bảng 2.1 với m là số mục trong CSDL giao tác D và lợi nhuận của các mục được thể hiện trong bảng 2.2

Ngưỡng min_util = 170 ta sẽ có kết quả như sau:

Hình 2.4: Kết quả thuật toán TWU-Mining

2.4 Khai thác tập mục hữu ích cao trên cơ sở dữ liệu tăng trưởng

2.4.1 Tổng quan

Luật kết hợp là cách tiếp cận phổ biến nhất trong các kỹ thuật khai thác dữ liệu Nó tìm tất cả các tập phổ biến dựa trên ngưỡng độ hổ trợ tối thiểu do người dùng định nghĩa, từ đó sinh ra các tập phổ biến dựa trên ngưỡng đã qui định Tuy nhiên, tần số xuất hiện của itemset chưa đủ để xác định tập phổ biến có lợi ích cao

Ngoài tần số xuất hiện hay không xuất hiện của các itemset trong cơ sở dữ liệu còn phụ thuộc vào các yếu tố như: giá, số lượng hoặc lợi nhuận không được xác định

trong luật kết hợp Lợi ích của một itemset X được định nghĩa như là u(X), nó được

tính bằng tổng của các lợi ích itemset X trong tất cả giao dịch chứa X Nếu u(X) lớn hơn hoặc bằng ngưỡng tối thiểu thì itemset X được xem là itemset có lợi ích cao

Trang 39

 Ngoài ra, còn có lợi ích của itemset BC và AC

u(BC)=(2  3) + (1  2) = 8 u(AC)=(3  1) + (2  2) = 8 Liu và các đồng sự [12] đề xuất ra một thuật toán hai pha và thiết kế thuộc tính dựa trên trọng số độ hữu ích của giao dịch (TWU) cho việc lấy ra các itemset

có độ hữu ích cao TWU được xem như là ngưỡng trên của mỗi ứng cử viên itemset trong một giao dịch từ đó làm giảm bớt số lượng ứng cử viên itemset cho lần xử lý sau trong thuật toán hai pha Khi dữ liệu mới được thêm vào trong cơ sở dự liệu sẽ tính giá trị lợi ích thực sự của các ứng cử viên để xác định các itemset có lợi ích cao

Trong các phương pháp trước đó, cơ sở dữ liệu khai thác là thường là dạng tĩnh và xử lý dữ liệu theo lô Trên thực tế, các giao dịch có thể được tự động thêm vào trong cơ sở dữ liệu ban đầu Vì vậy việc phát triển một thuật toán hiệu quả để từng bước cập nhật các luật được phát hiện với mong muốn khai thác dữ liệu động

Trang 40

Trong ứng dụng thực tế, giao dịch CSDL thường tăng lên theo thời gian và thủ tục cho khai thác luật kết hợp được thực hiện chế độ hàn loạt Các thuật toán khai thác hàng loạt truyền thống giải quyết các vấn đề này bằng cách quét lại toàn

bộ dữ liệu khi giao dịch được chèn, xóa hoặc sửa đổi trong cơ sở dữ liệu động

Hong và các đồng sự [11] đã đề xuất ra khái niệm “pre-large” để định nghĩa các itemset phổ biến (large itemsets) và itemset gần phổ biến (pre-large itemsets) dựa

trên ngưỡng trên và ngưỡng dưới cho một ngưỡng an toàn của những giao dịch mới

để giảm số lần yêu cầu quét lại cơ sở dữ liệu Một thuật toán cộng dồn dựa trên khái niệm tăng trưởng để cập nhật lại các itemset có độ hữu ích cao được phát hiện ra khi thêm các giao dịch mới

Trong thuật toán này, khái niệm pre-large được sử dụng để giảm số lần quét lại CSDL ban đầu bằng cách xác định số giao dịch mới được chèn vào Một pre-large itemset không phải là thực sự lớn nhưng có thể dễ dàng trở thành lớn trong tương lai thông qua các dữ liệu trong quá trình thêm vào CSDL Hai ngưỡng hỗ trợ được sử dụng tương ứng để khám phá các tập phổ biến và gần phổ biến nhằm làm giảm số lần quét lại của CSDL ban đầu Quá trình quét lại dữ liệu ban đầu đòi hỏi sẽ mất nhiều thời gian trong quá trình tính toán vì vậy ngưỡng dưới nhằm giảm số lần quét lại CSDL Các CSDL ban đầu được yêu cầu quét lại chỉ khi số lượng chèn giao dịch là lớn hơn ngưỡng an toàn Thuật toán này có nhiều hơn hiệu quả hơn so với các phương pháp tiếp cận hàng loạt và các khái niệm FUP

Những điểm mới của thuật toán được mô tả như sau:

 Khai thác dữ liệu cách truyền thống thì không hiệu quả gây lãng phí khi phá hiện ra các thông tin cập nhật vào trong CSDL với một lượng nhỏ dữ liệu được thêm vào Trong thuật toán này, một phương pháp hiệu quả được đề xuất khi thêm các giao dịch cho khai thác lợi ích

 Cách tiếp cận 2 pha làm giảm số lần của ứng cử viên itemset trong khai thác lợi ích thông qua đó làm tăng tốc thời gian xử lý cho việc khai thác itemset có lợi ích cao

Ngày đăng: 31/10/2016, 22:32

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w