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

Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng

67 523 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 67
Dung lượng 839,96 KB

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

Nội dung

Khai phá luật kết hợp nhằm tìm ra được những tập phần tử thường xuất hiện đồng thời trong cơ sở dữ liệu hay còn gọi là tập mục thường xuyên frequent patterns, từ đó rút ra được luật về ả

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

=======  ======

NGUYỄN NGỌC QUỲNH CHÂU

MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ LUẬT KẾT

HỢP TRÊN CƠ SỞ DỮ LIỆU GIA TĂNG

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

Hà Nội – 2015

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

=======  ======

NGUYỄN NGỌC QUỲNH CHÂU

MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ LUẬT KẾT

HỢP TRÊN CƠ SỞ DỮ LIỆU GIA TĂNG

Chuyên ngành : Kỹ thuật phần mềm

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

Người hướng dẫn khoa học: GS TS.Vũ Đức Thi

Hà Nội - 2015

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả trong luận văn là sản phẩm của riêng cá nhân tôi Trong toàn bộ nội dung của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp

Tôi xin hoàn toàn chịu trách nhiệm theo quy định cho lời cam đoan của mình

Hà Nội, ngày 15/5/2015

Người cam đoan

Nguyễn Ngọc Quỳnh Châu

Trang 4

LỜI CẢM ƠN

Trước tiên, tôi xin chân thành cảm ơn tới các thầy cô giáo trong Khoa Công nghệ thông tin, Đại học công nghệ, Đại học quốc gia đã nhiệt tình giảng dạy, truyền đạt kiến thức

Tôi cũng xin bày tỏ lời cảm ơn sâu sắc nhất tới thầy giáo GS Vũ Đức Thi

đã tận tình hướng dẫn, định hướng giải quyết các vấn đề trong luận văn

Tôi xin cảm ơn Ban lãnh đạo và các đồng nghiệp trong Khoa Công nghệ thông tin, Đại học Thủy Lợi đã tạo điều kiện cho tôi trong suốt quá trình học tập Cuối cùng, tôi xin cảm ơn gia đình, bạn bè đã đồng hành cùng tôi trong quá trình học tập

Trang 5

MỤC LỤC

LỜI CAM ĐOAN 1

LỜI CẢM ƠN 2

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

DANH MỤC HÌNH VẼ 6

DANH MỤC BẢNG BIỂU 7

CHƯƠNG 1: KHAI PHÁ LUẬT KẾT HỢP 9

1.1 Tổng quan về khai phá dữ liệu 9

1.2 Giới thiệu về khai phá luật kết hợp 10

1.3 Một số khái niệm cơ bản [3, 5, 7] 11

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

1.3.2 Tập mục thường xuyên 13

1.3.3 Luật kết hợp 14

1.4 Một số thuật toán khai phá luật kết hợp 16

1.4.1 Thuật toán AIS 16

1.4.2 Thuật toán Apriori 18

CHƯƠNG 2: KHAI PHÁ LUẬT KẾT HỢP TRÊN CƠ SỞ DỮ LIỆU GIA TĂNG 21 2.1 Mở đầu 21

2.2 Thuật toán xử lý dữ liệu gia tăng theo chiều dọc - Thuật toán Gia tăng 1 21

2.2.1 Ý tưởng thuật toán 21

2.2.2 Chuyển đổi cơ sở dữ liệu sang chiều dọc 23

2.2.3 Các thủ tục phụ trợ 24

2.2.4 Tìm tập mục ứng viên 27

2.2.5 Tính độ hỗ trợ của tập mục ứng viên 28

2.2.6 Khai phá tập thường xuyên 29

2.2.7 Xử lý dữ liệu gia tăng 31

2.2.8 Ví dụ minh họa 32

2.2.9 Nhận xét về thuật toán gia tăng 1 34

2.3 Thuật toán xử lý dữ liệu gia tăng theo chiều ngang – Thuật toán Gia tăng 2 35

Trang 6

2.3.1 Ý tưởng thuật toán 35

2.3.2 Xây dựng cây gia tăng 36

2.3.3 Khai phá tập thường xuyên 39

2.3.4 Lưu trữ và khôi phục cây gia tăng 41

2.3.5 Ví dụ minh họa 44

2.3.6 Nhận xét về thuật toán Gia tăng 2 47

2.3.7 Đề xuất ý tưởng cải tiến cấu trúc cây gia tăng 47

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM 53

3.1 Mô tả chương trình chạy 53

3.2 Thử nghiệm đánh giá thuật toán Gia tăng 1 56

3.2.1 Thử nghiệm và đánh giá thuật toán trên nội dung 1, 2 56

3.2.2 Thử nghiệm và đánh giá thuật toán trên nội dung 3 60

3.3 Kết luận 62

KẾT LUẬN 64

TÀI LIỆU THAM KHẢO 65

Trang 7

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

Tập hợp gồm n mục dữ liệu {xi, …, x n}

Cơ sở dữ liệu giao tác trên I là tập hợp gồm m giao tác

T= {t 1 , …, t m} Tập mục dữ liệu X gồm k mục dữ liệu

Độ hỗ trợ của tập mục dữ liệu X Ngưỡng hỗ trợ tối thiểu cho trước Tập các tập thường xuyên theo ngưỡng S0

Độ dài của tập X = số các phần tử của X

Cơ sở dữ liệu

Trang 8

DANH MỤC HÌNH VẼ

Hình 1-1: Ví dụ minh họa thuật toán AIS 18

Hình 1-2: Ví dụ về thuật toán Apriori 20

Hình 2-1: Cấu trúc cây gia tăng 36

Hình 2-2: Cây gia tăng với 6 giao tác được thêm vào 46

Hình 2-3: Cây gia tăng sau khi được khôi phục 47

Hình 2-4: Cây gia tăng ở mục 2.3.4 sau khi sử dụng thuật toán cải tiến có cấu trúc nhỏ gọn hơn 52

Hình 3-1: Kết quả chạy thử nghiệm ban đầu của Gia tăng 1 54

Hình 3-2: Cơ sở dữ liệu test cho Apriori và Gia tăng 1 54

Hình 3-3: Kết quả chạy Apriori và Gia tăng 1 dữ liệu ban đầu hình 3.2 55

Hình 3-4: Dữ liệu tăng thêm T’ 55

Hình 3-5: Kết quả chạy Apriori và Gia tăng 1 trên T+T’ 56

Hình 3-6: Thời gian chạy của Apriori và Gia tăng 1 trên CSDL 1, 2, 3,4 ban đầu 58

