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

Nghiên cứu khai phá luật kết hợp sử dụng SQL

71 10 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 71
Dung lượng 4,28 MB

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

Nội dung

Kỹ thuật này không chỉ khai thác được sức mạnh của SQL, một ngôn ngữ được tích hợp trong hầu hết các hệ quản trị cơ sở dữ liệu, mà còn cho thấy tính hiệu quả về tốc độ xử lý và thực thi.

Trang 1

i

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT i

DANH MỤC CÁC HÌNH ii

DANH MỤC CÁC BẢNG iii

LỜI CAM ĐOAN iv

LỜI CẢM ƠN v

MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 4

1.1 Phát hiện tri thức 4

1.2 Quá trình phát hiện tri thức từ cơ sở dữ liệu 4

1.2.1 Lựa chọn 5

1.2.2 Tiền xử lý dữ liệu 6

1.2.3 Chuyển đổi 6

1.2.4 Khai phá dữ liệu 6

1.2.5 Trình diễn 7

1.3 Khai phá dữ liệu 7

1.3.1 Nhiệm vụ của khai phá dữ liệu 7

1.3.2 Các kỹ thuật khai phá dữ liệu: 8

1.4 Một số phương pháp khai phá dữ liệu 9

1.4.1 Phương pháp quy nạp 9

1.4.2 Cây quyết định và luật: 10

1.4.3 Phát hiện các luật kết hợp 11

1.5 Ứng dụng khai phá dữ liệu 12

1.6 Các thách thức trong khai phá dữ liệu 13

1.7 Kết luận chương 1 14

CHƯƠNG 2 KHAI PHÁ LUẬT KẾT HỢP 16

2.1 Bài toán khai phá luật kết hợp 16

2.2 Một số khái niệm cơ bản 17

2.2.1 Định nghĩa về luật kết hợp 17

2.2.2 Định nghĩa về đỗ hỗ trợ 17

Trang 2

ii

2.2.3 Định nghĩa độ tin cậy 18

2.3 Một số tính chất liên quan 19

2.3.1 Tập mục thường xuyên 19

2.3.2 Luật kết hợp 20

2.4 Một số hướng tiếp cận trong khai phá luật kết hợp 21

2.5 Kết luận chương 2 23

CHƯƠNG 3 KHAI PHÁ LUẬT KẾT HỢP SỬ DỤNG SQL 24

3.1 Đặt vấn đề 24

3.2 Thuật toán Apriori 25

3.2.1.Ý tưởng 25

3.2.2 Thuật toán 25

3.2.3 Ví dụ minh họa 28

3.3 Tạo tập các ứng viên 31

3.4.1 Kỹ thuật kết nối k-nhánh 34

3.4.2 Kỹ thuật gom nhóm 35

3.4.3 Kỹ thuật sử dụng truy vấn lồng 36

3.5 Sinh luật 37

3.5.1 Sinh các luật kết hợp từ các tập mục phổ biến 37

3.5.2 Biểu diễn tập luật về dạng tường minh 40

3.6 Một ví dụ về khai phá luật kết hợp sử dụng SQL 42

3.7 Kết luận chương 3 47

CHƯƠNG 4 THỬ NGHIỆM VÀ BÀN LUẬN 48

4.1 Thử nghiệm khai phá luật kết hợp 48

4.1.1 Bài toán thử nghiệm 48

4.1.2 Cơ sở dữ liệu thử nghiệm 49

4.1.3 Triển khai tìm tập mục thường xuyên 51

4.1.4 Triển khai tìm các luật kết hợp từ tập mục thường xuyên 60

4.2 Bàn luận 61

KẾT LUẬN 63

TÀI LIỆU THAM KHẢO 64

Trang 3

i

DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT

Trang 4

ii

DANH MỤC CÁC HÌNH

Hình 1.1 Quá trình phát hiện tri thức từ CSDL 5

Hình 1.2 Mẫu kết hợp với phương pháp cây quyết định 10

Hình 3.1: Thuật toán Apriori 26

Hình 3.2 : Hàm tạo tập ứng cử viên Ck từ Fk-1 27

Hình 3.5: Tạo và cắt tỉa tập các ứng viên có độ dài k 33

Hình 3.6: Sinh và tỉa tập các ứng viên có độ dài k = 4 33

Hình 3.7: Tính độ hỗ trợ theo kỹ thuật k- nhánh 34

Hình 3.8: Mô hình tính độ hỗ trợ bằng kỹ thuật k- nhánh 35

Hình 3.9: Tính độ hỗ trợ theo kỹ thuật gom nhóm 35

Hình 3.10 Tính đỗ hỗ trợ theo sử dụng truy vấn lồng 36

Hình 3.11: Mô hình tính độ hỗ trợ bằng kỹ thuật truy vấn lồng 37

Hình 3.12: Sinh các luật kết hợp từ các tập mục phổ biến 39

Trang 5

iii

DANH MỤC CÁC BẢNG

Bảng 3.1: Bảng tập phổ biến "FISETS" 37

Bảng 3.2 Bảng “Primary-Rules” 38

Bảng 3.3 Bảng „rules‟ 40

Bảng 3.4: Dữ liệu đầu vào 41

Bảng 3.5 Bảng "Mô tả" 41

Bảng 3.6 Bảng “Associate rule” 41

Bảng 4.1 Cở sở dữ liệu giao dịch 49

Bảng 4.2.Bảng Transactions 51

Bảng 4.3 Tập mục thường xuyên F1 53

Bảng 4.4 Tập mục các ứng cử viên C2 54

Bảng 4.5 Tập mục thường xuyên F2 56

Bảng 4.6 Tập ứng cử viên C3 57

Bảng 4.7 Tập mục thường xuyên F3 59

Bảng 4.8 Bảng FrequentSet 60

Bảng 4.9 Bảng luật kết hợp 61

Trang 6

iv

LỜI CAM ĐOAN

Luận văn thạc sỹ này do em nghiên cứu và thực hiện dưới sự hướng dẫn của

Thầy giáo TS Phan Anh Phong Với mục đích học tập, nghiên cứu để nâng cao

kiến thức và trình độ chuyên môn nên em đã làm luận văn này một cách nghiêm túc

và hoàn toàn trung thực

Để hoàn thành bản luận văn này, ngoài các tài liệu tham khảo đã liệt kê, em cam đoan không sao chép toàn văn các công trình hoặc thiết kế tốt nghiệp của người khác

Hà nội, tháng 10 năm 2015

Học viên

Phan Văn Nhật

Trang 7

Cho phép em được gửi lời cảm ơn sâu sắc nhất tới TS Phan Anh Phong, người

thầy đã rất nhiệt tình truyền đạt, chỉ bảo giúp sức cho em trong quá trình làm luận văn tốt nghiệp Đó là những động lực, lời khuyên và kho báu tri thức để em có thể sẵn sàng tỉnh thức và vận dụng trong thời gian làm luận văn tốt nghiệp này

Với tất cả tấm lòng mình, em xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Huỳnh Quyết Thắng đã tạo điều kiện thuận lợi và cho em những định hướng

