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

Khai thác mẫu phổ biến trên cơ sở dữ liệu tăng trưởng sử dụng cấu trúc node set

79 165 2

Đ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 79
Dung lượng 1,65 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

HCMChuyên ngành: Công nghệ Thông tin...MSHV:1541860024 I- Tên đề tài: Khai thác mẫu phổ biến trên cơ sở dữ liệu tăng trưởng sử dụng cấu trúc set.. Gần đây, Node-list Deng &Wang, 2010 và

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

-LÊ MINH TÂM

KHAI THÁC MẪU PHỔ BIẾN TRÊN CƠ SỞ

DỮ LIỆU TĂNG TRƯỞNG SỬ DỤNG CẤU

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

-LÊ MINH TÂM

KHAI THÁC MẪU PHỔ BIẾN TRÊN CƠ SỞ

DỮ LIỆU TĂNG TRƯỞNG SỬ DỤNG CẤU

Trang 3

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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

Cán bộ hướng dẫn khoa học: PGS.TS VÕ ĐÌNH BẢY

Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP HCMngày 24 tháng 4 năm 2017

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

Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã đượcsửa chữa (nếu có)

Chủ tịch Hội đồng đánh giá LV

TS CAO TÙNG ANH

Trang 4

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Lê Minh Tâm Giới tính: Nữ Ngày, tháng, năm sinh: 26/ 09/ 1988 Nơi sinh: TP HCMChuyên ngành: Công nghệ Thông tin MSHV:1541860024

I- Tên đề tài:

Khai thác mẫu phổ biến trên cơ sở dữ liệu tăng trưởng sử dụng cấu trúc set

Node-II- Nhiệm vụ và nội dung:

Tìm hiểu cơ sở lý thuyết thuật toán Apriori, FP-Growth, PPV, Prepost, FIN, Prelarge-Tree

Cải tiến thuật toán Prelarge-Tree dựa vào cấu trúc Node-set và thuật toán FIN

III- Ngày giao nhiệm vụ:

IV- Ngày hoàn thành nhiệm vụ: 31/ 03/ 2017

V- Cán bộ hướng dẫn: PGS.TS VÕ ĐÌNH BẢY

CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH

PGS.TS VÕ ĐÌNH BẢY PGS.TS VÕ ĐÌNH BẢY

Trang 5

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 Các số liệu, kếtquả 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

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận vănnày đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồngốc

Học viên thực hiện luận văn

Lê Minh Tâm

Trang 6

Xin chân thành cảm ơn Thầy hướng dẫn PGS Võ Đình Bảy đã tận tình, chuđáo hướng dẫn tôi thực hiện khoá luận này.

Mặc dù đã có nhiều cố gắng để thực hiện đề tài một cách hoàn chỉnh nhất.Song do buổi đầu làm quen với công tác nghiên cứu khoa học, tiếp cận với thực tếsàn xuất cũng như hạn chế về kiến thực và kinh nghiệm nên không thể tránh khỏinhững thiếu sót nhất định mà bản thân chưa thấy được Tôi rất mong được sự góp ýcủa quý Thầy, Cô để khoá luận được hoàn chỉnh hơn

Tôi xin chân thành cảm ơn

Lê Minh Tâm

Trang 7

TÓM TẮT

Ngành công nghiệp công nghệ thông tin ngày càng phát triển, đòi hỏi lượngthông tin lưu trữ ngày càng cao Khả năng ứng dụng khai thác dữ liệu nhằm phát hiệncác quy luật thông tin trong lượng dữ liệu khổng lồ, giúp đưa ra những quyết định đúngđắn mang lại cơ hội phát triển mạnh mẽ cho các doanh nghiệp

Mặc dù đã có nhiều thuật toán khai thác dữ liệu như Approri (Agrawal &Srikant,1994), Eclat (Zaki, 2000), FP-Growth (Han và các đồng sự, 2000) nhưng chưahiệu quả và phù hợp với lượng lớn dữ liệu hiện nay Gần đây, Node-list (Deng &Wang,

2010) và N-list (Deng, Wang, & Jiang, 2012) là hai cấu trúc dữ liệu được sử dụngphổ biến, nó được chứng minh là rất hiệu quả trong việc khai thác tập phổ biến Vấn

đề chính đặt ra đối với những cấu trúc này là, cả hai thuật toán đều phải mã hóa chotừng nút một của PPC-Tree với mã pre-order và post-order Đây là nguyên nhân gâytốn bộ nhớ vá bất tiện trong quá trình khai thác tập phổ biến Vì vậy, cấu trúc Node-set(Deng & Lv, 2014) hiệu quả hơn cho việc khai thác tập phổ biến Node-set chỉ yêucầu pre-order hoặc post- order cho mỗi nút, chính điều này giúp cho Node-set tiếtkiệm một nửa bộ nhớ so với Node-list và N-list

Luận văn nhằm tìm hiểu cấu trúc Node-set và áp dụng trong khai thác tập phổbiến trên cơ sở dữ liệu tăng trưởng

Trang 8

ABSTRACT

The IT industry is growing, demanding an increasing amount of information.The ability to utilize data mining to detect information rules in huge amounts of datahelps to make the right decisions that provide a strong opportunity for business growth