Hình 3-7: Thời gian chạy của Apriori và Gia tăng 1 trên CSDL 1, 2,3, 4 sau khi gia tăng 58

Hình 3-8: Thời gian chạy của Apriori và Gia tăng 1 trên CSDL 5, 6, 7, 8 ban đầu 59

Hình 3-9: Thời gian chạy của Apriori và Gia tăng 1 trên CSDL 5, 6, 7, 8 sau khi gia tăng 60

Hình 3-10: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 1 61

Hình 3-11: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 1 61

Hình 3-12: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 3 62

Trang 9

DANH MỤC BẢNG BIỂU

Bảng 1.1: Ma trận giao tác của cơ sở dữ liệu giao tác T 12

Bảng 1.2: Biểu diễn ngang của cơ sở dữ liệu giao tác T 12

Bảng 1.3: Biểu diễn dọc của cơ sở dữ liệu giao tác T 13

Bảng 3.1: Giải thích tiêu đề 57

Bảng 3.2: Bộ cơ sở dữ liệu thứ nhất 57

Bảng 3.3: Kết quả thu được trên bộ cơ sở dữ liệu thứ nhất 57

Bảng 3.4: Bộ cơ sở dữ liệu thứ hai 58

Bảng 3.5: Kết quả thu được trên bộ cơ sở dữ liệu thứ hai 59

Bảng 3.6: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 1 60

Bảng 3.7: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 2 61

Bảng 3.8: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 3 61

Trang 10

MỞ ĐẦU

Khai phá dữ liệu nhằm phát hiện các tri thức mới giúp ích cho hoạt động của con người đã trở thành một lĩnh vực quan trọng Nhiều hướng tiếp cận khác nhau trong khai phá dữ liệu như phân lớp, phân cụm, hồi quy, luật kết hợp Khai phá luật kết hợp

là một kỹ thuật cơ bản và quan trọng được sử dụng trong khai phá dữ liệu Khai phá luật kết hợp nhằm tìm ra được những tập phần tử thường xuất hiện đồng thời trong cơ

sở dữ liệu hay còn gọi là tập mục thường xuyên (frequent patterns), từ đó rút ra được luật về ảnh hưởng của một tập phần tử dẫn đến sự xuất hiện của một tập phần tử khác như thế nào

Khitìm các tập mục thường xuyên với các ngưỡng hỗ trợ khác nhau, công việc tìm kiếm lại phải bắt đầu lại từ đầu Điều này là lãng phí Ngoài ra, trong thực tế, cơ sở

dữ liệu luôn được bổ sung và gia tăng theo thời gian Do vậy yêu cầu cần có những thuật toán hiệu quả cho việc phát hiện luật kết hợp khi dữ liệu tăng thêm

Xuất phát từ nhu cầu tìm hiểu về một số phương pháp khai phá luật kết hợp trong bối cảnh gia tăng dữ liệu, học viên đã chọn đề tài “Một số phương pháp khai phá luật kết hợp trong cơ sở dữ liệu gia tăng” Nội dung luận văn được chia thành 3 chương:

 Chương 1: Khai phá luật kết hợp Chương này giới thiệu về khai phá dữ liệu, các bước trong khai phá dữ liệu, một số kỹ thuật được sử dụng trong khai phá

dữ liệu Tiếp theo, chương này đưa ra những khái niệm trong khai phá luật kết hợp nhưtập mục dữ liệu, cơ sở dữ liệu giao tác, độ hỗ trợ, độ tin cậy của luật kết hợp Hai thuật toán khai phá luật kết hợp được đề cập trong chương 1 là AIS và Apriori

 Chương 2: Khai phá luật kết hợp trên cơ sở dữ liệu gia tăng Chương này tập trung vào nghiên cứu hai thuật toán khai phá dữ liệu trên cơ sở dữ liệu gia tăng: thuật toán khai phá luật kết hợp trên cơ sở dữ liệu gia tăng theo chiều dọc và thuật toán khai phá luật kết hợp trên cơ sở dữ liệu gia tăng theo chiều ngang Trong chương này, học viên cũng đề xuất thuật toán cải tiến cấu trúc cây gia tăng trong thuật toán Gia tăng 2

 Chương 3: Cài đặt chương trình thử nghiệm Chương này trình bày về cài đặt hai thuật toán Apriori và thuật toán Gia tăng 1.Sau đó là phần chạy thử nghiệm hai thuật toán trên một số cơ sở dữ liệu nhằm đánh giá hai thuật toán trên ba nội dung: thử nghiệm trên cơ sở dữ liệu ban đầu, thử nghiệm trên cơ sở dữ liệu gia tăng, thử nghiệm trên cơ sở dữ liệu ổn định với những ngưỡng khai phá khác nhau Từ đó rút ra được những so sánh, nhận xét và đánh giá về tính hiệu quả của thuật toán Gia tăng 1 khi dữ liệu gia tăng

Trang 11

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

Nắm được những kiến thức cơ bản về khai phá dữ liệu và những khái niệm liên quan đến khai phá luật kết hợp như: tập mục dữ liệu, cơ sở

dữ liệu giao tác, biểu diễn của cơ sở dữ liệu giao tác, độ hỗ trợ và độ tin cậy của tập mục dữ liệu, tập mục thường xuyên, bài toán khai phá luật kết hợpv.v…Trong phần tiếp theo của chương này, học viên sẽ trình bày hai thuật toán đầu tiên của khai phá luật kết hợp là AIS và Apriori.Thuật toán Apriori là một nội dung cơ sở để phục vụ cho nội dung chính của luận văn

1.1 Tổng quan về khai phá dữ liệu

Khai phá dữ liệu (Data Mining) là một khái niệm ra đời vào những năm cuối của thập kỷ 1980 Chúng ta có thể hiểu một cách sơ lược rằng khai phá dữ liệu là quá trình tìm kiếm những thông tin (tri thức) hữu ích, tiềm ẩn và mang tính dự báo trong các tập

dữ liệu lớn Theo [7]: Khai phá dữ liệu là một quá trình phức tạp để tìm kiếm những

mẫu hoặc những tri thức có giá trịtừ một lượng lớn dữ liệu Các nguồn dữ liệu có thể bao gồm cơ sở dữ liệu, kho dữ liệu, các trang web, các kho thông tin khác, hoặc dữ liệu được nhập vào hệ thống một cách tự động

Khai phá dữ liệu gồm những bước sau [7]:

1 Làm sạch dữ liệu: dữ liệu sau khi thu thập được có thể bị lỗi, nhiễu, không đầy