nghiên cứu Em cũng xin gửi lời cảm ơn tới các thầy cô trong Bộ môn hệ thống thông tin, Viện Công nghệ thông tin và Truyền thông trường Đại học Bách khoa

Hà Nội đã giúp đỡ em trong qua trình thực hiện luận văn

Cuối cùng, em xin cảm ơn gia đình, bạn bè và tập thể lớp 13BCNTT-VINH, những người đã luôn ở bên khích lệ và động viên em rất nhiều

Trong quá trình làm luận văn, vì một số lý do về thời gian và kiến thức hạn hẹp nên không tránh khỏi những sai sót trong đề tài Em rất mong nhận được sự góp ý hơn nữa của quý thầy giáo, cô giáo và các bạn

Em xin chân thành cảm ơn!

Hà Nội, tháng 10 năm 2015

Học viên

Phan Văn Nhật

Trang 8

1

MỞ ĐẦU

Có thể nói rằng, ngày nay công nghệ thông tin (CNTT) đã trở thành một phần không thể thiếu trong cuộc sống của xã hội hiện đại CNTT đã và đang được ứng dụng sâu rộng ở nhiều lĩnh vực khác nhau trong hoạt động thường ngày của chúng

ta như Giáo dục, Y tế, Khoa học, Xây dựng, Kinh doanh,…

Việc sử dụng CNTT để lưu trữ dữ liệu và khai thác thông tin phục vụ các hoạt động tác nghiệp đã được phát triển từ những năm 60 của thế kỷ trước Tuy nhiên, chúng ta vẫn có thể bị thiếu thông tin hữu ích cho dù dữ liệu khổng lồ, nếu chúng ta không biết các kỹ thuật khai thác

Gần đây, nhiều nghiên cứu đã chỉ ra, việc nắm bắt tốt thông tin được coi là cơ sở quan trọng của mọi hoạt động sản xuất, kinh doanh Cá nhân hay tổ chức nào thu thập và hiểu được thông tin và hành động dựa trên các thông tin được kết xuất từ các thông tin đã có sẽ đạt được thành công trong mọi hoạt động Chính vì thế, việc tạo ra thông tin, tổ chức lưu trữ và khai thác chúng ngày càng trở nên quan trọng Bên cạnh đó các thiết bị thu thập dữ liệu tự động tương đối phát triển đã tạo ra những kho dữ liệu khổng lồ Với sự phát triển mạnh mẽ của công nghệ điện tử tạo

ra các bộ nhớ có dung lượng lớn, bộ xử lý tốc độ cao cùng với các hệ thống mạng viễn thông, người ta đã xây dựng các hệ thống thông tin nhằm tự động hóa mọi hoạt động kinh doanh của mình Điều này đã tạo ra một nguồn dữ liệu tăng lên không ngừng trong cuộc sống như: thương mại, quản lý và khoa học đã làm nảy sinh và thúc đẩy sự phát triển của kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu

mà đòi hỏi cách xử lý thông minh hơn, hiệu quả hơn Từ đó đặt ra cho các các nhà quản lý vấn đề, là làm thể nào để xử lý khối lượng thông tin cực lớn như vậy phát hiện ra các thông tin hữu ích để tác động lại quá trình sản xuất, kinh doanh của mình… đó là tri thức

Để làm được điều đó người ta đã sử dụng các kỹ thuật cho phép ta khai thác được tri thức hữu ích từ CSDL lớn được gọi là các kĩ thuật khai phá dữ liệu (Data Mining - DM) Nói một cách nôm na khai phá dữ liệu là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu Hiện nay, ngoài thuật ngữ

Trang 9

Như chúng ta đã biết SQL là ngôn ngữ của cơ sở dữ liệu, có khả năng rất mạnh khi truy vấn dữ liệu, chính vì thế, gần đây có nhiều nghiên cứu khai phá luật kết hợp bằng cách xây dựng thuật toán Apriori sử dụng SQL Kỹ thuật này không chỉ khai thác được sức mạnh của SQL, một ngôn ngữ được tích hợp trong hầu hết các hệ quản trị cơ sở dữ liệu, mà còn cho thấy tính hiệu quả về tốc độ xử lý và thực thi

Từ những lý do trên tôi đã chọn “Nghiên cứu khai phá luật kết hợp sử dụng SQL” làm đề tài cho luận văn Thạc sỹ của mình

Mục tiêu của đề tài:

+ Nghiên cứu tổng quan về phát hiện tri thức, khai phá dữ liệu và ý nghĩa của chúng

+ Nghiên cứu tìm hiểu về khai phá luật kết hợp và các phương pháp tiếp cận liên quan

Trang 10

3

+ Đặc biệt là đi sâu vào nghiên cứu phương pháp khai phá luật kết hợp sử dụng SQL

+ Xây dựng, triển khai mô hình thực nghiệm

Ngoài phần mở đầu, kết luận và tài liệu tham khảo, nội dung bản luận văn

“Nghiên cứu khai phá luật kết hợp sử dụng SQL” được tổ chức thành 4 chương Chương 1 Tổng quan về phát hiện tri thức và khai phá dữ liệu

Phát hiện tri thức và khai phá dữ liệu; quá trình khám phá tri thức từ CSDL; các

kĩ thuật, phương pháp khai phá dữ liệu, nhiệm vụ và một số ứng dụng của khai phá

dữ liệu

Chương 2 Khai phá luật kết hợp

Giới thiệu một số khái niệm về luật kết hợp, định nghĩa về luật kết hợp, tập mục thường xuyên, độ tin cậy, độ hỗ trợ một số tính chất cơ bản liên quan của tập mục thường xuyên trong luật kết hợp cùng các ví dụ minh họa tương ứng

Chương 3 Khai phá luật kết hợp sử dụng SQL

Nội dung bao gồm: Nghiên cứu về thuật toán Apriori phương pháp tiếp cận, Tạo tập các ứng viên, Tính toán độ hỗ trợ của các tập mục thường xuyên bằng các kỹ thuật truy vấn SQL như: kỹ thuật kết nối k-nhánh; kỹ thuật gom nhóm và kỹ thuật

sử dụng truy vấn lồng, đánh giá ưu nhược điểm của 3 kỹ thuật này, Sinh luật

Chương 4 Thử nghiệm và bàn luận

Chương 4 trình bày các bước triển khai thử nghiệm và Demo việc khai phá luật kết hợp với bộ dữ liệu khách hàng từ cơ sở dữ liệu ngân hàng Sau đó bàn luận về các kỹ thuật tính toán khi sử dụng SQL khai phá luật kết hợp trên bộ dữ liệu thử nghiệm

Trang 11

4

CHƯƠNG 1 TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU

1.1 Phát hiện tri thức

Phát hiện tri thức trong các cơ sở dữ liệu (Knowledge Discovery in Databases- KDD) là quá trình tìm kiếm những tri thức tiềm ẩn, không biết trước, và có ích trong khối cơ sở dữ liệu (CSDL) Thực chất đó là quá trình tìm kiếm những thông tin có trong cơ sở dữ liệu nhưng bị che dấu trong các khối dữ liệu