Although many data mining algorithms, such as Approri (Agrawal &

Srikant,

1994), Eclat (Zaki, 2000), FP-Growth (Han et al., 2000), are not efficient andconsistent with large amounts of data Current data Recently, Node-list (Deng &Wang, 2010) and N-list (Deng, Wang, & Jiang, 2012) are two commonly used datastructures, which have proved to be very effective in stating Popular file pool Themain problem with these constructs is that both algorithms must encode each node ofthe PPC-Tree with pre-order and post-order code This is the cause of memory lossinconvenient patch during the common file exploit Therefore, the Node-set (Deng &

Lv, 2014) structure is more efficient for common file mining Node-sets only requirepre-order or post-order for each node, which in turn allows Node-sets to save half thememory compared to Node-lists and

N-lists

The thesis aims to investigate the Node-set structure and apply in the popular file mining on the incremental database

Trang 9

MỤC LỤC

MỞ ĐẦU 1

1- Nhu cầu thực tiễn 1

2- Mục tiêu đề tài 1

3- Phạm vi nghiên cứu đề tài 1

4- Bố cục đề tài 2

CHƯƠNG 1- TỔNG QUAN VỀ ĐỀ TÀI 4

I- giới thiệu về khai thác dữ liệu 4

1- Dữ liệu là gì? 4

2- Khai thác dữ liệu là gì? 4

3- Quy trình phát hiện tri thức và khai thác dữ liệu 5

4- Các k thuật khai thác dữ liệu 7

CHƯƠNG 2- CƠ SỞ LÝ THUYẾT 8

I- KHAI THÁC DỮ LIỆU 8

1- Khai thác luật kết hợp 8

2- Khai thác tập phổ biến 8

II- Các thuật toán khai thác tập phổ biến 10

1- Khai thác tập phổ biến sử dụng thuật toán Apriori 10

2- Khai thác tập phổ biến sử dụng thuật toán FP-growth 14

3- Khai thác tập phổ biến sử dụng thuật toán PPV 18

4- Khai thác tập phổ biến sử dụng thuật toán PrePost 25

5- Tìm hiểu cấu trúc POC-Tree, Node-set và thuật tóan FIN 33

CHƯƠNG 3 - ỨNG DỤNG NODE-SET TRONG KHAI THÁC TẬP PHỔ BIẾN TRÊN CƠ SỞ DỮ LIỆU TĂNG TRƯỞNG 46

I- Giới thiệu 46

II- Khai thác tập phổ biến trên cơ sở dữ liệu tăng Trưởng 46

1- Thuật toán Prelarge-itemset 47

2- Thuật toán cập nhật Incremental_FIN 48

Trang 10

3- Ví dụ minh họa 52

CHƯƠNG 4- KẾT QỦA THỰC NGHIỆM 59

I- Môi trường thực nghiệm 59

II- Dữ liệu thực nghiệm 59

III- So sánh thời gian khai thác 59

1- Khai thác dữ liệu Mushroom 60

2- Khai thác dữ liệu T40l10D100K 61

3- Khai thác dữ liệu Connect 62

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

I- Điểm mạnh 63

II- Điểm yếu 63

1- Hiệu quả của đề tài 63

2- Hướng phát triển trong tương lai 63

Trang 11

Pre-large tree : Cây tăng trưởng

Small itemset : Tập không phổ biến

 Độ phổ biến

(Support)

Trang 12

DANH MỤC CÁC BẢNG

Bảng 2 1: CSDL các giao dịch 8

Bảng 2 2: Độ phổ biến của các tập 1-mục 10

Bảng 3 1: Cơ sở dự liệu ban đầu 52

Bảng 3 2: Ba giao dịch mới 53

Bảng 3.3: Số lượng của tất cả các tập trong giao dịch mới 55

Bảng 3.4: Vùng của các tập trong giao dịch mới 55

Bảng 3.5: Ba phân vùng của tập trong các giao dịch mới 56

Bảng 4.1: Đặc điểm của các cơ sở dữ liệu thực nghiệm 59

Trang 13

DANH MỤC CÁC BIỂU ĐỒ, ĐỒ THỊ, SƠ ĐỒ, HÌNH ẢNH

Hình 1.1: Quy trình phát triển tri thức và khai thác dữ liệu 5

Hình 2.1: Bước 1 và 2 của thuật toán Apriori tìm tập phổ biến 1-mục 12

Hình 2.2: Bước 3 và 4 của thuật toán Apriori tìm tập phổ biến 2-mục .12

Hình 2.3: Bước 5 và 6 của thuật toán Apriori tìm tập phổ biến 3-mục 13

Hình 2.4: Bước 7 và 8 của thuật toán Apriori tìm tập phổ biến 4-mục .13

Hình 2.5: Bước 9 và 10 của thuật toán Apriori tìm tập phổ biến 5-mục 13

Hình 2.6: Tập phổ biến 1-mục 17

Hình 2.7: Cây FP-tree cho CSDL bảng 2.1 17

Hình 2.8: Cây PPC-Tree cho CSDL của bảng 2.1 19

Hình 2.9: Node-list của tập phổ biến 20

Hình 2.10: Node-list của bc 21

Hình 2.11: Node-list của bce 22

Hình 2.12: Minh hoạ khởi dựng PPC-tree 25

Hình 2.13: Tập phổ biến của N-list 26

Hình 2.14: N-list của bf 28

Hình 2 15: N-list của bcf 33

Hình 2.16: POC-tree sau khi chạy thuật toán 2.11 theo dữ liệu của bảng 2.1 35

Hình 2.17: Chỉ ra các Node-set của tất cả tập phổ biến 36

Hình 2.18: Node-set của bf 37