đủ, có mâu thuẫn.Những dữ liệu dạng này được xem như thông tin dư thừa, gây nên những kết quả sai lệch Do đó, cần phải làm sạch dữ liệu như gán các giá trị còn thiếu, sửa chữa các dữ liệu nhiễu/lỗi

2 Tích hợp dữ liệu: dữ liệu từ nhiều nguồn có thể được tích hợp với nhau

3 Trích lọc dữ liệu: lấy ra những tập dữ liệu từ cơ sở dữ liệu ban đầu theo một số tiêu chí nhất định

4 Chuyển đổi dữ liệu: dữ liệu được chuyển từ bộ giá trị này sang một bộ giá trị thay thế phù hợp cho việc khai phá dữ liệu

5 Khai phá dữ liệu: sử dụng một kỹ thuật phương pháp nào đó để lấy ra được những mẫu dữ liệu (patterns.)

6 Đánh giá các mẫu: đánh giá những mẫu theo tiêu chí nào đó

7 Biểu diễn tri thức: biểu diễn các mẫu trích xuất được dưới dạng dễ hiểu như đồ thị, hình vẽ, bảng,…

Một số kỹ thuật được sử dụng trong khai phá kết hợp (chính là được sử dụng trong bước 5 của khai phá dữ liệu):

Phân loại: phương pháp phân loại cho phép chúng ta phân loại một đối tượng vào một lớp Mỗi lớp được đặc trưng bởi một số thuộc tính nào đó.Ví dụ chúng ta có

Trang 12

thể phân loại thành các lớp xe máy khác nhau theo các thuộc tính như nhãn hiệu, phân khối, màu sắc Khi có một chiếc xe mới chúng ta so sánh thuộc tính của nó với thuộc tính của những lớp đã được định nghĩa để phân xe đó vào một lớp cụ thể Quá trình phân loại dữ liệu thường gồm hai bước: xây dựng mô hình và sử dụng mô hình để phân loại dữ liệu

 Bước 1(bước học): 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

 Bước 2 (bước phân loại): Sử dụng mô hình để phân loại dữ liệu

Phân cụm: Phân cụm dữ liệu là quá trình chia một tập dữ liệu ban đầu vào các tập con (subsets) Mỗi một tập như vậy gọi là một cụm (cluster) Các phần tử trong cùng một cụm thì tương tự nhau (similar), các phần tử trong các cụm khác nhau thì sẽ phi tương tự với nhau (dissimilar) Những phương pháp phân cụm khác nhau có thể sẽ sinh ra các cụm khác nhau trên cùng tập dữ liệu ban đầu Phân cụm được sử dụng rộng rãi trong nhiều ứng dụng như kinh doanh thông minh (business intelligence), nhận dạng ảnh, tìm kiếm web, sinh học và an ninh,…

Hồi quy: Theo Wikipedia, hồi quy là một phương pháp thống kê mà giá trị kỳ vọng của một hay nhiều biến ngẫu nhiên được dự đoán dựa vào điều kiện của các biến ngẫu nhiên (đã tính toán) khác Cụ thể, có hồi qui tuyến tính, hồi qui lôgic, hồi qui Poisson và học có giám sát

Khai phá luật kết hợp: nhằm phát hiện ra những phần tử nào thường hay đi kèm với nhau

1.2 Giới thiệu về khai phá luật kết hợp

Khai phá luật kết hợp (Mining association rules) lần đầu được RakeshAgrawal Agrawal đưa ra vào năm 1993 [5] Khai phá luật kết hợp là một kỹ thuật được sử dụng trong khai phá dữ liệu nhằm tìm ra các phần tử thường xuất hiện cùng nhau trong cơ

sở dữ liệu;từ đấyrút ra được các luật về ảnh hưởng của một tập phần tử dẫn đến sự xuất hiện của tập phần tử khác Ví dụ, sự xuất hiện của A kéo theo sự xuất hiện của B nên ta có luật kết hợp (A→B) Dạng luật như vậy được gọi là luật kết hợp và quá trình tìm ra được các luật kết hợp được gọi là khai phá luật kết hợp Luật kết hợp là dạng luật khá đơn giản nhưng mang lại khá nhiều ý nghĩa Thông tin mà luật kết hợp cung cấp hỗ trợ đáng kể trong quá trình đưa ra quyết định

Các giải thuật khai phá luật kết hợp tìm kiếm các mối liên kết giữa các phần tử

dữ liệu, ví dụ như nhóm các món hàng thường được mua kèm với nhau trong siêu thị Những nghiên cứu về luật kết hợp gần đây tập trung xây dựng các thuật toán khai phá luật kết hợp mới, hiệu quả hoặc cải tiến, phát triển các thuật toán hiệu quả hơn từ các thuật toán đã có

Chúng ta xem xét một bài toán kinh điển về khai phá luật kết hợp được nêu ra trong [7]: bài toán phân tích giỏ hàng Khách hàng vào siêu thị mua hàng Họ sẽ bỏ

Trang 13

vào giỏ hàng của họ những mặt hàng mà họ cần mua.Khai phá luật kết hợp trong bài toán này nhằm tìm ra các luật kết hợp giữa các mặt hàng mà khách hàng đã mua Một

số luật kết hợp rút ra được sau khi phân tích các mặt hàng được mua:

 “98% khách hàngmàmua tạp chí thể thao thì đều mua các tạp chí về ôtô” sự kết hợp giữa “tạp chí thể thao” với “tạp chí về ôtô”

 “60% khách hàng mà mua bia tại siêu thị thì đều mua bỉm trẻ em” sự kết hợp giữa “bia” với “bỉm trẻ em”

Những luật kết hợp như vậy rất có ích trong việc giúp các nhà quản lý nắm bắt được thói quen mua hàng của khách hàng, khi mua một (hoặc một số) mặt hàng này thì khách hàng có xu hướng mua thêm một số mặt hàng nào nữa Từ đấy có những chiến lược quản lý hợp lý Như vậy, khai phá luật kết hợp có thể giải quyết được bài toán hết sức đời thường như: hàng triệu khách hàng vào siêu thị sẽ mua mặt hàng nào? Những mặt hàng nào mà khách hàng kết hợp cùng mua Tất nhiên, khai phá luật kết hợp cũng có nhiều ý nghĩa trong các lĩnh vực khác như tài chính, y học, công nghệ… Khai phá luật kết hợp nhằm tìm ra sự tương quan (correlations) của các sự kiện xuất hiện thường xuyên một cách đồng thời Nhiệm vụ chính của khai phá luật kết hợp