Nhiều người coi khai phá dữ liệu và phát hiện tri thức trong cơ sở dữ liệu là như nhau Tuy nhiên trên thực tế khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình phát hiện tri thức trong cơ sở dữ liệu

1.2 Quá trình phát hiện tri thức từ cơ sở dữ liệu

Phát hiện tri thức từ CSDL là quá trình sử dụng các phương pháp, công cụ tin học tối ưu nhằm đạt được mục đích nhất định

Quá trình phát hiện tri thức từ CSDL có thể được chia thành các bước như sau:

 Làm sạch dữ liệu (Data Cleaning): Loại bỏ dữ liệu nhiễu, hoặc dữ liệu không thích hợp

 Tích hợp dữ liệu (Data Integration): Tích hợp dữ liệu từ các nguồn khác nhau

 Chọn dữ liệu (Data selectinon): Chọn những dữ liệu liên quan trực tiếp đến nhiệm vụ;

 Chuyển đổi dữ liệu (Data Transformation) chuyển dữ liệu về những dạng phù hợp cho việc khai phá

 Khai phá dữ liệu (Data Mining) các kỹ thuật được áp dụng để trích xuất thông tin có ích hoặc các mẫu điển hình trong dữ liệu

 Đánh giá mẫu (Pattern Evaluation) Đánh giá mẫu hoặc tri thức thu được

 Trình diễn dữ liệu (Knowledge Presentation): Biểu diễn những tri thức khai phá được

Trang 12

5

Hình 1.1 Quá trình phát hiện tri thức từ CSDL

Hình 1.1 trên đây mô tả năm giai đoạn trong quá trình phát hiện tri thức từ CSDL Mặc dù có năm giai đoạn như trên song quá trình phát hiện tri thức từ CSDL

là một quá trình tương tác và lặp đi lặp lại theo chu trình liên tục theo kiểu xoáy tròn ốc trong đó lần lặp sau hoàn chỉnh hơn lần lặp trước Ngoài ra giai đoạn sau lại được dựa trên kết quả thu được của giai đoạn trước

Để lựa chọn được CSDL phù hợp cho quá trình phát hiện tri thức, người ta thường đặc biệt quan tâm đến mục đích, nhiệm vụ và lĩnh vực liên quan tới việc phát hiện tri thức

Data liệu

Dữ liệu đích

Dữ liệu chuyển dạng

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

Transformati

Data Mining

Envalution of

Trang 13

6

1.2.2 Tiền xử lý dữ liệu

Tiền xử lý dữ liệu là giai đoạn bao gồm các công việc làm sạch, làm giàu, biển đổi và rút gọn từ khối dữ liệu lớn thích hợp cho giai đoạn sau CSDL sau khi chọn lựa mới chỉ ở mức liên quan trực tiếp tới nhiệm vụ phát hiện tri thức Những dữ liệu này có thể chưa đầy đủ, chưa thuần nhất, chứa nhiều giá trị đặc biệt…

Do vậy mục đích của quá trình tiền xử lý nhằm loại bỏ những dữ liệu dư thừa,

bổ sung dữ liệu và đồng nhất hóa dữ liệu Các công việc chính bao gồm: Chọn lọc

dữ liệu, làm sạch dữ liệu, làm giàu dữ liệu và mã hóa dữ liệu

Để thuận tiện cho việc phân tích, khai phá dữ liệu thì dữ liệu đầu vào phải được chuẩn hóa theo khuôn mẫu thuận tiện cho các thuật toán khai phá dữ liệu Đó là nhiệm vụ của quá trình chuyển dạng dữ liệu

1.2.4 Khai phá dữ liệu

Khai phá dữ liệu sử dụng các công cụ, thuật toán để lấy ra các mẫu dữ liệu có ý

nghĩa từ khối dữ liệu

Đây là quá trình then chốt của phát hiện tri thức Quá trình khai phá dữ liệu sử dụng các thuật toán khai phá dữ liệu để đưa các các mẫu/mô hình dữ liệu tiềm ẩn trong khối dữ liệu lớn

Tùy thuộc vào mục đích, yêu cầu của việc phát hiện tri thức, tại quá trình này việc lựa chọn các giải thuật phù hợp là công việc quan trọng để đảm bảo hiệu suất

và kết quả của công việc

Trang 14

7

1.2.5 Trình diễn

Trình diễn là việc thể hiện các mẫu dữ liệu sau khi khai phá thành các dạng báo

cáo để truyền đạt tới người dùng và biến nó thành tri thức hữu dụng

Kết quả của quá trình khai phá dữ liệu là các mẫu/mô hình dữ liệu có ý nghĩa và

dễ phân tích Tuy nhiên đây là các mẫu/mô hình ở dạng thô có thể chưa trở thành tri thức của người yêu cầu phát hiện tri thức

Trình diễn là quá biển đổi, thể hiện các mẫu/mô hình dữ liệu đó thành các dạng báo cáo phục vụ cho các mục đích khác nhau

1.3 Khai phá dữ liệu

Định nghĩa: Khai phá 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

đó

1.3.1 Nhiệm vụ của khai phá dữ liệu

Ta đã biết mục đích của khai phá dữ liệu là các tri thức được chiết lọc từ cơ sở

dữ liệu để phục vụ cho các lĩnh vực sản xuất, kinh doanh, y tế, giáo dục…

Do vậy, ta có thể xem mục đích chính của khai phá dữ liệu là mô tả và dự đoán

Dự đoán: Đưa các mẫu/mô hình dữ liệu chiết xuất để dự đoán những giá trị

chưa biết hoặc những giá trị trong tương lai

Mô tả: Tìm kiếm và liệt kê các mẫu/mô hình dữ liệu mà con người có thể hiểu

để sử dụng vào các mục đích khác nhau

Với 2 mục đích cơ bản trên, nhiệm vụ của khai phá dữ liệu bao gồm:

- Phân cụm, phân loại, phân nhóm, phân lớp

- Khai phá luật kết hợp

- Lập mô hình dự báo

- Phân tích đối tượng ngoài cuộc

- Phân tích sự tiến hóa

Trang 15

8

1.3.2 Các kỹ thuật khai phá dữ liệu:

Các kỹ thuật khai phá dữ liệu thường được chia thành hai nhóm chính cụ thể như sau:

- Kỹ thuật khai phá dữ liệu dự đoán: Bản chất của kỷ thuật này là đưa ra các dự đoán dựa vào các suy diễn trên CSDL hiện thời Các kỹ thuật này gồm có: phân lớp, hồi quy…

- Kỹ thuật khai phá dữ liệu mô tả: Kỷ thuật này có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Các kỹ thuật này gồm có: Phân cụm, tóm tắt, trực quan hóa phân tích sự phát triển và độ lệch, phân tích luật kết hợp…

1.3.2.1 Kỹ thuật khai phá dữ liệu dự đoán

a Phân lớp dữ liệu

Mục tiêu của kỹ thuật phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu Quá trình phân loại dữ liệu bao gồm 2 bước: xây dựng mô hình và sử dụng mô hình

để phân loại

- Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu cho trước

- Sử dụng mô hình để phân loại dữ liệu