Hình 2.19: Node-set của bcf 38

Hình 2.20: Một ví dụ về cây liệt kê 40

Hình 3.1: Chín trường hợp khi thêm giao dịch mới vào CSDL đã tồn tại 47

Hình 3.2: Tập phổ biến và gần phổ biến của CSDL bảng 3.1 52

Hình 3.3: POC- tree được xây dựng 54

Hình 3.4: Kết quả cuối cùng của Prelarge tree 57

Hình 4.1: Tổng thời gian khai thác và số lượng tập phổ biến khi thêm 10% dữ liệu với ngưỡng =0.1, =0.05 .60

Trang 14

Hình 4.2: Tổng thời gian khai thác và số lượng tập phổ biến khi thêm 10 lần dữ liệu

có =0.05, =0.02 61Hình 4.3: Tổng thời gian khai thác và số lượng tập phổ biến khi thêm 10 lần dữ liệu

có =0.8, =0.7 62

Trang 15

Việc giải phóng thông tin kịp thời có thể được sử dụng để mang lại sự thấuhiểu, kinh nghiệm và những quyết định sáng suốt hơn, giúp các công ty sáng tạo vớitốc độ chưa từng có.

Các tổ chức thành công sẽ tạo ra sự khác biệt bằng cách cung cấp trải nghiệmkhách hàng mang tính nhất quán, an toàn, có thể tùy biến và có khả năng mở rộng Họ

sẽ đạt được kết quả kinh doanh thực sự thông qua khả năng nâng cao hiệu suất hoạtđộng, lòng trung thành của khách hàng và tốc độ tăng trưởng

Khi công nghệ thông tin đóng vai trò cốt lõi để hỗ trợ mọi ứng dụng đang phục

vụ khách hàng, các công ty có thể tối ưu hóa và bảo vệ cơ sở hạ tầng trung tâm dữ liệunhằm cung cấp hiệu năng và chức năng khai thác dữ liệu để cải thiện hoạt động tươngtác với khách hàng Giúp các chủ doanh nghiệp đưa ra những quyết định hiệu quả hơn

và theo kịp được những xu thế và sở thích mới

Vấn đề đặt ra, làm sao giải quyết các vấn đề này nhằm giảm chi phí, tốn k mcho các nhà cung cấp dịch vụ; tối ưu hơn nhằm tăng doanh số, doanh thu cho các tổchức, cá nhân

2- Mục tiêu đề tài

Nghiên cứu cơ sở lý thuyết các k thuật khai thác dữ liệu tăng trưởng Cụ thể làđưa ra giải pháp cải tiến thuật toán khai thác dữ liệu tăng trưởng

3- Phạm vi nghiên cứu đề tài

Vì tầm quan trọng của một số ứng dụng khai thác dữ liệu tăng trưởng, nhiềuthuật toán đã được đề xuất trong lĩnh vực khai thác trong nhiều năm qua, hầu hết cácthuật toán đều tập trung giảm bớt thời gian khai thác nhưng vẫn đưa ra kết quả chínhxác nhất

Luận văn này tập trung nghiên cứu các giải pháp cho bài toán khai thác dữ liệu tăng

trưởng Luận văn khảo sát các cấu trúc dữ liệu và thuật toán đã có từ trước Việc khảo sát

Trang 16

nhằm mục đích cải tiến các giải pháp đã có và hướng nghiên cứu trong lĩnh vực này.Luận văn cũng đưa ra phân tích so sánh kết quả thực hiện của nhiều k thuật khaithác tăng trưởng đã có và thảo luận các khía cạnh về mặt lý thuyết của lĩnh vực này,sau đó ứng dụng các kết quả đã chứng minh vào khai thác dữ liệu tăng trưởng.

Dựa trên một số công trình nghiên cứu trong lĩnh vực khai thác dữ liệu tang trưởng đã công bố trong những năm gần đây, từ đó luận văn trình bày:

- Phương pháp khai thác dữ liệu tăng trưởng Nghiên cứu cấu trúc dữ liệu

và thuật toán khai thác dữ liệu tăng trưởng, tiêu biểu cấu trúc Node-set và thuậttoán FIN

- Kết hợp cấu trúc dữ liệu Node-set Node-set với thông tin giao dịch vào thuậttoán FIN Sau đó có thể áp dụng trực tiếp vào quá trình khai thác dữ liệu tangtrưởng một cách hiệu quả hơn

- Xây dựng tập cơ sở dữ liệu thực nghiệm, so sánh các kết quả đạt được vàđánh giá hiệu quả của ứng dụng đề xuất về thời gian, bộ nhớ

4- Bố cục đề tài

Chương 1: Giới thiệu tổng quan

Chương 2: Cơ sở lý thuyết

Chương 3: Ứng dụng Node-set trong khai thác tập phổ biến trên cơ sở dữ liệu tăng

trưởng

Chương 4: Thực nghiệm và đánh giá

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

Luận văn trình bày trong 5 chương Chương một trình bày tổng quan về CSDLtăng trưởng Chương này cung cấp một cái nhìn chung nhất về lĩnh vực khai thác dữ liệu

CSDL tăng trưởng

Chương hai trình bày cơ sở lý thuyết về khai thác dữ liệu đã được phát triển.Trong đó, luận văn mô tả sơ lượt thuật toán Apriori, FP-Growth, PPV, PrePost là cácthuật toán cơ bản làm cơ sở để phát triển các thuật toán sau này