là phát hiện ra các tập con cùng xuất hiện trong một khối lượng giao dịch lớn của một cơsởdữliệu cho trước Nói cách khác, thuật toán khai phá luật kết hợp cho phép tạo ra các luật mô tảcác sựkiện xảy ra đồng thời (một cách thường xuyên) nhưthếnào Bài toán khai phá luật kết hợp được chia thành hai bài toán nhỏ:

 Bài toán 1: Tìm các tập mục dữ liệu thường xuyên theo một ngưỡng S0 cho trước

 Bài toán 2: Từ các tập mục dữ liệu thường xuyên tìm được ở bài toán 1, tìm các luật kết hợp thỏa mãn độ tin cậy cho trước

Bài toán thứ hai là bài toán đơn giản Hầu hết các nghiên cứu về luật kết hợp tập trung vào bài toán thứ nhất Nội dung luận văn này cũng đi sâu vào nghiên cứu một số thuật toán để tìm các tập mục dữ liệu thường xuyên

1.3 Một số khái niệm cơ bản [3, 5, 7]

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

Tập hợp các mục dữ liệuI={x 1 , x 2 , …, x n } là tập n thuộc tính (mục dữ liệu) riêng

biệt Mỗi xi ∈ I gọi là một mục dữ liệu (item) hay là một thuộc tính Ví dụ: I= {bánh

mì, sữa, bỉm,…) Một giao tác chứa một tập con {x , x , … , x } ⊆ I Đặt ti = {x , x , … , x } , ti được gọi là định danh của giao tác{x , x , … , x }

Một cơ sở dữ liệu giao tác (Transaction Database) trên I là một tập các định danh giao tác T = {t1, t2,…,tm}, với ti là một định danh giao tác trên Ichứa một tập các mục dữliệu X ⊆ I Ví dụ, trong bài toán giỏ hàng, cơ sở dữ liệu giao tác là các lầnmua

Trang 14

hàng của mỗi khách hàng, cho biết trong một lần mua hàng, khách hàng mua những mặt hàng nào

Mỗi tập con X ⊆ I chứa k mục dữ liệu được gọi là tập mục k phần tử (k-itemset) Khi đó ta nói rằng lực lượng của X bằng k (||X|| = k) Trong trường hợp không quan tâm đến số mục dữ liệu của X, ta gọi tắt X là tập mục dữ liệu

Biểu diễn cơ sở dữ liệu giao tác:

Ma trận giao tác: cho một cơ sở dữ liệu giao tác T = {t1, t2,…,tm} trên tập mục

dữ liệu I={x1, x2, …, xn} Ma trận giao tác của T là ma trận m×n được định nghĩa:

= 1 ℎ ∈

0 ℎ ∉Với một cơ sở dữ liệu giao tácTnhư sau thì ta sẽ có ma trận giao tác như trong bảng 1.1:

-Biểu diễn ngang: Một cơ sở dữ liệu là một danh sách các giao tác Mỗi giao tác

chứa danh sách những mục dữ liệu trong giao tác đó Như vậy chúng ta có thể hình dung theo cách này thì các mục dữ liệu được biểu diễn theo chiều ngang

Bảng1.2: Biểu diễn ngang của cơ sở dữ liệu giao tác T

Trang 15

có một danh sách tất cả các định danh của giao tác chứa mục dữ liệu này Như vậy chúng ta có thể hình dung theo cách này thì các mục dữ liệu được biểu diễn theo chiều dọc

Bảng1.3: Biểu diễn dọc của cơ sở dữ liệu giao tác T

Như trong bảng 1.1, ta có sup(x 0 )=5/5=1, sup(x 0 , x 1 )= sup(x 0, x 1 ) = 3/5=0.6

Từ khái niệm trên của độ hỗ trợ, chúng ta cũng có thể tính rằng: độ hỗ trợ sup(X)

của tập mục dữ liệu X là số các giao tác mà xuất hiện X Theo cách này: sup(x 0 )=5, sup(x 0 , x 1 )= 3

Về bản chất, hai cách tính này là tương đương nhauvì đều cung cấp thông tin về mục dữ liệu xuất hiện trong cơ sở dữ liệu là nhiều hay ít, từ đó biết được rằng nó có phải là tập mục dữ liệu thường xuyên hay không

Tính chất 2: Mọi tập mục dữ liệu chứa một tập con không thường xuyên thì là

một tập không thường xuyên:

Trang 16

Với cơ sở dữ liệu giao tác ở bảng 2.1 ở ta có:

sup(x 0 → x 1 ) = sup({x 0 ,x 1 }) = sup(x 0 x 1 ) = 3

sup(x 0 x 1 → x 2 ) = sup(x 0 x 1 x 2 ) = 3

sup(x 0 → x 4 ) = sup(x 0 x 4 ) = 2

Luật kết hợp A→ B là thường xuyên theo ngưỡng S0 nếu sup(A→ B) ≥ S0 Ở ví

dụ trên, với S0 = 2, luật sup(x 0 → x 1 ), sup(x 0 x 1 → x 2 ) là luật thường xuyên theo ngưỡng

hỗ trợ S0

Ý nghĩa của độ hỗ trợ: độ hỗ trợ mang ý nghĩa thống kê của luật Nói rằng độ hỗ

trợ của luật A→ B là 20 nghĩa là có 20 giao tác chứa {AB}

Độ tin cậy (Confidence) của luật A→ Blà tỷ lệ giữa số lượng các giao dịch trong

T chứa A ∪ và số giao dịch chứa A:

( → ) = ( ) / ( )

Luật kết hợp → được gọi là luật tin cậy (confidence rule) theo ngưỡng S0 và

C0 nếu → là luật thường xuyên theo ngưỡng S0và ( → ) ≥ ớ 0 < ≤ 1

Ý nghĩa của độ tin cậy: độ tin cậy đo mức độ “đúng đắn” của luật, và người ta

quan tâm đến luật có độ tin cậy cao Một luật kết hợp A→ B là thường xuyên nhưng

độ tin cậy của nó thấp thì nó cũng không có ý nghĩa trong công tác quản lý Ví dụ, khi phân tích giỏ hàng của khách hàng trong một siêu thị ta rút ra được luật như sau: 40% khách hàng mua cùng lúc cả sữa và bánh mì, 75% khách hàng mua sữa thì cũng mua bánh mì Như vậy, 30% là độ hỗ trợ của luật và 75% là độ tin cậy của luật

Bài toán khai phá luật kết hợp có thể được phát biểu như sau: Cho một tập mục