+ Bước 1: Mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu có sẵn, mỗi mẫu tương ứng với 1 lớp, được quyết định bởi một số thuộc tính gọi là thuộc tính lớp Các lớp dữ liệu này còn được gọi là lớp dữ liệu huấn luyện (training data set) Các nhãn lớp của tập dữ liệu huấn luyện đề phải được xác định trước khi xây dựng mô hình

+ Bước 2: Sử dụng mô hình để phân lớp dữ liệu trước hết chúng ta phải tính độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai

b Phương pháp hồi quy

Khác với kỹ thuật phân lớp dữ liệu chỉ dùng để dự đoán về các giá trị rời rạc thì

kỹ thuật hồi quy được dùng để dự đoán về các giá trị liên tục

Trang 16

9

Hội quy là một hàm toán học ánh xạ mục dữ liệu thành một biến dự đoán có giá trị thực Trong cuộc sống có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hội quy, cụ thể như: đánh giá tình trạng sức khỏe của bệnh nhân khi biết được kết quả xét nghiệm chẩn đoán, dự đoán khả năng tiêu thụ của một sản phẩm mới băng hàm chi tiêu quảng cáo……

1.3.2.2 Khai phá dữ liệu mô tả

Nhiệm vụ của khai phá dữ liệu mô tả là mô tả về các tính chất hay đặc tính chung của dữ liệu trong CSDL hiện thời

Bao gồm các kỹ thuật: + Kỹ thuật phân cụm;

+ Kỹ thuật khai phá luật kết hợp;

a Phân cụm dữ liệu

Mục tiêu chính của kỹ thuật phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác sẽ không tương đồng

Một đối tượng có thể thuộc về nhiều hơn một cụm

b Khai phá luật kết hợp

Mục tiêu chính của kỹ thuật khai phá luật kết hợp là phát hiện và đưa ra các mối quan hệ giữa các giá trị dữ liệu trong CSDL Đầu ra của khai phá dữ liệu sử dụng kỹ thuật này là các luật kết hợp tìm được

Khai phá luật kết hợp được thực hiện qua 2 bước cơ bản:

+ Bước 1: Là tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định qua độ hỗ trợ và có độ hỗ trợ lớn hơn độ hỗ trợ cực tiểu

+ Bước 2: Khi sinh ra các luật kết hợp từ tập mục phổ biến, độ hỗ trợ và độ tin cậy của các luật phải lớn hơn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu tương ứng

1.4 Một số phương pháp khai phá dữ liệu

1.4.1 Phương pháp quy nạp

Một cơ sở dữ liệu là một kho thông tin nhưng các thông tin quan trọng hơn cũng có thể được suy diễn từ kho thông tin đó Có hai kỹ thuật chính để thực hiện việc này đó là suy diễn và quy nạp

Trang 17

10

+ Phương pháp suy diễn:

Nhằm rút ra thông tin là kết quả logic của các thông tin trong cơ sở dữ liệu Phương pháp suy diễn dựa trên các sự kiện chính xác để suy ra các tri thức mới từ các thông tin cũ Mẫu chiết xuất được bằng cách sử dụng phương pháp này thường

là các luật suy diễn

+ Phương pháp quy nạp:

Phương pháp quy nạp suy ra các thông tin được sinh ra từ cơ sở dữ liệu Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không phải bắt đầu với các tri thức đã biết trước Các thông tin mà phương pháp này đem lại là các thông tin hay các tri thức cấp cao diễn tả về các đối tượng trong cơ sở dữ liệu

1.4.2 Cây quyết định và luật:

a Cây quyết định:

Cây quyết định là một mô tả tri thức dạng đơn giản nhằm phân các đối tượng dữ liệu thành một số lớp nhất định Các nút của cây được gán nhãn là tên các thuộc tính, các cạnh được gán các giá trị có thể của các thuộc tính, các lá mô tả các lớp khác nhau Các đối tượng được phân lớp theo các đường đi trên cây, qua các cạnh tương ứng với các giá trị của thuộc tính của đối tượng tới lá Ta có minh họa hình 1.2

Hình 1.2 Mẫu kết hợp với phương pháp cây quyết định

Nợ ≤n Nợ >n Không cho vay

Thu nhập ≤t Thu nhập >t

Không cho vay Cho vay

Trang 18

11

b Tạo luật

Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa về mặt thống

kê Các luật có dạng Nếu P Thì Q, với P là mệnh đề đúng với một phần trong cơ sở

dữ liệu, Q là mệnh đề dự đoán

Cây quyết định và luật có ưu điểm là hình thức mô tả đơn giản, mô hình suy diễn khá dễ hiểu đối với người sử dụng Tuy nhiên, giới hạn của nó là mô tả cây và luật chỉ có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn cả về độ chính xác của mô hình

1.4.3 Phát hiện các luật kết hợp

Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong cơ sở dữ liệu Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được Một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện của B trong cùng bản ghi đó: A => B

Cho một lược đồ R= {A1,A2, ……, Ap} các thuộc tính với miền giá trị {0,1},

và một quan hệ r trên R Một luật kết hợp trên r được mô tả dưới dạng X=>B với

R

X  và B € R\X Về mặt trực giác, ta có thể phát biểu ý nghĩa của luật như sau:

Nếu một bản ghi của bảng r có giá trị 1 tại mỗi thuộc tính thuộc X, thì giá trị của thuộc tính B cũng là một trong cùng bản ghi đó Ví dụ: như ta có tập cơ sở dữ liệu

về các mặt hàng bán trong siêu thị các dòng tương ứng với các ngày bán hàng, các cột tương ứng với các mặt hàng thì giá trị 1 tại ô (20/10 bánh mì) xác định rằng bánh mì đã được bán ngày hôm đó và cũng kéo theo sự xuất hiện giá trị 1 tại ô (20/10, bơ)

Cho WR, đặt s(W,r) là tần số xuất hiện của W trong r được tính bằng tỷ lệ của các dòng trong r có giá trị 1 tại mỗi cột thuộc W Tần số xuất hiện của luật X=>B trong r được định nghĩa là s(X{B},r) còn gọi là độ hỗ trợ của luật, độ tin cậy của luật là s(X{B},r)/s(X,r), ở đây X có thể gồm nhiều thuộc tính, B là giá trị không

cố định Nhờ vậy mà không xảy ra việc tạo ra các luật không mong muốn trước khi

Trang 19

12

quá trình tìm kiếm bắt đầu Điều đó cũng cho thấy không gian tìm kiếm có kích thước tăng lên theo hàm mũ của số lượng các thuộc tính ở đầu vào Do vậy cần phải chú ý thiết kế dữ liệu cho việc tìm kiếm các luật kết hợp

Nhiệm vụ của việc phát hiện các luật kết hợp là phải tìm tất cả các luật X=>B sao cho tần số của luật không nhỏ hơn ngưỡng σ cho trước và độ tin cậy của luật không nhỏ hơn ngưỡng Minconfi cho trước Từ một cơ sở dữ liệu, ta có thể tìm ra được hàng nghìn và thậm chí hàng trăm nghìn các luật kết hợp