Chương ba trình bày chi tiết cấu trúc dữ liệu Node-set, thuật toán FIN và ápdụng chúng trong khai thác dữ liệu tăng trưởng

Trang 17

Luận văn trình bày tổng quan về khai thác dữ liệu tăng trưởng, lý do vì sao chọn cấu trúc Node-set, thuật toán FIN vào thuật toán khai thác dữ liệu tăng trưởng.

Chương bốn trình bày những kết quả thực nghiệm và nhận x t

Chương năm trình bày kết luận và hướng phát triển trong tương

lai

Trang 18

CHƯƠNG 1- TỔNG QUAN VỀ ĐỀ TÀI I- GIỚI THIỆU VỀ KHAI THÁC DỮ LIỆU

1- Dữ liệu là gì?

Những năng gần đây, nhu cầu lưu trữ dữ liệu ngày càng cao Các công tymuốn phát triển đón đầu thị hiếu phải nắm rõ được nhu cầu và sở thích khách hàng.Đơn cử như trang eBay, Amazon hoặc những trang tương tự, trang này cũng sẽ đưa ranhững sản phẩm gợi ý tiếp theo cho bạn, ví dụ khi xem điện thoại, nó sẽ gợi ý cho bạnmua thêm ốp lưng, pin dự phòng; hoặc khi mua áo thun thì sẽ có thêm gợi ý quầnjean, dây nịt, v.v Vì vậy, nghiên cứu được sở thích, thói quen của khách hàng cũnggián tiếp giúp doanh nghiệp bán được nhiều hàng hóa hơn

Vậy những thông tin về thói quen, sở thích này có được từ đâu? Chính là từlượng dữ liệu khổng lồ mà các doanh nghiệp thu thập trong lúc khách hàng gh thăm

và tương tác với trang web của mình Chỉ cần doanh nghiệp biết khai thác một cách cóhiệu quả dữ liệu thì nó không chỉ giúp tăng lợi nhuận cho chính họ mà còn tăng trảinghiệm mua sắm của người dùng, chúng ta có thể tiết kiệm thời gian hơn nhờ nhữnglời gợi ý so với việc phải tự mình tìm kiếm Tuy nhiên dữ liệu ngày một lớn thời giankhai thác ngày càng dài, tốc độ ngày càng chậm ảnh hưởng đến hiệu quả trong quátrình sử dụng

Khai thác dữ liệu được xem như là một công nghệ tri thức giúp khai thácnhững thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá trình hoạtđộng của một công ty, tổ chức nào đó

Trang 19

Khai thác dữ liệu được gọi là khám phá tri thức trong cơ sở dữ liệu Đây làtiến trình của khám phá những mẫu hay tri thức có ích từ nguồn dữ liệu, như là cơ sở

dữ liệu, văn bản, ảnh, Web, v.v Các mẫu phải có giá trị, có khả năng hữu ích và dễhiểu Khai thác dữ liệu là một lĩnh vực đa ngành liên quan đến máy học, thống kê, cơ

sở dữ liệu, trí tuệ nhân tạo, thu thập thông tin, và mô phỏng trực quan

Đ nh n h 1 1: Khai thác dữ liệu là một tập hợp các k thuật được sử dụng để

tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp

dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệuđó

3- Quy trình phát hiện t i thức v h i th c ữ iệu

Khai thác dữ liệu là một bước trong bảy bước của quá trình KDD

dữ liệu

đánh giá và biểu diễn các tri thức

dữ liệu đã được chọn

các tri thức

Hình 1.1: Quy trình phát triển tri thức và khai thác dữ

liệu

Bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức được chiếtxuất ra Về lý thuyết thì có vẽ rất đơn giản nhưng thực sự đây là một quá trình rấtkhó khăn gặp phải rất nhiều vướng mắc như: quản lý các tập dữ liệu, phải lặp đi lặplại toàn bộ quá trình, v.v

 Gôm ữ iệu (Gathering): tập hợp dữ liệu là bước đầu tiên trong quá

trìnhkhai thác dữ liệu Đây là bước được khai thác trong một cơ sở dữ liệu, một kho dữliệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web

Trang 20

 T ch ọc ữ iệu (Selection): ở giai đoạn này, dữ liệu được lựa chọn hoặc

phân chia theo một số tiêu chuẩn nào đó, trích chọn dữ liệu từ những kho dữ liệu vàsau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ

(incomplete data), v.v Ví dụ chọn ra những thông tin duyệt web của người dùng được lưu tại Web log mà những thông tin đó cho biết được người dùng đã xem một sản phẩm cụ thể nào chứ không phải là người dùng đã thao tác khác (xem hoặc lưu hình ảnh; truy cập trang không tồn tại; v.v )

 ạch, tiền v chu n t ước ữ iệu (Cleaning,

Pre-processing

and Preparation): giai đoan thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế

nó là một bước rất quan trọng trong quá trình khai thác dữ liệu Một số lỗi thườngmắc phải trong khi gom dữ liệu là tính không đủ chặt chẽ, logic Vì vậy, dữ liệuthường chứa các giá trị vô nghĩa và không có khả năng kết nối dữ liệu Ví dụ: trongWeb log, cần loại bỏ các liên kết mà người dùng truy cập mà không tồn tại Giaiđoạn này sẽ tiến hành xử lý những dạng dữ liệu không chặt chẽ nói trên Những dữliệu dạng này được xem như thông tin dư thừa, không có giá trị Bởi vậy, đây là mộtquá trình rất quan trọng vì dữ liệu này nếu không được “làm sạch - tiền xử lý -chuẩn bị trước” thì sẽ gây nên những kết quả sai lệch nghiêm trọng

 Chu ển đổi ữ iệu (Transformation): tiếp theo là giai đoạn chuyển đổi