dữ liệu I gồm n mục dữ liệu I={x 1 , x 2 , …, x n }và cơ sở dữ liệu giao tác T gồm m giao

tácT = {t 1 , t 2 ,…,t m }, độ hỗ trợ tối thiểu minsup và độ tin cậy tối thiểu minconf Tìm tập

các luật kết hợp:

R = {X→ Y | X, Y ⊆ I, s(X→ Y) ≥ minsup, conf (X→ Y) ≥ minconf}

Trang 17

Giải quyết bài toán: bài toán khai phá luật kết hợp được chia thành hai bài toán

nhỏ:

 Bài toán 1 (Bài toán khai phátập mục thường xuyên): tìm tất cả những tập mục

dữ liệu mà có độ hỗ trợ lớn hơn hoặc bằng minsup

 Bài toán 2 (Bài toán khai phá luật kết hợp): từ những tập mục thường xuyên tìm được ở bài toán 1, tìm tất cả các luật kết hợp có độ tin cậy lớn hơn hoặc bằng

mincof

Ví dụ minh họa cho bài toán khai phá luật kết hợp: chúng ta sử dụng bài toán giỏ hàng trong siêu thị: siêu thị có 4 mặt hàng (4 mục dữ liệu) và có 4 giao tác (4 hóa đơn mua hàng) như sau:

Giao tác Mặt hàng được mua

bánh mì, bơ, trứng

bơ, trứng, sữa

bơ bánh mì, bơ

Tìm luật kết hợp với minsup = 40% và minconf = 60%

Ta tính được độ hỗ trợ của các tập mục dữ liệu như sau:

Trang 18

Luật kết hợp Độ tin cậy

Nếu X → Y và X → Z thì không thể suy ra X → YZ

Nếu X → Y và Z → Y thì không thể suy ra XZ → Y

Tính chất 2: Không tách luật

Nếu XY → Z thì không thể suy ra X → Z và Y → Z

Tuy nhiên đảo lại X → YZ thì X → Y và X → Z

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

Nếu X → Y và Y → Z thì không thể suy ra X → Z

Tính chất 4: Nếu luật X → (L – X) không thỏa mãn độ tin cậy tối thiểu thì Y →

(L – Y) cũng không thỏa mãn độ tin cậy tối thiểu với Y ⊆ X và X, Y ⊂ L

1.4 Một số thuật toán khai phá luật kết hợp

1.4.1 Thuật toán AIS

Thuật toán AIS [5] là thuật toán đầu tiên được đề xuất cho khai phá luật kết hợp Nội dung cơ bản của thuật toán AIS:

 Duyệt cơ sở dữ liệu lần thứ nhất để tính độ hỗ trợ của từng mục dữ liệu, lấy ra tập L1 gồm những mục dữ liệu có độ hỗ trợ ≥ngưỡng hỗ trợ tối thiểu S0 cho trước

 Từ L1 (là tập 1 mục dữ liệu thường xuyên), tìm C2 là tập ứng viên có 2 mục dữ liệu bằng cách: duyệt từng giao tác, ghép từng cặp mục dữ liệu có trong giao tác thành tập ứng viên Ứng với mỗi tập ứng viên, duyệt lại cơ sở dữ liệu để đếm số giao tác có chứa tập mục này để tính độ hỗ trợ và thu được tập các tập thường xuyên có 2 mục dữ liệu

Trang 19

 Lặp lại, tìm được tập mục ứng viên có k phần tử từ những tập mục dữ liệu k phần tử lấy từ các phần tử trong giao tác Tiếp tục cho đến khi tập những tập mục dữ liệu thường xuyên có k+1 phần tử là rỗng

Ví dụ: chạy thuật toán AIS với độ hỗ trợ tối thiểu S0 = 3 và cơ sở dữ liệu như sau:

Trang 20

Bước 3:

Bước 4:

Hình 1-1: Ví dụ minh họa thuật toán AIS

Thuật toán AIS phải tính nhiều mục dữ liệu ứng viên, ngoài ra phải duyệt nhiều lần toàn bộ cơ sở dữ liệu để tính độ hỗ trợ của các tập ứng viên

1.4.2 Thuật toán Apriori

Apriori là một thuật toán được đề xuất bởi R Agrawal và R Srikant vào năm

1994 [6] nhằm khai khá những tập mục dữ liệu thường xuyên Sở dĩ thuật thuật toán

có tên như vậy là do thuật toán sử dụng những hiểu biết của tập mục thường xuyên (prior knowledge) Apriori sử dụng cách tiếp cận lặp đi lặp lại được biết như là một phương pháp tìm kiếm khôn ngoan: sinh ra các tập ứng viên Ck (gồm những phần tử cók mục dữ liệu) từ các tập thườngxuyên Lk-1 (gồm những phần tử thường xuyên có k-

1 mục dữ liệu).Thuật toán Apriori sử dụng tính chất sau đây của tập thường xuyên: Mọi tập con của một tập mục thường xuyên là tập thường xuyên

Thuật toán Apriori:

Input: cơ sở dữ liệu giao tác T, min_sup

Output: Answer là tập các tập mục thường xuyên theo ngưỡng min_sup

Trang 21

L 1 = {tập mục thường xuyên chứa 1 mục dữ liệu};

for ( k = 2; L k-1 Ø; k++ ) do begin

C k = apriori-gen(L k-1 ); // sinh ra tập ứng viên C k

forall transactions tTdo begin

C t = subset(C k , t); // những tập ứng viên nằm trong t forall candidates cC t do

If p.item 1 = q.item 1 , …, p.item k – 2 = q.item k – 2 and p.item k – 1 q.item k – 1

Ck = Ck ∪ {p.item 1 , p.item 2 , …, p.item k – 1 , q.item k – 1 };

Trang 23

CHƯƠNG 2: KHAI PHÁ LUẬT KẾT HỢP TRÊN CƠ SỞ DỮ LIỆU GIA

TĂNG

Nội dung chính của chương này sẽ trình bày chi tiết về hai thuật toán được sử dụng cho khai phá luật kết hợp trên cơ sở dữ liệu gia tăng Mỗi thuật toán đại diện cho một cách tiếp cận của bài toán: thuật toán Gia tăng 1 đại diện cho cách tiếp cận duyệt cơ sở dữ liệu theo chiều rộng, thuật toán Gia tăng 2 đại diện cho cách tiếp cận duyệt cơ sở dữ liệu theo chiều sâu Nhưng cả hai phương pháp này đều có chung đặc điểm là khi dữ liệu gia tăng thì chỉ tính toán trên dữ liệu gia tăng mà không cần phải tính toán lại từ đầu Trong phần cuối của chương, học viên đề xuất ý tưởng cải tiến cấu trúc cây gia tăng của thuật toán Gia tăng 2