Ta gọi một tập con XR là phổ biến trong r nếu thỏa mãn điều kiện s(X,r) ≥  Nếu biết tất cả các tập phổ biến trong r thì việc tìm kiếm các luật kết hợp rất dễ dàng Vì vậy giải thuật tìm kiếm các luật kết hợp trước tiên phải đi tìm tất cả các tập phổ biến này, sau đó tạo dựng dần các luật kết hợp bằng cách ghép dần các tập thuộc tính dựa trên mức độ phổ biến

Các luật kết hợp có thể là một cách hình thức hóa đơn giản Chúng rất thích hợp cho việc tạo ra các kết quả có dữ liệu dạng nhị phân Giới hạn cơ bản của phương pháp này là ở chỗ quan hệ cần phải thưa theo nghĩa là không có tập phổ biến nào chứa nhiều hơn 15 thuộc tính Giải thuật tìm kiếm các luật kết hợp tạo ra số luật ít nhất băng số các tập phổ biến và nếu như một tập phổ biến có kích thước K thì phải

có ít nhất uật kết hợp Thông tin về các tập phổ biến được sử dụng để ước lượng

độ tin cậy của các tập luật kết hợp

1.5 Ứng dụng khai phá dữ liệu

Khai phá dữ liệu tuy là lĩnh vực mới nhưng là một lĩnh vực đang được quan tâm nhiều và ứng dụng rộng rãi trong thực tiễn Một số ứng dụng điển hình của khai phá

dữ liệu có thể được liệt kê như sau:

- Phân tích dữ liệu và hỗ trợ ra quyết định (Analysis & Decition support)

- Phân lớp văn bản, tóm tắt văn bản và phân lớp các trang Web (Text mining

& Web mining)

- Điều trị y học (Medical) Mỗi liên hệ giữa triệu chứng, chẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuộc men, phẩu thuật)

Trang 20

13

- Phân tích độ rủi ro

- Tài chính và thị trường chứng khoán (Finance & stock market): Phân tích tình hình tài chính và dự đoán giá cổ phiếu

- Bảo hiểm, Giáo dục……

1.6 Các thách thức trong khai phá dữ liệu

Khai phá dữ liệu ngày càng đóng góp một vai trò quan trong trong việc tìm ra các tri thức thực sự có ích, hiệu quả tiềm ẩn trong các khối dữ liệu thông tin khổng

lồ mà hàng ngày vấn đang được thu thập, lưu trữ để giúp các cá nhân và tổ chức đưa

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

- Cơ sở dữ liệu có kích thước lớn

- Cơ sở dữ liệu có số thuộc tính lớn

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

- Dữ liệu bị thiếu hoặc bị nhiễu

- Quan hệ giữa các trường phức tạp

- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có

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

Cơ sở dữ liệu lớn có thể lớn về số lượng các bản ghi, lớn về số lượng các thuộc tính trong CSDL Số lương các bản ghi trong CSDL lớn có khi dung lượng tới hàng Gigabyte, terabyte; số thuộc tính trong CSDL có thể rất nhiều và đa dạng Để giải quyết vấn đề này người ta thường đưa ra một ngưỡng nào đó cho CSDL bằng các cách như chiết xuất mẫu, xấp xỉ hoặc xử lý song song Trong CSDL khi mà số các thuộc tính là rất lớn, cùng với số lương lớn các bản ghi sẽ dẫn đến kích thước độ phức tạp của bài toán tăng lên Vì vậy không gian tìm kiếm không gian trạng thái gia tăng, nhiều mẫu hay mô hình thừa trùng lặp phát sinh nhiều luật thừa, đây được coi là vấn đề nan giải trong quá trình khai phá dữ liệu Nhằm giải quyết được những

Trang 21

Quan hệ phức tạp giữa các thuộc tính trong CSDL cũng là vấn đề cần được quan tâm Những bộ thuộc tính có cấu trúc, phân lớp phức tạp, có mỗi liên hệ phức tạp với nhau trong CSDL đòi hỏi khai phá dữ liệu phải có các giải pháp các kỹ thuật để

có thể áp dụng được, nhận ra được các mỗi quan hệ này trong quá trình khai phá dữ liệu

1.7 Kết luận chương 1

Nội dung chương trình đã tìm hiểu quá trình phát hiện tri thức và các vấn đề khai phá dữ liệu Phát hiện tri thức (KDD) là quá trình rút ra tri thức từ dữ liệu mà trong đó khai phá dữ liệu là giai đoạn chủ yếu Khai phá dữ liệu là nhiệm vụ khai phá các mẫu có ích từ số lượng lớn dữ liệu, ở đó dữ liệu có thể được lưu trữ trong các CSDL, kho dữ liệu hoặc kho lưu trữ thông tin khác Nó là một lĩnh vực còn mới

mẻ và được phát triển từ các lĩnh vực như hệ thống CSDL, kho dữ liệu, thống kê, học máy, trực quan hóa dữ liệu , Khai phá tri thức bao gồm nhiều giai đoạn trong

Trang 22

15

đó giai đoạn khai phá dữ liệu là giai đoạn quan trọng nhất Chương này tóm tắt một

số phương pháp dùng để khai phá dữ liệu và phân tích việc khai phá dữ liệu Trong các phương pháp khai phá dữ liệu, phát hiện các luật kết hợp là một lĩnh vực đang được quan tâm nghiên cứu nhiều Phần này sẽ được trình bày rõ hơn trong phần tiếp theo của luận văn

Trang 23

16

CHƯƠNG 2 KHAI PHÁ LUẬT KẾT HỢP

2.1 Bài toán khai phá luật kết hợp

Bài toán khai phá luật kết hợp được giới thiệu từ năm 1993 và nhận được rất nhiều sự quan tâm của nhiều nhà khoa học [1] Ngày nay việc khai thác các luật như thế vẫn là một trong những phương pháp khai thác mẫu phổ biến nhất trong việc phát hiện tri thức và khai phá dữ liệu

Mục đích chính của khai phá dữ liệu là các tri thức được kết xuất ra sẽ được sử dụng trong dự báo thông tin trợ giúp trong sản xuất kinh doanh và nghiên cứu khoa học

Trong hoạt động sản xuất kinh doanh, ví dụ kinh doanh các mặt hàng tại siêu thị, các nhà quản lý rất thích có được thông tin mang tính thống kê như: “90% phụ

nữ có xe máy màu đỏ và đeo đồng hồ Thụy Sĩ thì dùng nước hoa hiệu Chanel” hoặc

“70% khách hàng là công nhân khi mua TV thường mua loại TV 21inches” Những thông tin như vậy rất hữu ích cho việc định hướng kinh doanh Vậy vấn đề đặt ra là liệu có tìm được các luật như vậy bằng các công cụ khai phá dữ liệu hay không? Câu trả lời hoàn toàn có thể Đó chính là nhiệm vụ khai phá luật kết hợp

Giả sử chúng ta có một cơ sở dữ liệu T Luật kết hợp cho biết phạm vi mà trong

đó sự xuất hiện của tập các mục X nào đó trong các bản ghi của T sẽ kéo theo sự xuất hiện của tập các mục Y cũng trong những bản ghi đó Mỗi luật kết hợp được đặc trưng bởi hai thông số độ tin cậy và độ hỗ trợ Độ tin cậy được biểu diễn bằng tỉ