dữ

liệu, dữ liệu đưa ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó Dữliệu đã được chuyển đổi phù hợp với mục đích khai thác

 h i th c ữ iệu (Data mining): đây là công đoạn quan trọng và tốn

nhiều chi phí nhất của quá trình khai thác tri thức Xác định nhiệm vụ khai thác dữliệu và lựa chọn k thuật khai thác để thực hiện khai thác, phát sinh tập mẫu Cácmẫu này

là nguồn tri thức thô Trong công đoạn này, có thể cần sự tương tác của người dùng

để điều chỉnh và rút ra các thông tin cần thiết nhất Các tri thức nhận được có thểđược lưu lại và sử dụng lại

 Diễn iải v đ nh i t uả ẫu Int t ti n Ev u ti n Result): đây là giai đoạn cuối trong quá trình khai thác dữ liệu Ở giai đoạn này, các

Trang 21

mẫu dữ liệu được chiết xuất ra bởi phần mềm khai thác dữ liệu Không phải bất cứmẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch Vì vậy, cần phải ưutiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức (Knowledge).

Quá trình khai thác tri thức không chỉ là một quá trình tuần tự từ bước đầu tiênđến bước cuối cùng mà là một quá trình lặp và quay lui lại các bước đã qua Trongkhai thác tri thức thì có thể cần có sự tương tác của con người để điều chỉnh rút trích

dữ liệu cần thiết

4- C c thuật h i th c ữ iệu

Khai thác dữ liệu được chia nhỏ thành một số hướng chính như sau:

M tả h i niệm (concept description): thiên về mô tả, tổng hợp và tóm

tắt

khái niệm Ví dụ: tóm tắt văn bản

Luật t h ci ti n u là dạng luật biểu diễn tri thứ ở dạng

khá đơn giản Ví dụ: “60 nam giới vào siêu thị nếu mua bia thì có tới 80 trong

số họ sẽ mua thêm thịt bò khô” Luật kết hợp được ứng dụng nhiều trong lĩnh vực kính doanh, y học, tin-sinh, tài chính thị trường chứng khoán, v.v

Ph n ớ v ự đ n c i ic ti n icti n xếp một đối tượng

vào

một trong những lớp đã biết trước Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết Hướng tiếp cận này thường sử dụng một số k thuật của machine learning như cây quyết định (decision tree), mạng nơron nhân tạo (neural network), v.v Người ta còn gọi phân lớp là học có giám sát (học có thầy)