Khai phá luật kết hợp là một lĩnh vực được nhiều người quan tâm và có nhiều kết quả công bố Tuy nhiên những thuật toán khai phá luật kết hợp này có một đặc điểm là chỉ khai phá trên cơ sở dữ liệu tĩnh, nghĩa là số lượng các giao tác trong cơ sở dữ liệu

là ổn định, không có sự biến động Trên thực tế, số lượng các giao tác tăng lên hằng giờ, hằng ngày Một cơ sở dữ liệu mà các giao tác (hoặc các mục dữ liệu) tăng lên theo thời gian như vậy được gọi là cơ sở dữ liệu gia tăng hoặc cơ sở dữ liệu tăng trưởng (incremental database).Do đó, các tập mục thường xuyên và các luật kết hợp đã được tính toán không còn giá trị trên tập dữ liệu mới Khi đó phải tiến hành lại công việc từ đầu trên cơ sở dữ liệu sau khi gia tăng Chương này tập trung đi sâu vào vào hai thuật toán khai phá luật kết hợp trên cơ sở dữ liệu gia tăng:

 Thuật toán xử lý dữ liệu gia tăng theo chiều dọc [2,3]

 Thuật toán xử lý dữ liệu gia tăng theo chiều ngang[1,3]

2.2 Thuật toán xử lý dữ liệu gia tăng theo chiều dọc - Thuật toán

Gia tăng 1 2.2.1 Ý tưởng thuật toán

Thuật toán khai phá cơ sở dữ liệu gia tăng theo chiều dọc còn được gọi là Thuật toán Gia tăng 1 Cơ sở dữ liệu theo chiều dọc là biểu diễn của cơ sở dữ liệu giao tác trong đó các giao tác được biểu diễn theo từng giao tác (xem mục 1.1.3) Theo thời gian, các giao tác mới sẽ được thêm vào cơ sở dữ liệu giao tác (chú ý rằng các mục dữ liệu là vẫn giữ nguyên, không tăng thêm) Khi đó thuật toán sẽ tìm được tất cả các tập

Trang 24

mục dữ liệu thường xuyên trên cơ sở dữ liệu sau khi gia tăng(là cơ sở dữ liệu cũ cộng với cơ sở dữ liệu mới thêm vào)

Ý tưởng của Thuật toán Gia tăng 1 cũng tương tự như ý tưởng của thuật toán Apriori (xem mục 1.4.2): xây dựng tập ứng viên Ck (gồm những phần tử có k mục dữ liệu) từ các tập thườngxuyên Lk-1 (gồm những phần tử thường xuyên có k-1 mục dữ liệu) Tuy nhiên thuật toán có một số cải tiến giúp nó chạy nhanh hơn:

 Từ cơ sở dữ liệu giao tác T = {t 1 , t 2 , …, t m } trên tập mục dữ liệu I = {x 1 , x 2 , …,

x n} ban đầu, thuật toán chuyển thành cơ sở dữ liệu biểu diễn theo chiều dọc dọc P = {P1, P2, …, Pn} trong đó Pi là tập các định danh của các giao tác chứa x i Để tính độ

hỗ trợ của của tập mục dữ liệu X = { , … , }, thuật toán sẽ tính || ∩ … ∩ ||

 Với một cơ sở dữ liệu giao tác T ban đầu ban đầu, thuật toán tính độ hỗ trợ của của tất cả các tập mục dữ liệu trong I rồi lưu trữ trong tập = , ( ) ⊆} Theo thời gian, số lượng các giao tác tăng đần, thuật toán chỉ việctính độ hỗ trợ của tập mục dữ liệu trên dữ liệu tăng thêm, mà không cần phải duyệt lại toàn bộ cơ

sở dữ liệu

 Trên một cơ sở dữ liệu giao tác ổn định, thuật toán Gia tăng 1 cũng cho phép tìm được tập mục dữ liệu thường xuyên theo các ngưỡng hỗ trợ tối thiểu bất kỳ một cách nhanh chóng nhờ vào cấu trúc SC Khi lần đầu tìm các tập thường xuyên theo ngưỡng S0, thuật toán tính độ hỗ trợ của tất cả các tập mục dữ liệu và lưu lại:

SC = {(X, Sup) | X là tập mục dữ liệu và Sup = Support(X)}

Tập mục dữ liệu thường xuyên có theo ngưỡng hỗ trợ S0 là :

Thuật toán sẽ gồm những công việc chính sau đây:

1 Chuyển đổi cơ sở dữ liệu giao tác sang chiều dọc

2 Phân hoạch dữ liệu: các tập mục dữ liệu được đưa vào các nhóm khác nhau theo đúng tiêu chí Để thực hiện việc phân hoạch dữ liệu, thuật toán sử dụng một số thủ tục phụ trợ

3 Tìm các tập mục ứng viên Tính độ hỗ trợ của các tập mục ứng viên

Trang 25

4 Từ các tập mục ứng viên, lấy ra được những tập mục có độ hỗ trợ lớn hơn hoặc bằng ngưỡng hỗ trợ cho trước

2.2.2 Chuyển đổi cơ sở dữ liệu sang chiều dọc

Cơ sở dữ liệu giao tác ban đầu gồm có m giao dịch T = {t 1 , t 2 , …, t m } trên tập

mục dữ liệu I = {x 1 , x 2 , …, x n } Gọi t id là số thứ tự của t trong T mà ta gọi là định danh

của giao tác t Khi đó, P T = {t id | t ∈ T} = {1,2, …,m}

Thủ tụcVerticalxây dựng n tập hợp {P 1 , P 2 , …,P n } với P ilà tập hợp tất cả các định

danh của các giao tác chứa x i trong T: P i = {t id ∈ P T | x i ∈ t} Như vậy Sup(x i ) = ||P i||

Thủ tục Verticalchuyển đổi cơ sở dữ liệu ban đầu sang thành tập các giao dịch

Trang 26

Sau khi chuyển đổi sang chiều dọc, ta được P ={P 0 , P 1 , P 2 , P 3 , P 4 }như sau:

Để hỗ trợ tìm tập mục ứng viên nhanh hơn, thuật toán Gia tăng 1 sử dụng một số

thủ tục phụ trợ: Group_List, Sort_List, Split_Class

Trang 27

2.2.3.2 Thủ tục Sort_List