lệ % những bản ghi trong T chứa cả X và Y so với những bản ghi trong T chứa X

Độ hỗ trợ được biểu diễn bằng tỉ lệ % những bản ghi trong T chứa cả X và Y

Vấn đề khai phá luật kết hợp được phát biểu như sau: Cho trước độ hỗ trợ α và

độ tin cậy β Những luật kết hợp trong D có độ hỗ trợ và độ tin cậy tương ứng lớn hơn hoặc bằng α và β

Giả thiết T là CSDL giao dịch và với α = 40%, β = 90% Vấn đề khai phá luật kết hợp được thực hiện như sau:

Trang 24

Ví dụ trong lứa tuổi nào đó thì những khác hàng nữ là công nhân sẽ đặt mua mặt hàng gì đó, ví dụ áo dài chẳng hạn là nhiều nhất, thỏa mãn một ngưỡng nào đó?

2.2 Một số khái niệm cơ bản

Mục đích của luật kết hợp là tìm ra sự kết hợp hay tương quan giữa các item

Một luật kết hợp đƣợc định nghĩa là một mệnh đề kéo theo có dạng XY, trong đó X,YI thõa mãn điều kiện XYØ X, Y được gọi là các tập mục

(itemset) Tập X gọi là nguyên nhân, tập Y gọi là hệ quả

Theo quan điểm thống kê: X được gọi là biến độc lập và Y được gọi là biến phụ thuộc

Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (Support) và độ tin cậy (Confidence), được định nghĩa như phần sau;[2]

2.2.2 Định nghĩa về đỗ hỗ trợ

Độ hỗ trợ của một tập mục X trong cơ sở dữ liệu T là tỉ lệ giữa số lượng các bản ghi t iTcó chứa tập mục X và tổng số bản ghi trong T (hay là phần trăm của các bản ghi trong T có chứa tập mục X), kí hiệu Supp(X) và có công thức sau:

Trang 25

18

1 ) (

| )

(

N

X n T

T X T t X Supp

Trong đó: n(X) là số giao dịch chứa X, N là tổng số giao dịch.[2]

Độ hỗ trợ của một luật kết hợp XYlà tỉ lệ giữa số lượng các bản ghi chứa tập mục XY so với tổng số các bản ghi trong T Kí hiệu Supp(XY) có công thức sau:

1 ) (

| )

(

N

Y X n T

T Y X T t Y X Supp

Trong đó: n(X) là số giao dịch chứa X, N là tổng số giao dịch

2.2.3 Định nghĩa độ tin cậy

Độ tin cậy của một luật kết hợp XYlà tỉ lệ giữa số lượng các bản ghi trong T chứa tập mục XYso với số lượng các bản ghi trong T chứa tập mục X Kí hiệu

) (

) (

) (

|

| )

Y X Supp X

n

Y X n T

X D t

T Y X T t Y X conf

Trong đó: n(X) là số giao dịch chứa X

Tập mục X được gọi là tập mục thường xuyên (frequent itemset) nếu

sup min

)

Ngược lại, một tập mục không thường xuyên X là tập mục mà độ hỗ trợ của nó nhỏ hơn độ hỗ trợ tối thiểu cho trước

Chúng ta nhận thấy rằng, tri thức đem lại bởi luật kết hợp dạng trên có sự khác biệt rất nhiều so với những thông tin thu được từ các câu lệnh truy vấn dữ liệu thông thường Đó là những tri thức, những mối liên hệ chưa biết trước và mang tính dự báo đang tiềm ẩn trong dữ liệu Những tri thức này không đơn giản là kết quả của phép gom nhóm, tính tổng hay sắp xếp mà là của một quá trình tính toán khá phức tạp

Tuy nhiên, không phải bất cứ luật kết hợp nào có mặt trong tập các luật có thể được sinh ra đều có ý nghĩa trên thực tế Mà các luật phải thỏa mãn một ngưỡng hỗ trợ và tin cậy cụ thể Thực vậy, cho một tập các giao dịch T, bài toán khai phá luật

Trang 26

19

kết hợp là sinh ra tất cả các luật kết hợp mà có độ hỗ trợ supp lớn hơn hoặc bằng độ

hỗ trợ tối thiểu minsup và độ tin cậy conf lớn hơn hoặc bằng độ tin cậy tối thiểu minconf tương ứng do người dùng xác định Khai phá luật kết hợp được phân thành

2 bài toán con:

Bài toán 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn hoặc bằng độ hỗ trợ

tối thiểu do người dùng xác định Các tập mục thỏa mãn độ hỗ trợ tối thiểu được gọi

là các tập mục thường xuyên

Bài toán 2: Dùng các tập mục thường xuyên để sinh ra các luật mong muốn Ý

tưởng chung là nếu F={i1, i2, …, in} là một tập mục thường xuyên, với mỗi tập mục S={i1, i2, …, ik} là tập con không rỗng của F thì chúng ta có thể xác định luật

S

F

S  với độ tin cậy:

)(

)(

S Supp

S F Supp conf  

Nếu conf  minconf thì luật được giữ lại

N

A n

A

Supp( )  ( ), trong đó n(B), n(A) lần lượt là số giao dịch tương ứng chứa tập A,

B trong T Rõ ràng với AB thì ta sẽ có được n(A) n(B) (những bản ghi nào chứa tập B thì sẽ chứa tập A), và do vậy Supp(A) Supp(B) là điều hiển nhiên

Tính chất 2: Giả sử A và B là hai tập mục, A,BI Nếu B là tập mục thường xuyên và AB thì A cũng là tập mục thường xuyên

Trang 27

20

Chứng minh:

Thật vậy, AB ta có Supp(A) Supp(B) (theo tính chất 1 ở trên) Hơn nữa B là

tập mục thường xuyên nên Supp(B)  min sup Do vậy Supp(A) Supp(B)  min sup

nên A cũng là tập mục thường xuyên

Tính chất 3: Giả sử A và B là hai tập mục, A,BI Nếu AB và A là tập mục không thường xuyên thì B cũng là tập mục không thường xuyên

Chứng minh:

Thật vậy, AB ta có Supp(A) Supp(B) (theo tính chất 1 ở trên) Hơn nữa A là

sup min ) ( )

)

N

Y X n Y

X

N

Z Y n Z Y

) (

)

Supp     và Supp(XYZ) Supp(YZ) Như vậy ta xét

sup min )

Supp (dấu = xảy ra khi và chỉ khi các tập X, Y, Z luôn xuất

hiện cùng nhau trong một giao dịch)

) (

) (

Y X Supp

Z Y X Supp Z

Y X conf

) (

)

(

X Supp

Z X Supp Z

X

conf   

;

) (

) ( )