Ph n cụ c u t in xếp các đối tượng theo từng cụm (số lượng cũng

như tên của cụm chưa được biết trước Người ta còn gọi phân cụm là học không

giám sát (học không thầy)

 : tương tự như khai thác luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vựctài

chính và thị trường chứng khoán vì nó có tính dự báo cao

Trang 22

CHƯƠNG 2- CƠ SỞ LÝ THUYẾT I- KHAI THÁC DỮ LIỆU

1- Khai thác luật t h

Khai thác luật kết hợp trong CSDL là một trong các chức năng chính của khaithác dữ liệu, là tìm ra các mối quan hệ giữa các đối tượng trong khối lượng dữ liệulớn

Khai thác dữ liệu để tìm luật kết hợp gồm 2 giai đoạn:

- Khai thác tập phổ biến

- Sinh luật kết hợp từ các tập phổ biến tìm được

Khai thác tập phổ biến là bài toán rất quan trọng vì nó là giai đoạn đầu tiêntrong khai thác luật kết hợp

2- Khai thác tập phổ bi n

Bài toán khai thác tập phổ biến là tìm kiếm các hạng mục, phần tử (itemset) có

độ phổ biến (support) thỏa mãn ngưỡng phổ biến tối thiểu (minSupp) được cho trước

tùy vào yêu cầu của người sử dụng Nói đơn giản hơn là tìm các phần tử mục, có số

lần xuất hiện lớn hơn hoặc bằng một con số minSupp cho trước

Ví dụ 2.1: lọc ra các mặt hàng xuất hiện từ 40 trong các giao dịch bán trởlên trong cửa hàng Trong đó, độ phổ biến (support) của mỗi mặt hàng là số lần bán

Trang 23

Trong đó I = {a, b, c, d, e, f, g, h} {a}, {b}, {c}, v.v là các mặt hàng (mục) {c}

là mục xuất hiện trong các giao dịch có mã ID là 1, 2, 3, 5 Tập 1- mục là { a, b, c, d,

e, f, g,

}; tập 2-mục gồm {ab, ac,, ae, af, ag, bc, bd, be, bf, bg, cd, ce, cf, cg, de, df, ef}; tập3-mục gồm {abc, abe,,, ace, agc, bce, bcd, bcf, bde, bdf, bef, cde, cdf, cde, cdf, cef;tương tự ta có tập 4-mục, 5-mục, v.v

2.1- Các khái niệ c ản

 Item (phần tử, mục)

- Các phần tử, mục đang được quan tâm

- I={I1,I2, ,Im}:tập tất cả m mục có thể có trong tập dữ liệu

(X), được định nghĩa là số lần mà X xuất hiện trong D 1

Ví dụ 2.1: Theo bảng 2.2, {A} có độ phổ biến là 4, ký hiệu (A) = 4 vì {A} xuất hiện 4 lần trong 6 giao dịch của D Tương tự, ta có độ phổ biến của các mục sau:

Trang 24

2-mục là {ac, bc, be, bf, ce}, tập phổ biến 3- mục là {bce}.

II- CÁC THUẬT TOÁN KHAI THÁC TẬP PHỔ BIẾN

1- Khai thác tập phổ bi n s dụng thuật toán Apriori

Thuật toán Apriori được đề xuất bởi Agrawal năm 1994 3 Mục đích là đểtìm mối liên hệ giữa các mặt hàng (danh mục) được bán trong siêu thị Thuật toán dựatrên tính chất:

- “Mọi tập con của tập phổ biến đều phổ biến, nghĩa là ∀X Y, nếu (Y) ≥

minSupp thì (X) ≥ minSupp”

- “Mọi tập cha của tập không phổ biến đều không phổ biến, nghĩa là ∀Y ⊇ X

nếu (X) < minSupp thì (Y) < minSupp”

Trang 25

Thuật t n 2 1: Thuật toán Aprori

Đầu v :CSDL giao dịch D và ngưỡng phổ biến minSupp

Đầu : FIs chứa tất cả các tập phổ biến của D

2) Ta thực hiện các bước sau

Bước 1: Tính độ phổ biến cho các tập 1-mục

Bước 2: Chọn ra các tập phổ biến 1-mục có độ phổ biến thỏa minSupp (hình

2.1)

Trang 26

Bước 3: Tính độ phổ biến cho các tập 2-mục.

Bước 4: Chọn ra các tập phổ biến 2-mục có độ phổ biến thỏa minSupp (hình 2.2).

Trang 27

Bước 5: Tính độ phổ biến cho các tập 3-mục.

Bước 6: Chọn ra các tập phổ biến 3-mục có độ phổ biến thỏa minSupp (hình 2.3).

Bước 7: Tính độ phổ biến cho các tập 4-mục

Bước 8: Chọn ra các tập phổ biến 4-mục có độ phổ biến thỏa minSupp (hình 2.4).

Bước 9: Tính độ phổ biến cho các tập 5-mục

Bước 10: Chọn ra các tập phổ biến 5-mục có độ phổ biến thỏa minSupp (hình

Trang 28

Nhận xét:

Thuật toán Apriori đơn giản, dễ hiểu Tuy nhiên, mặt hạn chế của thuật toán làphải qu t CSDL nhiều lần Nếu CSDL có tập k-mục phổ biến thì phải qu t ít nhất klần Điều này làm Apriori tốn rất nhiều thời gian nếu CSDL lớn

2- Khai thác tập phổ bi n s dụng thuật toán FP-growth

Thuật toán FP-Growth là một phương pháp khác cho việc xác định các tậpmục phổ biến Tương phản với những thuật toán Apriori, sử dụng cơ chế sinh-kiểm tra(sinh ra các tập mục cần x t, và kiểm tra xem mỗi tập mục có phải là phổ biến)phương pháp tăng trưởng mẫu (pattern-growth) nhận được itemsets phổ biến trực tiếp

từ CSDL mà không mất chi phí cho việc sinh và kiểm tra độ lớn của các ứng viên

Đ nh n h 2 1(FP-tree): Cấu trúc FP-tree được định nghĩa như sau

- FP-tree bao gồm một nhãn root là “null”, tập các cây tiền tố là con của root,

và một bảng tập phổ biến

- Mỗi nút của cây tiền tố gồm ba trường dữ liệu: item-name, count và link, ở đây item-name được khai báo là mục đại diện cho nút, count là số lượng giao dịch đại diện cho đường dẫn điến nút này, và node-link là nút kế tiếp trong FP-tree

node-có cùng item-name, hay null nếu không node-có.

- Mỗi mục trong bảng frequent-header gồm hai trường dữ liệu, (1) name và node-link đứng đầu (một con trỏ chỉ đến nút đầu tiên mang theo item-name

item-trong FP-tree)

Trang 29

Thuật t n 2.2: FP-tree

Đầu v Cơ sơ dữ liệu giao dịch DB, ngưỡng minSupp

Đầu Cây FP-Tree

Duyệt D lần đầu để thu được tập F gồm các frequent item và support count của chúng Sắp xếp các item trong F theo trật tự giảm dần của support count ta đượcdanh sách L

Tạo nút gốc R và gán nhãn “null”

Tạo bảng Header có |F| dòng và đặt tất cả các node –link chỉ đến null

For each giao tác T  D { Duyệt D lần 2

- Chọn các item phổ biến của T đưa vào P;

- Sắp các item trong P theo trật tự L;

- Call Insert_Tree(P, R); }

Hàm Insert_Tree(string[p|P],Tree T){

Trong đó p là mục đầu tiên của dãy và P là phần còn lại của dãy

If cây T có nút con N mà N.Item name = p

Trang 30

Thuật t n 2 3: FP-growth

Đầu v : Một cơ sở dữ liệu DB, FP-tree được xây dựng qua thuật toán 2.1, và

ngưỡng hỗ trợ tối minSupp.

Đầu : Tập phổ biến

Procedue FP Growth(tree, ) {

F = Ø

If Tree chỉ chứa một đường dẫn đơn P then {

For mỗi tổ hợp của các nút trong đường dẫn P Do {

Sinh mẫu p= ∪ v i support_count( p) = mức hỗ trợ nhỏ nhất

củacác nút trong

}else{

F=F∪ pfor mỗi ai trong header của tree do

Sinh mẫu = ai ∪

support_count( ) = ai support_countF= F∪

Xây dựng cơ sơ mẫu có điều kiện củaXây dựng FP tree có điều kiện của

if ∅ then

Call FP_ Growth ( , )}

}

Trang 31

Ví dụ 2.4: X t cơ sở dữ liệu mẫu như trên bảng 2.1 Với minSupp= 40%

Trang 32

Chiếu trên f sinh ra các tập phổ biến là: {f:3, ef:2, cf: 2, bf:3, bcef: 2 }.

Chiếu trên e sinh ra các tập phổ biến là: {e:3, be:3, ce:3, bce:3}

Chiếu trên c sinh ra các tập phổ biến là: {c:3, cb:3}

Chiếu trên b ta được {∅} ⇒ tập phổ biến: {b:4}

- Ưu điểm của FP-Growth

Trong thực tế thuật toán FP-Growth chỉ cần đọc file hai lần, trái ngược vớiApriori đọc file cho mỗi lần lặp

Một lợi ích khác FP-Growth loại bỏ việc tính toán cho các cặp đã được đếm,điều làm cho tiến trình xử lý rất nặng, bởi vì FP-Growth sử dụng cấu trúc FP-Tree

Thuật toán FP-Growth được lưu trữ nhỏ gọn trong bộ nhớ của dữ liệu

- Tắt nghẽn trong FP-Growth

Vấn đề lớn nhất là sự phụ thuộc lẫn nhau của các cơ sở dữ liệu Vấn đề phụthuộc lẫn nhau là các thuật toán song song vẫn cần được chia sẽ, tạo nên tắc nghẽntrong quá trình chia sẽ bộ nhớ

3- Khai thác tập phổ bi n s dụng thuật toán PPV

Đ nh n h 2.2: PPC-Tree là một cấu trúc cây

- Nó bao gồm một nhãn root là “null”, một tập hợp mục của các nhánh tiếptheo là con của root

- Mỗi nút có 5 trường thông tin: item-name, count, childreNodet-list, order, and post-order item-name là tập phổ biến đại diện cho nút count là số lượng giao dịch được thực hiện bằng cách đi qua các nút này childreNode-list là tất cả các con của nút pre-order là thứ tự hàng trước của nút post-order là thứ tự kế tiếp của

pre-nút

Đ nh n h 2.3: PP-code

Đối với mỗi nút N trong PPC-tree, chúng ta gọi < (N.pre-order, order):

N.post-N.count > là PP-code của N.

Đ nh n h 2.4: Mối quan hệ cha-con của PP-codes

Cho 2 PP-codes X1 and X2, X1 là cha của X2 if khi và chỉ khi nút được đại diện

bởi X1

cha của nút đại diện bởi X2

Trang 33

Đ nh n h 2.5: Node-list của tập phổ biến

Đối với PPC-tree, Node-list của tập phổ biến là một dãy tất cả các PP-code củanút được khai báo theo mục trong PPC-tree PP-codes được sắp xếp trong suốt quátrình truy cập

Thuật t n 2.4: PPC-tree

Đầu v Một cơ sở dữ liệu giao dịch và ngưỡng hỗ trợ tối thiểu minSupp

Đầu PPC-tree, F1 (tập phổ biến 1-patterns)

Hàm: Construct-PPC-tree(DB, minSupp) {

Bước 1: Duyệt dữ liệu lần đầu tìm ra tập phổ biến 1-patterns (danh mục tập

phổ biến) F1 and mức hỗ trợ của chúng Sắp xếp F1 theo mức hỗ trợ giảm dần là I f,

là danh sách tập phổ biến đã được sắp xếp

Bước 2: Tạo root của PPC-tree, PPT, và có nhãn là “null” Duyệt DB lần nữa Mỗi lần lặp giao dịch T trong DB, sắp xếp lại tập phổ biến trong danh sách của I f

và sau đó thêm nó vào PPC-tree

Bước 3: Duyệt PPC-tree phát sinh pre-order Duyệt PPC-tree lần nữa phát sinh post-order.}

Ví dụ 2.5: X t cơ sở dữ liệu như trong bảng 2.1 Với minSupp= 40% (40*5/100

Trang 34

Đ nh n h 2.6: Node-list được định nghĩa như sau

Cho hai tập phổ biến khác nhau i1 and i2, Node-list tương ứng của chúng là

{<(x11,

y11): z11>, <(x12, y12): z12>, , <(x 1m , y 1m ): z 1m >} and {<(x21, y21): z21>, <(x22, y22): z22>, ,

<(x 2n , y 2n ): z 2n >} Node-list của 2-pattern i1i2 là một dãy PP-codes được sắp xếp tăng dần

theo pre-order và được phát sinh bởi điểm giao nhau Node-list của i1 và i2, theo quy định

{<(1,1): 1>, <(4,5): 3>} Qua định nghĩa 3.5, chỉ có PP-code <(4,5): 3> là đáp ứng

các quy tắc kết hợp Vì vậy Node-list của bc là {<(4,5): 3>} như trong hình 2.9.

Trang 35

Đ nh n h 2.7: Node-list được định nghĩa như sau

{<(x P11,

y P11 ): z P11 >, <(x P12 , y P12 ): z P12>, , <(x P1m , y P1m ): z P1m >}, Node-list của P2 = i1

i2 i (k-2) i y is

{<(x P21 , y P21 ): z P21 >, <(x P22 , y P22 ): z P22 >, , <(x P2n , y P2n ): z P2n >} Node-list của P là một dãt của PP-codes được sắp xếp tăng dần theo pre-order và được phát sinh bởi điểm giao nhau giữa Node-list của P1 và P2, theo quy định sau:

Đối vơi bất kì <(x P1r , y P1r ): z P1r> ∈ Node-list của P1 (1≤r≤m) và <(x P2s , y P2s):

Trang 36

{b,e} < (5,4): 3>

4 < 5 và 5 > 4 Yes

{b,c,e} < (5,4): 3>

Hình 2.11: Node-list c a bce

Trang 37

Thuật t n 2.5(code-intersection)

Đầu vào: NL1 and NL2, là Node-list của hai k- patterns Đầu The Node-list của (k+1)-pattern.

Hàm: code-intersection(NL1, NL2)

int i = 0; điểm bắt đầu của NL1.

int j = 0; điểm bắt đầu của NL2.

while (i < NL1.size() && j < NL2.size()) {

Trang 38

Thuật t n 2.6: PPV

Đầu v ngưỡng minSupp, tập phổ biến 1-patterns của chúng Node-list

Đầu ra: Tập hợp các mẫu phổ biến.

If all k-1 subsets l of are in L k-1 {

l.Node-list= code-intersection(p.Node-list, q.Node-list);

- Ưu điểm của thuật toán PPV sử dụng Node-list

Cấu trúc Node-list nhỏ gọn hơn Tidset hay Diffset Khi các giao dịch các nút

có chung tiền tố của PPC-Tree

Mối quan hệ cha – con là bước giao nhau cơ bản được thêm vào Node-list,

điều nay rất hiệu quả khi xác nhận mã pre-post của nút.

Trang 39

4- Khai thác tập phổ bi n s dụng thuật toán PrePost

Đ nh n h 2.8: Tập phổ biến N-list

Cho PPC-tree, tập phổ biến của N-list là một dãy các tập được khai báo code theo nút trong PPC-tree PP-codes được sắp xếp tăng dần theo giá trị pre-order của chúng

PP-Mỗi PP-code trong N-list được khai báo ⟨(x, y) : z⟩, ở đây x là pre-order, y là post-

order and z là count N-list của tập phổ biến được khai báo là <( ):

>,

<( ): >, …<( ): > Hình 2.11 chỉ ra tập phổ biến của N-list.

Ví dụ 2.6: X t cơ sở dữ liệu mẫu như trên bảng 2.1 Với minSupp= 40%

Ngày đăng: 02/01/2019, 10:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
(1) Burdick, D., Calimlim, M., Flannick, J., Gehrke, J., &amp; Yiu, T. (2005). Mafia: a maximal frequent itemset algorithm. IEEE TKDE Journal, 17(11), 1490–1504 Khác
(2) Deng, Z. H. (2014). Fast mining Top-Rank-K frequent patterns by using Node-lists. Expert Systems with Applications, 41(4–2), 1763–1768 Khác
(3) Deng, Z. H., &amp; Wang, Z. H. (2010). A new fast vertical method for mining frequent itemsets. International Journal of Computational Intelligence Systems, 3(6), 733–744 Khác
(4) Deng, Z. H., Wang, Z. H., &amp; Jiang, J. J. (2012). A new algorithm for fast mining frequent itemsets using N-lists. Science China Information Sciences, 55(9), 2008–2030 Khác
(5) Deng, Z. H., &amp; Xu, X. R. (2012). Fast mining erasable itemsets using NC_sets. Expert Systems with Applications, 39(4), 4453–4463 Khác
(6) Grahne, G., &amp; Zhu, J. (2005). Fast algorithms for frequent itemset mining using FPtrees. IEEE TKDE Journal, 17(10), 1347–1362 Khác
(7) Han, J., Cheng, H., Xin, D., &amp; Yan, X. (2007). Frequent itemset mining: current status and future directions. DMKD Journal, 15(1), 55–86 Khác
(8) Le, T., &amp; Vo, B. (2014). MEI: an efficient algorithm for mining erasable itemsets. Engineering Applications of Artificial Intelligence, 27, 155–166 Khác
(9) Lee, A. J. T., Wang, C. S., Weng, W. Y., Chen, Y. A., &amp; Wu, H. W Khác
(10) Li, X., &amp; Deng, Z. H. (2010). Mining frequent itemsets from network flows for monitoring network. Expert Systems with Applications, 37(12), 8850–8860 Khác
(11) Liu, G., Lu, H., Lou, W., Xu, Y., &amp; Yu, J. X. (2004). Efficient mining of frequent itemsets using ascending frequency ordered prefix-tree. DMKD Journal, 9(3), 249–274 Khác
(12) Woon, Y. K., Ng, W. K., &amp; Lim, E. P. (2004). A support-ordered trie for fast frequent itemset discovery. IEEE TKDE Journal, 16(7), 875–879 Khác
(13) Zaki, M. J. (2000). Scalable algorithms for association mining. IEEE TKDE Journal, 12(3), 372–390 Khác
(14) Deng, Z.H, Lv, S.L (2014). Fast mining frequent itemsets using Node- sets. Expert Systems with Applications, 41(10), 4505–4512 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w