Trong quá trình xử lý, các mục dữ liệu trong một tập mục dữ liệu cần được sắp xếp theo một thứ tự nhất định để phân hoạch dữ liệu vào các nhóm khác nhau Trong thuật toán Gia tăng 1, các mục dữ liệu được sắp xếp theo độ hỗ trợ của nó trong cơ sở

dữ liệu

Định nghĩa 1: Một quan hệ thứ tự trên tập mục dữ liệu I = {x 1 , x 2 , …, x n} được định nghĩa như sau:

∀ , ϵ I: ≺ ⟺Sup(x i ) ≤ Sup(x j )

Trong suốt mục này, khi nói đến một tập mục dữ liệu X thì các thành phần của

nó được sắp xếp theo thứ tự trên:

2.2.3.3 Phân hoạch dữ liệu

Gọi Ck+1 là tập mục dữ liệu ứng viên mà phần tử của nó chứa k+1 mục dữ liệu

Ta cần phải tính độ hỗ trợ của các phần tử của Ck+1 để xác định xem phần tử đó có phải là tập thường xuyên không Ck+1 được thành lập từ Lk như sau:

Ck+1 = {X ⊆ I | ||X|| = k+1 và ∀Y ⊂ X, ||Y|| = k và Y ∈ Lk}

Trang 28

Để xác định được các phần tử của Ck+1, đầu tiên ta phải phân các phần tử của Lkthành các lớp, mỗi lớp gồm có các phần tử có k-1 mục dữ liệu đầu tiên giống nhau, chỉ khác nhau mục thứ k Quá trình này chính là phân hoạch dữ liệu Thủ tục Split_Class thực hiện công việc đó

Định nghĩa 3: Hai phần tử X và Y trong Gk là tương đương nhau nếu chúng có k-1 thành phần đầu tiên là giống nhau, thành phần thứ k khác nhau

Đặt PX là lớp tương đương chứa X: PX = {Y∈Gk| X và Y tương đương nhau} Như vậy lớp tương đương là lớp chứa các phần tử mà các phần tử này tương đương nhau Những phần tử trong một lớp tương đương có k-1 mục dữ liệu đầu tiên giống nhau Phần giống nhau của hai phần tử tương đương được gọi là tiền tố, ký hiệu

thành phần nào đứng sau.Ví dụ X = {x 1 , x 2 } và X = {x 2 , x 1 } về ý nghĩa tập hợp là như

nhau nhưng xét ý nghĩa thứ tự là khác nhau Ta cần phải biết chính xác tiền tố của X là

gì thì từ đó mới xây dựng được lớp tương đương.Thủ tục Sort_List bên trên giúp ta

giải quyết được vấn đề này.Do Gk đã được sắp xếp theo thứ tự ≼ nên việc phân hoạch

Gk thành các lớp tương đương là nhanh chóng.Thủ tục Split_Class tìm ra các tiền tố và hậu tố của từng lớp tương đương trong Lk

Thủ tục Split_Class(G k , L):

Input:G k = {X | ||X||=k};//G k đã được sắp xếp theo thứ tự ≼

Output:L = {L Z |Z là tiền tố của P X và X ∈G k }

Trang 29

Ví dụ: Với G 1 = {x 5 , x 2 , x 4 , x 1 , x 3 } thì ta sẽ có L Z = { x 5 , x 2 , x 4 , x 1 , x 3 } và L = L Z = {

x 5 , x 2 , x 4 , x 1 , x 3 }

2.2.4 Tìm tập mục ứng viên

Ứng dụng tính chất cơ bản của tập thường xuyên: mọi tập mục dữ liệu chứa một

tập con không thường xuyên là một tập không thường xuyên, thủ tục Candidate xây

dựng tập ứng viên Ck+1 từ Lk Biết rằng:

 Lk là tập mục thường xuyên mà phần tử của nó chứa k thành phần:

L k = { X ⊆ I | ||X|| = k và Supp(X) ≥ S 0 }

 Ck+1 là tập mục dữ liệu ứng viên mà phần tử của nó chứa k+1 thành phần

Ck+1 được thành lập từ Lk như sau:

C k+1 = {X ⊆ I | ||X|| = k+1 và ∀Y ⊂ X, ||Y|| = k và Y ∈ L k }

Thủ tục Candidate là thủ tục quan trọng trong giải thuật Gia tăng 1 để tìm ra tập

mục ứng viên (là những tập mục dữ liệu có khả năng trở thành tập mục thường xuyên) Thủ tục này trải qua ba bước:

 Bước 1: Phân chia Lk thành các lớp tương đương Pi

 Bước 2: Xây dựng tập W (mỗi phần tử của W gồm k+1 mục dữ liệu) bằng cách kết nối tiền tố Zi của Pi với mỗi cặp (x,y) ∈ LZi

 Bước 3: Xây dựng tập ứng viên Ck+1 từ W Những phần tử X nào trong W thỏa mãn điều kiện “mọi tập con của X thuộc Lk” thì phần tử X sẽ được cho thêm vào Ck+1

Trang 30

2.2.5 Tính độ hỗ trợ của tập mục ứng viên

Rõ ràng xem tập mục dữ liệu X ⊆ I có là tập thường xuyên thì ta phải tính được

độ hỗ trợ của X Thuật toán Gia tăng 1 sử dụng phương pháp tính giao của các tập định danh các giao tác chứa X để tính độ hỗ trợ của X

Với việc phân lớp T thành n tập hợp {P 1 , P 2 , …,P n } do thủ tục Vertical thực hiện,

Pn tốn một thời gian khá lớn Khi cài đặt ta phải dùng thuật toán tối ưu để ít tốn thời

gian tính toán Thủ tục Support giúp ta giảm thiểu dược thời gian tính toán Thủ tục

này sử dụng cấu trúc SC = {(X, Sup) | Sup =Sup(X)} để lưu lại độ hỗ trợ của các tập mục dữ liệu ứng viên đã tính Sau đó, khi cần tính độ hỗ trợ của X ⊆ I, trước hết ta tìm xem (X, *) đã có trong SC hay không Nếu đã có (X, Sup) trong SC thì ta có ngay Sup(X) = Sup mà không cần phải tính lại

Trang 31

2.2.6 Khai phá tập thường xuyên

Thủ tục Find_All_Frequentlà thủ tục chính của thuật toán Gia tăng 1 cho phép

tìm tất cả các tập thường xuyên theo một ngưỡng Si bất kỳ của cơ sở dữ liệu giao tác đầu T

Khi lần đầu tìm các tập thường xuyên theo ngưỡng S0, thuật toán tính độ hỗ trợ của tất cả các tập mục dữ liệu và lưu lại:

SC = {(X, Sup) | X là tập mục dữ liệu và Sup = Support(X)}

Tập mục dữ liệu thường xuyên có độ hỗ trợ S0 là :

= {X | (X, Sup) ∈ SC và Sup ≥ S 0 }

Sau đó nếu cần tìm các tập thường xuyên theo ngưỡng Si, có hai khả năng xảy ra:

- Nếu Si≥ S0 thì chỉ cần lọc trong SC những (X, Sup) thỏa ≥ :

⊆ ⇒ = { |( , ) ∈ , ≥ }

- Nếu ≤ :

⊆ ⇒ = { |( , ) ∈ , ≥ } ∪ { ⊆ |( , ) ∉ , ( )

≥ }

Do đó, ta chỉ tính độ hỗ trợ của các tập ứng viên không có trong SC

Thủ tục Find_All_Frequent như sau:

Procedure Find_All_Frequent (P, SC, FSup, S 0 , )

Input:

- P = {P 1 , P 2 , …,P n } là biểu diễn dọc của T;

- SC = { (X, Sup) | ∃ ∈ , ⊆ , Sup = Supp(X)};

- FSup = {S i | S i là ngưỡng tối thiểu đã khai phá};

- Ngưỡng tối thiểu S 0 ;

Output: -

Trang 32

- = { X| X ⊆I và Supp(X) ≥ S 0 };

- SC = { (X, Sup) | ∃ ∈ , ⊆ , Sup = Supp(X)};

- FSup = {S i | S i là ngưỡng tối thiểu đã khai phá}; Methode:

If ( ∃ ∈ FSup) and (S i ≤ S 0 ) then

Trang 33

Endproc;

2.2.7 Xử lý dữ liệu gia tăng

Cơ sở dữ liệu tăng thêm một tập các giao tác mới T’ với T’ = {t’ 1 , t’ 2 , …, t’ m }

trên tập mục dữ liệu I không đổi Chuyển đổi T’ thành biểu diễn dọc: P’ = {P’ 1 , P’ 2 ,

…, P’ n } với P’ i = {t’ id ∈ P T’ | x i ∈ t’} bằng cách gọi thủ tục Vertical(T’, P’) Ta có:

 Tập các giao tác của cơ sở dữ liệu lúc này sẽ là T = T ∪ T’

 Biểu diễn dọc mới Pi = Pi∪ P’i

Để tìm tập mục dữ liệu thường xuyên trên cơ sở dữ liệu sau khi gia tăng:

1) Thực hiện thủ tục Increment (T, T’, P, P’, SC) để tính độhỗ trợ của tập

mục ứng viên trong SC của cơ sở dữ liệu sau khi gia tăng T = T ∪ T’

2) Thực hiện thủ tục Find_All_Frequent (P, SC, FSup, S 0 , )

2.2.7.1 Tính độ hỗ trợ của tập mục trên T’

Khi dữ liệu tăng thêm với cơ sở dữ liệu giao tác mớiT’ = {t’ 1 , t’ 2 , …, t’ m’ }, tính độ

hỗ trợ tập mục dữ liệu trong cơ sở dữ liệu gia tăng T’

2.2.7.2 Tính lại độ hỗ trợ của tất cả tập mục trong SC

Khi khai phá tập mục dữ liệu thường xuyên, thủ tục Find_All_Frequent chỉ dựa

vào tập SC đã tính và các Pi,do đó khi dữ liệu gia tăng thêm tập T’, ta phải tính lại độ

hỗ trợ của X trong mỗi (X, Sup) ∈ SC chính là tính được độ hỗ trợ của X trong T ∪ T’

Ngày đăng: 04/11/2015, 18:08

HÌNH ẢNH LIÊN QUAN

Hình 1-2: Ví dụ về thuật toán Apriori - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 1 2: Ví dụ về thuật toán Apriori (Trang 22)
Hình 2-1: Cấu trúc cây gia tăng - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 2 1: Cấu trúc cây gia tăng (Trang 38)
Hình 2-2: Cây gia tăng với 6 giao tác được thêm vào - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 2 2: Cây gia tăng với 6 giao tác được thêm vào (Trang 48)
Hình 2-3: Cây gia tăng sau khi được khôi phục - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 2 3: Cây gia tăng sau khi được khôi phục (Trang 49)
Hình 2-4: Cây gia tăng ở mục 2.3.4 sau khi sử dụng thuật toán cải tiến có cấu trúc nhỏ gọn - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 2 4: Cây gia tăng ở mục 2.3.4 sau khi sử dụng thuật toán cải tiến có cấu trúc nhỏ gọn (Trang 54)
Hình 3-2: Cơ sở dữ liệu test cho Apriori và Gia tăng 1 - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 3 2: Cơ sở dữ liệu test cho Apriori và Gia tăng 1 (Trang 56)
Hình 3-4: Dữ liệu tăng thêm T’ - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 3 4: Dữ liệu tăng thêm T’ (Trang 57)
Hình 3-5: Kết quả chạy Apriori và Gia tăng 1 trên T+T’ - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 3 5: Kết quả chạy Apriori và Gia tăng 1 trên T+T’ (Trang 58)
Bảng 3.1: Giải thích tiêu đề - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Bảng 3.1 Giải thích tiêu đề (Trang 59)
Bảng 3.3: Kết quả thu được trên bộ cơ sở dữ liệu thứ nhất - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Bảng 3.3 Kết quả thu được trên bộ cơ sở dữ liệu thứ nhất (Trang 59)
Hình 3-6: Thời gian chạy của Apriori và Gia tăng 1 trên CSDL 1, 2, 3,4 ban đầu - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 3 6: Thời gian chạy của Apriori và Gia tăng 1 trên CSDL 1, 2, 3,4 ban đầu (Trang 60)
Hình 3-7: Thời gian chạy của Apriori và Gia tăng 1 trên CSDL 1, 2,3, 4 sau khi gia tăng - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 3 7: Thời gian chạy của Apriori và Gia tăng 1 trên CSDL 1, 2,3, 4 sau khi gia tăng (Trang 60)
Hình 3-10: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 1 - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 3 10: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 1 (Trang 63)
Bảng  3.7: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 2 - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
ng 3.7: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 2 (Trang 63)
Hình 3-12: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 3 - Một số phương pháp khai phá luật kết hợp trên cơ sở dữ liệu gia tăng
Hình 3 12: Kết quả chạy của Apriori và Gia tăng 1 trong trường hợp 3 (Trang 64)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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