(

Y Supp

Z Y Supp Z

Y conf   

Trang 28

21

Xét trường hợp Z có mặt trong một giao dịch chỉ khi X và Y cũng có mặt, tức là

s Z Y Supp Z

X Supp Z

Supp Y

X Supp Z

)(

Z Y X Supp Z

Y X

minconf = 1 thì hai luật XZYZ sẽ không đủ độ tin cậy

Tuy nhiên, đảo lại: XYZ thì XYXZ

Tính chất 3: Luật kết hợp không có tính bắc cầu

Nếu XYYZ, chúng ta không thể suy ra XZ

Với với minsup=50%, minconf=50% ta sẽ tìm được các luật kết hợp:

Associate rule Support Confidence

Ở ví dụ trên ta có XY và YZ nhưng không tồn tại XZ

2.4 Một số hướng tiếp cận trong khai phá luật kết hợp

Lĩnh vực khai thác luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Có những đề xuất nhằm cải tiến thuật toán, có đề xuất tìm kiếm những luật có ý nghĩa hơn… Dưới đây là một số hướng chính [4]:

Luật kết hợp nhị phân (Binary association rule): Là hướng nghiên cứu đầu tiên của luật kết hợp Theo dạng luật kết hợp này thì các items chỉ được quan tâm là có hay không xuất hiện trong cơ sở dữ liệu giao tác (Transaction database)

Trang 29

cả Vì vậy để khai phá luật kết hợp với các cơ sở dữ liệu này các nhà nghiên cứu đề xuất một số phương pháp rời rạc hóa nhằm chuyển dạng luật này về dạng nhị phân

điều hành Windows và mua phần mềm văn phòng Microsoft Office,…[4]

Luật kết hợp mờ (fuzzy association rule): Với những khó khăn gặp phải khi rời rạc hóa các thuộc tính số, các nhà nghiên cứu đề xuất luật kết hợp mờ khắc phục hạn chế đó và chuyển luật kết hợp về một dạng gần gũi hơn.[4]

Luật kết hợp với thuộc tính được đánh trọng số (association rules with weighted items): Các thuộc tính trong cơ sở dữ liệu thường không có vai trò như nhau Có một số thuộc tính quan trọng và được chú trọng hơn các thuộc tính khác Vì vậy trong quá trình tìm kiếm luật các thuộc tính được đánh trọng số theo mức độ xác định nào đó Nhờ vậy ta thu được những luật “hiếm” (tức là có

độ hỗ trợ thấp nhưng mang nhiều ý nghĩa).[4]

Khai thác luật kết hợp song song (parallel mining of association rule): Nhu cầu song song hóa và xử lý phân tán là cần thiết vì kích thước dữ liệu ngày càng lớn nên đòi hỏi tốc độ xử lý phải được đảm bảo.[4]

Khai phá luật kết hợp sử dụng SQL: Sự đa dạng của dữ liệu, các nhiệm vụ khai phá dữ liệu, và các cách tiếp cận khai phá dữ liệu đặt ra nhiều thách thức trong vấn đề nghiên cứu KPDL Sự phát triển của các hệ thống và phương pháp KPDL

Trang 30

23

hiệu quả, việc xây dựng các môi trường KPDL tương tác và tích hợp, việc thiết kế các ngôn ngữ KPDL, và việc ứng dụng các kỹ thuật KPDL để giải quyết các vấn đề ứng dụng lớn là nhiệm vụ quan trọng đối với các nhà nghiên cứu KPDL, hệ thống KPDL và các nhà phát triển ứng dụng Phần này đề cập đến một số vấn đề đang thu hút sự chú ý của các nhà nghiên cứu KPD Làm thế nào để tăng cường hiệu suất, độ chính xác, khả năng mở rộng, và tích hợp của các hệ thống khai thác dữ liệu? Làm thế nào để giảm độ phức tạp tính toán ? Làm thế nào để cải thiện khả năng xử lý dữ liệu không đầy đủ, không phù hợp, và nhiễu ? Ba câu hỏi trên đã được tập trung nghiên cứ nghiên cứu bằng phương pháp khai phá luật kết hợp dựa trên sức mạnh của SQL trong đó tập trung nghiên cứu 3 kỹ thuật cơ bản là k-nhánh (K-Way), gom nhóm (2_Group by) và truy vấn lồng (Sub Query) và sẽ được trình bày chi tiết ở chương 3 của luận văn này

Trên đây là những biến thể của khai phá luật kết hợp cho phép ta tìm kiếm luật kết hợp một cách linh hoạt trong những cơ sở dữ liệu lớn Bên cạnh đó các nhà nghiên cứu còn chú trọng đề xuất các thuật toán nhằm tăng tốc quá trình tìm kiếm luật kết hợp trong cơ sở dữ liệu

2.5 Kết luận chương 2

Trong nội dung chương này đã trình bày một số định nghĩa cơ bản và các tính chất liên qua đế luật kết hợp như: Tập thường xuyên, độ hỗ trợ, độ tin cậy… Đồng thời cũng trình bày một số hướng tiếp cận trong nghiên cứu khai phá luật kết hợp

Để đi sâu hơn vào nghiên cứu khai phá luật kết hợp, trong chương 3 của luận văn tập trung nghiên cứu một số thuật toán điển hình trong khai phá luật kết hợp và đặc biệt đi sâu về tìm hiểu khai phá luật kết hợp bằng SQL

Trang 31

24

CHƯƠNG 3 KHAI PHÁ LUẬT KẾT HỢP SỬ DỤNG SQL

3.1 Đặt vấn đề

Ở chương 1 chúng ta đã tìm hiểu tổng quan về phát hiện tri thức và khai phá

dữ liệu, qua đó cho thấy ý nghĩa quan trọng của khai phá dữ liệu là tìm ra các tri thức hữu ích tiềm ẩn bên trong các khối dữ liệu mà hàng ngày chúng ta vẫn đang thu thập được Hiện nay đã có rất nhiều giải pháp được đưa ra ứng dụng trong khai phá dữ liệu, tuy nhiên trên thực tế cho thấy quá trình này vẫn còn gặp rất những khó khăn và thách thức

Khai phá các luật kết hợp là một tiếp cận khai phá dữ liệu nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong cơ sở dữ liệu Mục đích chính của quá trình này là tìm các tri thức dưới dạng các luật được kết xuất ra từ dữ liệu để sử dụng trong dự báo thông tin, trợ giúp trong sản xuất kinh doanh và nghiên cứu khoa học… Một trong những thuật toán được sử dụng nhiều khi khai phá luật kết hợp là thuật toán Apriori và các mở rộng của thuật toán này [5]

Như chúng ta đã biết SQL là ngôn ngữ của cơ sở dữ liệu, có khả năng rất mạnh khi truy vấn dữ liệu, chính vì thế, gần đây có nhiều nghiên cứu khai phá luật kết hợp bằng cách xây dựng thuật toán Apriori sử dụng SQL Kỹ thuật này không chỉ khai thác được sức mạnh của SQL, một ngôn ngữ được tích hợp trong hầu hết các hệ quản trị cơ sở dữ liệu, mà còn cho thấy tính hiệu quả về tốc độ xử lý và thực thi Trong chương 3 này tập trung nghiên cứu quá trình khai phá luật kết hợp sử dụng SQL Phần 3.1 là kiến thức nền tảng về thuật toán Apriori Cách tạo tập các ứng viên sử dụng SQL được trình bày ở phần 3.3 Phần 3.4 trình bày việc tính toán

độ hỗ trợ của tập mục thường xuyên bằng các kỹ thuật nối k-nhánh (K-way join), kỹ thuật gom nhóm (Group by), và kỹ thuật sử dụng truy vấn lồng (Sub query) Giai đoạn sinh luật từ tập mục thường xuyên được trình bày ở phần 3.5 Phần cuối của chương 3 là một ví dụ minh họa về khai phá luật kết hợp sử dụng SQL từ cơ sở dữ liệu giao dịch

Trang 32

Thuật toán Apriori dựa trên một nhận xét tinh tế là bất kỳ tập hợp con nào của tập mục thường xuyên cũng là tập mục thường xuyên Do đó quá trình tìm tập mục thường xuyên, chỉ cần dùng đến tập mục thường xuyên vừa xuất hiện ở bước ngay trước đó, chứ không dùng đến tất cả các tập mục thường xuyên, tính đến thời điểm hiện tại Nhờ vậy, bộ nhớ được giải phóng đáng kể và thời gian tính toán nhanh hơn [4] Quá trình thực hiện thuật toán Apriori có thể được liệt kê theo các bước sau:

Bước 1: Tìm tất cả các tập mục thường xuyên (frequent itemset)

Tập mục thường xuyên k-itemset tìm được dùng để tìm tập mục thường xuyên (k+1)-itemset

Đầu tiên tìm tập mục thường xuyên 1-itemset (F1) Sau đó F1 được dùng để tìm

F2 (2-itemset),… cho đến khi không có tập mục thường xuyên k-itemset nào được tìm thấy

Bước 2: Từ các tập mục thường xuyên sinh ra các luật kết hợp thõa mãn ngưỡng

độ tin cậy tối thiểu (minconf)

Với mỗi tập mục thường xuyên F = {i1, i2, …, in} ta liệt kê tất cả các tập mục S={i1, i2, …, ik} là tập con không rỗng của F và thiết lập luật kết hợp SFS nếu thõa mãn ngưỡng độ tin cậy tối thiểu

3.2.2 Thuật toán

Đầu vào: Cơ sở dữ liệu giao dịch T, độ hỗ trợ tối thiểu minsup

Đầu ra: Các tập mục thường xuyên

Các bước thực hiện:

Bước 1: Duyệt toàn bộ cơ sở dữ liệu giao dịch để có được tập ứng cử viên C1

(1-itemset) và độ hỗ trợ Supp tương ứng So sánh Supp với minsup để có được tập

mục thường xuyên F1 (1-itemset)

Trang 33

26

Bước 2: Sử dụng Fk-1 kết nối nối với chính nó, tức là kết nối Fk-1 với Fk-1 để sinh

ra tập ứng viên k-itemset Ck

Bước 3: Duyệt cơ sở dữ liệu giao dịch để tính độ hỗ trợ supp của mỗi tập ứng

cử viên k-itemset Ck So sánh độ hỗ trợ supp với minsup (supp minsup) để thu

được tập mục thường xuyên k-itemset (Fk)

Bước 4: Lặp bước 2 cho đến khi tập ứng cử viên Ck bằng rỗng

Bước 5: Với mỗi tập mục thường xuyên F, sinh tất cả các tập con S không rỗng

F1←f | fC1, f.count/N minsup; //N: tổng số giao dịch

for (k = 2; Fk-1  Ø; k++) do // Duyệt tới khi không có F k nào được tìm thấy

Ck←candidate_gen(Fk-1); //Hàm tạo tập ứng cử viên C k từ F k-1

for each transaction tT do //Duyệt từng giao dịch trong T

for each candidate cC k do //Duyệt từng tập ứng cử viên trong C k

Trang 34

Tạo luật kết hợp từ các tập mục thường xuyên vừa tạo ở trên:

Với mỗi tập mục thường xuyên F tìm được:

- Tìm tất cả tập con không rỗng S của F

- Tạo luật kết hợp S  (FS) nếu thỏa mãn ngưỡng độ tin cậy tối thiếu (minconf)

Tóm lại để khai phá được các luật kết hợp bằng thuật toán Apriori chúng ta cần xây dựng được 3 thủ tục quan trọng như sau đây:

Trang 35

28

3.2.3 Ví dụ minh họa

Giả sử ta có một cơ sở dữ liệu giao dịch T như sau:

Mã giao dịch Các mặt hàng đƣợc mua (itemset)

Cơ sở dữ liệu giao dịch T

Với minsup = 30%, minconf = 80% ta thực hiện lần lượt theo thuật toán Apriori như sau:

Trong ví dụ này số các giao dịch là 7, ta dễ thấy 2/7 < minsup < 3/7, nên ta chỉ xét các độ hỗ trợ (supp) với tần suất xuất hiện  3

Lần duyệt 1 ta được tập ứng cử viên C1 (1-itemset) và độ hỗ trợ tương ứng

Itemset Support (sup)

Ngày đăng: 28/02/2021, 00:07

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Thị Biên, Khai phá luật kết hợp trong cơ sở dữ liệu đa phương tiện, Trường Đại học Công nghệ, Luận văn thạc sĩ Công nghệ thông tin, 2012 Sách, tạp chí
Tiêu đề: Khai phá luật kết hợp trong cơ sở dữ liệu đa phương tiện
[2]. Nguyễn Nhật Quang, Khai phá dữ liệu, Trường Đại học Bách Khoa Hà Nội Viện Công nghệ Thông tin và Truyền thông, tập bài giảng, 2014.Tiếng Anh Sách, tạp chí
Tiêu đề: Khai phá dữ liệu
[3]. A. Alashqur, Mining association rules: a database perspective, IJCSNS International Journal of Computer Science and Network Security, 2008 Sách, tạp chí
Tiêu đề: Mining association rules: a database perspective
[4]. Rakesh Agrawal. Tomasz Imielinski, and Arun Swami, Mining association rules between sets of item in large database, In proc of the ACM SIGMOD Conference on Management of Data, Washington, DC, 1993 Sách, tạp chí
Tiêu đề: Mining association rules between sets of item in large database
[5]. Agrawal, R. and R. Srikant. Fast Algorithms for mining association rules. in 20th Int'l Conference on Very Large Databases (VLDB). 1994 Sách, tạp chí
Tiêu đề: Fast Algorithms for mining association rules
[6]. Mohamed A. Shouman, A Comparative Study of SQL Based Approaches for MiningAssociation Rules over Relational DBMS, 2012 Sách, tạp chí
Tiêu đề: A Comparative Study of SQL Based Approaches for MiningAssociation Rules over Relational DBMS
[7]. P Mishra, Pereformance Evaluation and Analysis of SQL Based Approaches for association rule mining, The University of Texas at arlington, 2003 Sách, tạp chí
Tiêu đề: Pereformance Evaluation and Analysis of SQL Based Approaches for association rule mining
[8]. S.Shankar, and T.Purusothaman, Utility sentient frequent itemset mining and association rule mining: A literature survey and comparative study, InternationalJournal of Soft Computing Applications, ISSN: 1453-2277 Issue 4, pp.81-95, 2009 Sách, tạp chí
Tiêu đề: Utility sentient frequent itemset mining and association rule mining: A literature survey and comparative study

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

w