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

Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng

76 472 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 76
Dung lượng 1,78 MB

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

Nội dung

DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮTCk Tập các k-itemset ứng viên k C Tập các k-itemset ứng viên mà TID của giao dịch sinh raliên kết với tập mục ứng viên D Cơ sở dữ liệu giao dịch

Trang 1

MỤC LỤC

Trang

Trang phụ bìa

Lời cam đoan

Mục lục………i

Danh sách các ký hiệu, các từ viết tắt……… iv

Danh mục các bảng………v

Danh mục các hình………vi

MỞ ĐẦU……… 1

CHƯƠNG I: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU……… 3

1.1 Khai phá dữ liệu………3

1.1.1 Khái niệm về khám phá tri thức và khai phá dữ liệu………3

1.1.2 Kiến trúc của một hệ thống khai phá dữ liệu ……… 5

1.1.3 Các loại dữ liệu được khai phá……….6

1.1.4 Chức năng khai phá dữ liệu……… 6

1.2 Một số phương pháp khai phá dữ liệu thông dụng………7

1.2.1 Phương pháp luật kết hợp……… 7

1.2.2 Phương pháp cây quyết định……… 7

1.2.3 Phương pháp k-Mean……… 8

1.3 Một số ứng dụng của khai phá dữ liệu………9

1.3.1 Phân tích dữ liệu gen và sinh học y học……… 9

1.3.2 Phân tích dữ liệu tài chính……… 9

1.3.3 Dịch vụ bán lẻ……… 10

1.3.4 Công nghiệp viễn thông……….10

1.4 Các khuynh hướng và thách thức trong khai phá dữ liệu……… 11

CHƯƠNG 2: KHAI PHÁ LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU LỚN…… 13

2.1 Khai phá luật kết hợp……… 13

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

2.1.2 Cách khai phá luật kết hợp……….14

2.1.3 Các tính chất của frequent itemset……….14

2.1.4 Các tiêu chuẩn để phân loại luật kết hợp………15

Trang 2

2.1.4.1 Kiểu của giá trị được quản lý trong luật……… 15

2.1.4.2 Chiều của dữ liệu được đề cập trong luật……… 15

2.1.4.3 Mức trừu tượng được đề cập trong luật……… 15

2.2 Khai phá luật kết hợp boolean một chiều từ CSDL giao dịch……… 16

2.2.1 Thuật toán Apriori: Tìm các frequent itemset sử dụng việc sinh ra các ứng viên……….16

2.2.2 Sinh luật kết hợp từ các frequent temset [5, 8, 15]……… 19

2.2.3 Cải tiến hiệu quả thuật toán Apriori……… 19

2.2.3.1 Phương pháp dựa trên bảng băm……… 20

2.2.3.2 Giảm số giao dịch……….20

2.2.3.3 Phân đoạn……… 21

2.2.3.4 Lấy mẫu……… 21

2.2.4 Khai phá các frequent itemset bằng cách không sinh ứng cử viên…… 21

2.3 Khai phá luật kết hợp đa thức từ CSDL giao dịch……… 24

2.3.1 Luật kết hợp đa thức……… 24

2.3.2 Các phương pháp khai phá luật kết hợp đa mức……… 26

2.3.2.1 Đồng nhất độ hỗ trợ tối thiểu cho tất cả các mức……… 26

2.3.2.2 Giảm dần độ hỗ trợ tối thiểu ở mức thấp hơn……….27

2.3.2.3 Độc lập theo từng mức……….27

2.3.2.4 Lọc chéo mức bởi một itemset……… 27

2.4 Khai phá luật kết hợp đa chiều từ CSDL quan hệ và kho dữ liệu……… 28

2.4.1 Luật kết hợp đa chiều……….28

2.4.2 Khai phá luật kết hợp đa chiều sử dụng việc rời rạc hoá tĩnh các thuộc tính số lượng……….29

2.4.3 Khai phá luật kết hợp số lượng……… 30

2.4.4 Khai phá luật kết hợp dựa vào khoảng cách……… 31

CHƯƠNG 3: MỘT SỐ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP……… 34

3.1 Khám phá các frequent itemset……….34

3.1.1 Thuật toán AIS……… 34

3.1.2 Thuật toán SETM……… 35

3.1.3 Thuật toán Apriori……… 39

Trang 3

3.1.3.1 Hàm Apriori_gen……….40

3.1.3.2 Hàm subset……… 40

3.1.4 Thuật toán AprioriTID……….41

3.1.5 Thuật toán AprioriHybrid……… 43

3.2 Khám phá luật kết hợp……… 44

3.2.1 Thuật toán sinh luật đơn giản……….45

3.2.2 Thuật toán nhanh……… 45

3.3 Thuật toán DHP (Direct Hashing with Efficent Pruning)……… 46

3.3.1 Thuật toán DHP……… 46

3.3.2 Giảm kích thước của cơ sở dữ liệu giao dịch……… 51

3.3.3 Giảm số lần quét cơ sở dữ liệu (Scan – Reduction method)……… 53

3.4 Thuật toán PHP (Perfect Hash and Pruning)……… 53

3.5 So sánh các thuật toán khám phá các frequent itemset……… 55

3.5.1 Sinh dữ liệu tổng hợp……… 55

3.5.2 So sánh các thuật toán AIS, SETM, Apriori và AprioriTID……… 56

CHƯƠNG 4: CÀI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM……… 63

“ MÔ PHỎNG THUẬT TOÁN APRIORI” 4.1 Phát biểu bài toán ……… 63

4.2 Phân tích bài toán ……… 63

4.3 Xây dựng dữ liệu……….64

4.4 Cài đặt chương trình thử nghiệm……… 64

4.5 Giao diện chính của chương trình……….65

KẾT LUẬN VÀ ĐỀ NGHỊ……… 67

TÀI LIỆU THAM KHẢO……….68

Trang 4

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

Ck Tập các k-itemset ứng viên

k

C Tập các k-itemset ứng viên mà TID của giao dịch sinh raliên kết với

tập mục ứng viên

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

Di Phần thứ i của cơ sở dữ liệu D

Lk Tập các k-itemset phổ biến

T Giao dịch (transaction)

X ⇒Y Luật kết hợp (với X là tiền đề, Y là hệ quả)

Conf Độ tin cậy (Confidence)

k-itemset Tập mục gồm k mục

Min_conf Ngưỡng tin cậy tối thiểu

Min_sup Ngưỡng hỗ trợ tối thiểu

Sup Độ hỗ trợ (support)

Tid Định danh của giao dịch

Tid-List Danh sách các định danh của giao dịch

ARCS Association Rule Clustering System

SQL Structured Query Language

FP -growth Frequent -Pattern Growth

FP -Tree Frequent pattern tree

min_sup_count minimum support count

DHP Direct Hashing with Efficent Pruning

PHP Perfect Hash and Pruning

Trang 5

DANH MỤC CÁC BẢNG

TrangBảng 2.1: Tóm tắt quá trình khai phá cây FP – Tree 24Bảng 2.2: Dữ liệu giao dịch của cho nhánh AllElectronecs 25

Bảng 3.1: Các tham số của chương trính sinh dữ liệu tổng hợp 56

Bảng 3.3: Thời gian thực hiện theo giây (s) của thuật toán SETM 57Bảng 3.4: So sánh thời gain thực hiện của Apriori và DHP (T15.I4.D100) 61

Trang 6

DANH MỤC HÌNH VẼ

Trang

Hình 1.2: Kiến trúc của một hệ khai phá dữ liệu điển hình 5Hình 1.3: Mẫu kết quả với phương pháp cây quyết định 7Hình 1.4: Phân cụm các đối tượng k-Mean ( + là tâm của cụm) 8Hình 2 1: CSDL để thực hiện các bước hình 2.2 17Hình 2.2: Các bước thực hiện của thuật toán Apriori với min _sup = 2/9 = 22% 18Hình 2.3: Hai giai đoạn của kỹ thuật phân đoạn 21

Hình 2.6: Hệ thống phân cấp khái niệm cho các item 25Hình 2.7: min_sup được sử dụng khi khai phá ở các mức trừu tượng khác nhau 26Hình 2.8: Giảm dần độ hỗ trợ tối thiểu ở mức thấp hơn 27

Hình 2.11: Mạng cuboids tạo thành một data cube 3D

Hình 2.12: Lưới hai chiều do các luật kết hợp số lượng hai chiều với điều kiện

buys

2931

Trang 7

Hình 4.2: Lựa chọn CSDL 65

Trang 8

LỜI NÓI ĐẦU

Ngày nay các lĩnh vực khoa học kỹ thuật đang ngày một phát triển mạnh

mẽ Đặc biệt là nghành khoa học máy tính rất phát triển, nó được ứng dụng rấtnhiều trong các lĩnh vực khác nhau của cuộc sống như: Giáo dục, Y tế, Kinh tế,Khoa học, Xây dựng…

Với sự phát triển mạnh mẽ của công nghệ thông tin trong những năm gầnđây, hâu, hầu hết các tổ chức, cơ quan đã thu thập một lượng lớn các dữ liệu trong

cơ quan của họ Các tổ chức này muốn chuyển những dữ liệu sẵn có của chính mìnhthành các tri thức và các thông tin có ích cho chính họ

Để làm được điều đó người ta đã sử dụng quá trình Phát hiện tri thức trong

cơ sở dữ liệu( Knowledge Discovery in Database-KDD) Nhiệm vụ của KDD là từ

dữ liệu sẵn có phải tìm ra những thông tin tiềm ẩn có giá trị mà trước đó chưa đượcphát hiện cũng như tìm ra những xu hướng phát triển và các xu hướng tác động lênchúng Các kỹ thuật cho phép ta lấy được các tri thức từ cơ sở dữ liệu sẵn có đóđược gọi là kỹ thuật Khai phá dữ liệu( Data Mining)

Khai phá dữ liệu có thể xem như kết quả phát triển của công nghệ thôngtin, khai phá dữ liệu là một giai đoạn quan trọng của quá trình phát triển tri thức

Một trong những bài toán phổ biến của khai phá dữ liệu là khai phá luật kếthợp Khai phá luật kết hợp là tìm kiếm sự kết hợp đáng quan tâm hoặc quan hệtương quan giữa một tập lớn các khoản mục (item) Những luật kết hợp khai pháđược có thể giúp các tổ chức và các nhà quản lý đưa ra những quyết định kinhdoanh hiệu quả hơn

Xuất phát từ những vấn đề đó em đã mạnh dạn lựa chọn đề tài luận văn:

“KHAI PHÁ DỮ LIỆU TRÊN CƠ SỞ PHƯƠNG PHÁP LUẬT KẾT HỢP VÀ ỨNG DỤNG” là một việc làm không chỉ có ý nghĩa khoa học và còn mang đậm

tính thực tiễn

Luận văn gồm 4 chương:

Trang 9

Chương 1: Tổng quan về khai phá dữ liệu.

Chương 2: Khai phá dữ liệu trong cơ sở dữ liệu lớn.

Chương 3: Một số thuật toán khai phá luật kết hợp.

Chương 4: Cài đặt chương trình thử nghiêm.

Để có được kết quả này là nhờ sự giúp đỡ của các thầy cô trong Khoa Công nghệ thông tin - Đại học Thái Nguyên cũng như của bạn bè, đồng nghiệp, đặc biệt

là chỉ bảo tận tình của PGS.TS.Vũ Đức Thi và sự nỗ lực của bản thân, đến nay tôi

đã hoàn thành đề tài

Tuy nhiên trong quá trình làm việc, mặc dù đã cố gắng, nỗ lực hết sức nhưngkhông thể tránh khỏi thiếu sót, em tha thiết kính mong nhận được sự chỉ bảo của cácthầy cô để đề tài được hoàn thiện hơn

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

Thái Nguyên, ngày 15 tháng 10 năm 2010

Học viên: Nguyễn Khải Hoài Anh

Trang 10

CHƯƠNG I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

Trong thời đại ngày nay, với sự phát triển vượt bật của công nghệ thông tin,các hệ thống thông tin có thể lưu trữ một khối lượng lớn dữ liệu về hoạt động hàngngày của chúng Từ khối dữ liệu này, các kỹ thuật trong Khai Phá Dữ Liệu (KPDL)

và máy học có thể dùng để trích xuất những thông tin hữu ích mà chúng ta chưabiết Các tri thức vừa học được có thể vận dụng để cải thiện hiệu quả hoạt động của

hệ thống thông tin ban đầu

1.1 Khai phá dữ liệu

1.1.1 Khái niệm về khám phá tri thức và khai phá dữ liệu

KPDL là việc rút trích tri thức một cách tự động và hiệu quả từ một khối dữliệu lớn Tri thức đó thường ở dạng các mẫu có tính chất không tầm thường, khôngtường minh (ẩn), chưa được biết đến và có tiềm năng mang lại lợi ích Có một sốnhà nghiên cứu còn gọi KPDL là phát hiện tri thức trong cơ sở dữ liệu(Knowledge Discovery in Database - KDD) Ở đây chúng ta có thể coi KPDL là cốtlõi của quá trình phát hiện tri thức Quá trình phát hiện tri thức gồm các bước [3, 8, 16]:

- Làm sạch dữ liệu (Data cleaning): Các thủ tục làm sạch dữ liệu được sử

dụng để lấp kín những giá trị còn thiếu, loại bỏ nhiễu, nhận dạng các phần tử ngoàicuộc và hiệu chỉnh những dữ liệu không đồng nhất

- Tích hợp dữ liệu (Data intergation): Nó tổ hợp các dữ liệu từ nhiều nguồn

khác nhau thành một kho dữ liệu không đồng nhất

- Lựa chọn dữ liệu (Data selection): Những dữ liệu thích hợp với nhiệm vụ

phân tích được trích rút từ cơ sở dữ liệu (CSDL)

- Chuyển đồi dữ liệu (Data transformation): Nó chuyển đổi hay hợp nhất

dữ liệu về dạng thích hợp cho việc khai phá Việc chuyển đổi dữ liệu có thể gồmcác bước:

+ Loại bỏ nhiễu khỏi dữ liệu

+ Kết tập các dữ liệu

Trang 11

+ Khái quát hóa dữ liệu: Các dữ liệu mức thấp (hoặc mức nguyên thuỷ)được thay thế bởi các khái niệm mức cao hơn thông qua việc sử dụngphân cấp khái niệm.

+ Xây dựng thuộc tính: Các thuộc tính mới được xây dựng trên các dữliệu cho trước và được thêm vào dữ liệu mới

- Khai phá dữ liệu (Data mining): Là giai đoạn thiết yếu, trong đó các

phương pháp thông minh sẽ được áp dụng để trích xuất ra các mẫu dữ liệu

- Đánh giá mẫu (Pattern evaluation): Đánh giá sự hữu ích của các mẫu biểu

diễn tri thức dựa vào một số phép đo

- Biểu diễn tri thức (Knowledge presentation): Ở giai đoạn này các kỹ thuật

biểu diễn và hiển thị tri thức được sử dụng để đưa tri thức khai phá được đến ngườidùng

Hình 1.1: Quy trình phát hiện tri thức

Việc KPDL có thể được tiến hành trên một lượng lớn dữ liệu có trong cácCSDL, các kho dữ liệu hoặc trong các loại lưu trữ thông tin khác

Các biểu mẫu đáng quan tâm có thể được đưa đến người dùng hoặc được lưutrữ trong một cơ sở tri thức

Trang 12

1.1.2 Kiến trúc của một hệ thống khai phá dữ liệu

Kiến trúc của một hệ thống KPDL điển hình có thể có các thành phầnnhư hình 1.2 [3, 8]

- CSDL, kho dữ liệu hoặc các lưu trữ thông tin khác (Databases, Datawarehouse, ): Đây là một hay một tập các CSDL, các kho dữ liệu, các trang tínhhay các dạng lưu trữ thông tin khác Các kỹ thuật làm sạch dữ liệu và tích hợp dữliệu có thể được thể hiện trên những dữ liệu này

- Máy chủ CSDL hay máy chủ kho dữ liệu ( Database or warehouse server):Máy chủ này có trách nhiệm lấy những dữ liệu thích hợp dựa trên các yêu cầu khaiphá của người dùng

Hình 1.2: Kiến trúc của một hệ khai phá dữ liệu điển hình

- Cơ sở tri thức (Knowledge base): Đây là miền tri thức được dùng để hướng

dẫn việc tìm kiếm hay đánh giá độ quan trọng của các hình mẫu kết quả

Giao diện đồ hạo người dùng

Đánh giá mẫu

Máy khai phá dữ liệu

Máy chủ CSDL hay kho dữ

Trang 13

- Máy KPDL (Data mining engine): Một hệ thống KPDL cần phải có một

tập các modun chức năng để thực hiện công việc như: đặc trưng hoá, kết hợp, phânlớp, phân cụm, phân tích sự tiến hoá

- Modun đánh giá mẫu (Pattern evaluation): Bộ phận này tương tác với các

modun KPDL để duyệt tìm các mẫu đáng được quan tâm Nó có thể dùng cácngưỡng về độ quan tâm để lọc mẫu đã khám phá được Cũng có thể modun đánh giámẫu được tích hợp vào modun khai phá, tuỳ theo sự cài đặt của phương pháp khaiphá được dùng

- Giao diện đồ họa người dùng (Graphical user interface): Bộ phận này

cho phép người dùng giao tiếp với hệ thống KPDL Ngoài ra, bộ phận này còn chophép người dùng xem các lược đồ CSDL, lược đồ kho dữ liệu (hay các cấu trúc dữliệu), các đánh giá mẫu và hiển thị các mẫu trong khuôn dạng khác nhau

1.1.3 Các loại dữ liệu được khai phá

KPDL phải có thể được áp dụng vào một loại lưu trữ thông tin bất kì [8] Cácloại dữ liệu đó có thể là CSDL quan hệ, CSDL giao dịch, kho dữ liệu, các hệ CSDLnâng cao, các tập tin phẳng ( flat file) và Web Các hệ CSDL nâng cao gồm CSDLhướng đối tượng, CSDL quan hệ đối tượng, CSDL hướng ứng dụng cụ thể như:CSDL chuỗi thời gian ( time-series), CSDL văn bản và CSDL đa phương tiện

1.1.4 Chức năng khai phá dữ liệu

KPDL có hai chức năng chính: mô tả (description) và dự đoán (prediction)

[3,8]

Công việc KPDL mô tả sẽ mô tả các tính chất hoặc đặc tính chung của dữ liệu

trong CSDL, nghĩa là phân tích và mô tả một tập mẫu đã biết (a set of known sample) trong khả năng nhận thức của con người nhằm giúp họ hiểu rõ hơn, sâu hơn

Trang 14

1.2 Một số phương pháp khai phá dữ liệu thông dụng

1.2.1 Phương pháp luật kết hợp

Một trong những chủ đề phổ biến của KPDL là khám phá luật kết hợp [18].Mục đích của khám phá luật kết hợp là xác định mối quan hệ, sự kết hợp giữa cácitem trong một CSDL lớn Luật kết hợp là một luật dạng X => Y, với X, Y làtập các item [4, 5, 8] Một luật kết hợp được gọi là mạnh, nếu nó thoả độ hỗ trợ vàthoả độ tin cậy tối thiểu

Có nhiều thuật toán để khai phá luật kết hợp theo từng loại luật Một trongnhững thuật toán thường gặp nhất là thuật toán Apriori Chúng tôi sẽ trình bày chitiết các thuật toán AIS, SETM, Apriori … trong các chương sau

1.2.2 Phương pháp 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[8]

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ácgiá 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 đượcphâ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ủathuộc tính của đối tượng tới lá Hình 1.3 mô tả một mẫu đầu ra có thể của quá trìnhkhai phá dữ liệu dùng phương pháp cây quyết định với tập dữ liệu khách hàng xinvay vốn

Không cho vay

Không cho vay Cho vayThu nhập < T Thu nhập > T

Nợ < n Nợ > n

Hình 1.3: Mẫu kết quả với phương pháp cây quyết định

Trang 15

1.2.3 Phương pháp k-Mean

Phân cụm cũng là một trong những chủ đề được quan tâm nhiều trong nghiêncứu KPDL Có nhiều phương pháp được sử dụng trong phân cụm, phương pháp k-Mean được coi là các kỹ thuật cơ bản của phân cụm [8]

Với phương pháp này sẽ chia tập có n đối tượng thành k cụm sao cho các đốitượng trong cùng một cụm thì giống nhau, các đối tượng khác cụm thì khác nhau

Đầu tiên chọn k đối tượng ngẫu nhiên, mỗi đối tượng đại diện cho tâm củacụm (cluster mean or center) Dựa vào khoảng cách giữa tâm cụm với mỗi đốitượng còn lại, gán mỗi đối tượng vào một cụm mà nó giống nhau nhất Sau đó, tínhtâm mới của mỗi cụm Quá trình được lặp lại cho đến khi hàm tiêu chuẩn hội tụ(criterion function converges) Chẳng hạn sử dụng hàm tiêu chuẩn:

E

1

2, với p là một điểm đại diện một đối tượng cho trước và mi là tâmcủa cụm

Ví dụ: Phân cụm các đối tượng trong không gian thành 3 cụm (k=3) như hình 1.4

(a) (b) (c)

Hình 1.4: Phân cụm các đối tượng k-Mean ( + là tâm của cụm)

Với đối tượng được đánh dấu cộng (+) là tâm cụm

Trang 16

1.3 Một số ứng dụng của khai phá dữ liệu

1.3.1 Phân tích dữ liệu gen và sinh học y học

KPDL đã trở thành một công cụ mạnh và đóng góp thiết thực vào việc phântích gen theo các cách sau [8]:

Nghiên cứu tương tự và so sánh các chuỗi gen: Một trong những nghiên cứuquan trọng trong phân tích gen là nghiên cứu tương tự và so sánh các chuỗi gen.Các chuỗi gen được cô lập từ các mô bệnh và khoẻ có thể được so sánh với nhau đểnhận dạng những khác biệt giữa hai lớp gen

Phân tích kết hợp: Nhận dạng các chuỗi gen cùng xảy ra, phân tích kết hợp

có thể được sử dụng giúp chúng ta xác định các loại gen thường kết hợp với nhau

để gây nên bệnh

Phân tích hướng đi: Liên kết các gen ở các giai đoạn khác nhau của quá trìnhphát triển bệnh, nếu một chuỗi hoạt động của các gen ở những giai đoạn khác nhaucủa bệnh được xác định, thì có thể giúp chúng ta chế tạo ra các dược phẩm can thiệpvào từng giai đoạn của bệnh Do đó, có thể đạt được cách điều trị bệnh hiệu quảhơn

1.3.2 Phân tích dữ liệu tài chính

Dữ liệu tài chính nhận được tương đối hoàn chỉnh, đáng tin cậy và chấtlượng cao làm thuận lợi cho việc phân tích dữ liệu, KPDL một cách hệ thống Cácứng dụng của KPDL vào lĩnh vực tài chính là [8, 14]:

Dự đoán trả tiền vay và phân tích chính sách tín dụng khách hàng: Dự

đoán trả tiền vay và phân tích chính sách tín dụng khách hàng là vấn đề quan trọngđối với việc kinh doanh của ngân hàng Có nhiều yếu tố (chẳng hạn: tỉ lệ trả trên thunhập, mức thu nhập, mức học vấn, vùng dân cư, lịch sử tín dụng,…) có thể ảnhhưởng mạnh hoặc yếu đến việc thực hiện trả tiền vay và sự đánh giá mức độ tínnhiệm khách hàng Các phương pháp KPDL như lựa chọn đặc trưng, xếp hạng cácthuộc tính liên quan có thể giúp xác định các yếu tố quan trọng và loại bỏ những yếu

tố không liên quan Do đó, ngân hàng có thể điều chỉnh chính sách cho vay đối với

Trang 17

những khách hàng mà trước đây ngân hàng đã từ chối nhưng nay tỉ mạo hiểm đối với

họ là thấp dựa vào các phân tích trên

Phát hiện các tội phạm tài chính: Để phát hiện việc chuyển tiền bất chính

vào ngân hàng và các tội phạm tài chính, việc tích hợp thông tin từ các CSDL khácnhau (CSDL giao dịch ngân hàng, CSDL về lịch sử tội phạm) là rất quan trọng Saukhi có dữ liệu tổng hợp, chúng ta có thể dựa trên các công cụ của KPDL để pháthiện ra các mẫu khác thường

1.3.3 Dịch vụ bán lẻ

Dịch vụ bán lẻ là một trong những lĩnh vực ứng dụng của KPDL Một lượng

dữ liệu khổng lồ đã và đang được thu thập ngày càng tăng, đặc biệt với sự gia tăng

về sự tiện lợi, lợi ích và tính phổ biến của việc kinh doanh trên Web, thương mạiđiện tử Dữ liệu bán lẻ cung cấp một kho dữ liệu phong phú cho việc khai phá dữliệu

KPDL bán lẻ có thể giúp chúng ta xác định được hành vi mua hàng củakhách hàng, phát hiện những mẫu mua hàng của người dùng, những khuynhhướng mua hàng [8]

Thiết kế các chiến dịch kinh doanh: Giữ khách hàng - Phân tích lòng trungthành của khách hàng: Lòng trung thành của khách hàng và khuynh hướng muahàng có thể được phân tích một cách hệ thống

1.3.4 Công nghiệp viễn thông

Công nghiệp viễn thông đã phát triển nhanh từ các dịch vụ điện thoại cục bộ

và điện thoại đường dài cho đến các dịch vụ truyền thông khác như voice, fax,image, e-mail, truyền dữ liệu Web, các giao lộ dữ liệu khác Tích hợp viễn thông,mạng máy tính, internet, các phương tiện truyền thông khác đã và đang được thựchiện Điều này tạo ra một yêu cầu lớn về KPDL để giúp hiểu thêm việc kinh doanh,xác định các mẫu viễn thông, chặn đứng các hoạt động lừa dối nhằm tạo điều kiện

sử dụng các tài nguyên tốt hơn và nâng cao được chất lượng dịch vụ [8]

Phân tích nhu cầu: Dữ liệu viễn thông là các dữ liệu đa chiều đích thực, với

các chiều như: giờ gọi, thời gian gọi, vị trí người gọi, vị trí người được gọi,

Trang 18

kiểu cuộc gọi Phân tích đa chiều đối với các dữ liệu kiểu này có thể giúp xác địnhnhu cầu và hành vi của các nhóm người dùng, từng vùng…Từ đó cung cấpcác dịch vụ, thiết bị phù hợp hơn.

Phân tích các mẫu gian lận và xác định các mẫu khác thường: Việc xác

định những người dùng gian lận tiềm năng và những mẫu sử dụng không điển hình

là rất quan trọng Những mẫu này có thể được khám phá bởi phân tích đa chiều,phân tích phân cụm, phân tích phần tử ngoài cuộc

1.4 Các khuynh hướng và thách thức trong khai phá dữ liệu

Việc phát triển các hệ thống, phương pháp khai phá hiệu quả, kiến trúc môitrường KPDL tích hợp và ứng dụng kỹ thuật KPDL vào các bài toán lớn là mộtnhiệm vụ quan trọng đối với các nhà nghiên cứu, các nhà phát triển ứng dụng Dướiđây là những khuynh hướng trong KPDL phản ánh các thách thức này [8]

Mở rộng ứng dụng: Trước đây các ứng dụng KPDL chỉ tập trung vào việc

giúp đỡ các nhà kinh doanh đạt được vấn đề cạnh tranh Khi KPDL trở thành phổbiến hơn, nó được sử dụng ngày càng tăng trong các lĩnh vực khác như: Sinh học yhọc, tài chính, viễn thông

Phương pháp KPDL uyển chuyển: Khác với các phương pháp phân tích dữ

liệu truyền thống, KPDL ngày nay phải có thể xử lý một lượng lớn dữ liệu một cáchhiệu quả, tương tác Vì lượng lớn dữ liệu đang được thu thập tiếp tục tăng nhanhnên việc thiết kế các thuật toán uyển chuyển cho phép KPDL được tích hợp và riêngbiệt là trở nên rất cần thiết Một hướng quan trọng cải tiến hiệu quả của quá trìnhKPDL có sự tương tác của người dùng là khai phá dựa trên các ràng buộc Nó chophép người dùng đưa ra các điều khiển và các ràng buộc bổ sung để hướng địnhhướng hệ thống KPDL trong việc phát hiện những mẫu đáng quan tâm

Tích hợp KPDL với các hệ CSDL, các hệ kho dữ liệu, hệ CSDL Web:

Các hệ CSDL, hệ kho dữ liệu, WWW đã trở thành các hệ xử lý thông tin chủ đạo.Việc tích hợp KPDL với các môi trường xử lý thông tin là một vấn đề cần thiết.Một kiến trúc lý tưởng cho một hệ KPDL là một hệ kết hợp chặt chẽ với các hệ kho

dữ liệu và CSDL Quản lý giao dịch, xử lý truy vấn, xử lý phân tích trực tuyến, khai

Trang 19

phá phân tích trực tuyến nên được tích hợp vào trong một khung hợp nhất Điềunày sẽ đảm bảo tính tiện ích dữ liệu, linh động, uyển chuyển và thực thi cao củaKPDL

Khai phá Web: Ngày nay, với một lượng khổng lồ thông tin trên Web vai

trò quan trọng của Web đối với xã hội, việc khai phá nội dung Web sẽ trở thành bàitoán quan trọng và đáng quan tâm trong vấn đề khai phá dữ liệu

An toàn và bảo mật thông tin trong KPDL: Với sự tăng nhanh của việc sử

dụng các công cụ KPDL, mạng máy tính, mạng viễn thông, một vấn đề quan trọngđang đối mặt với KPDL là an toàn và bảo mật thông tin Cho nên các phương phápđược phát triển sau này phải đảm bảo được vấn đề này, mà vẫn tạo điều kiện thuậnlợi cho việc truy cập và khai phá thông tin hoàn hảo

Trang 20

CHƯƠNG 2 KHAI PHÁ LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU LỚN

Hiện tại, đã có một số ứng dụng kết quả của việc khai thác luật kết hợp trong

cơ sở dữ liệu Tuy nhiên, chưa có nhiều nghiên cứu nói lên tính ứng dụng của nó,các nghiên cứu chỉ mang tính đơn thể, tự phát và chưa có một giải pháp tổng quátnào vì phạm vi sử dụng kết quả của việc khai thác là rất đa dạng và phong phú.Trong chương này, chúng tôi sẽ trình bày các khái niệm về khai phá dữ liệu,cách khai phá luận kết hợp Boolean một chiều từ CSDL giao dịch, khai phá luận kếthợp đa mức và đa chiều

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

2.1.1 Một số khái niệm cơ bản [4, 5, 8, 15, 17]

Cho I = {i1, i2, …in} là một tập các khoản mục (item)

CSDL giao dịch (transaction database) được gọi là D Trong đó mỗi bản ghi T

là một giao dịch và chứa các item sao cho T ⊆ I và mỗi giao dịch T được gán nhãnvới một định danh duy nhất TID

Một luật kết hợp là một phép kéo theo dạng A => B Trong đó: A⊂I, B⊂

)(

A port

B A Support

(2)Các luật kết hợp thoả mãn ngưỡng hỗ trợ tối thiểu (min_sup) và ngưỡng tincậy tối thiểu (min_conf) được gọi là luật mạnh Quy ước, giá trị độ hỗ trợ và độ tincậy được thể hiện ở dạng % (từ 0% đến 100%) thay vì dưới dạng thập phân (0đến 1.0)

Itemset là tập hợp các item, k - itemset là một itemset có k item

Trang 21

Tần số xuất hiện của một itemset là số giao dịch chứa itemset đó, thường đượcviết: frequency, support count hoặc count of itemset.

Một itemset thoả độ hỗ trợ tối thiểu (minimum support) nếu tần số xuất hiệncủa nó lớn hơn hoặc bằng min _sup x D  Số giao dịch cần thiết để một itemsetthoả độ hỗ trợ tối thiểu gọi minimum support count (min_sup_count) Một itemsetthoả độ hỗ trợ tối thiểu gọi là frequent itemset (hoặc large itemset) ngược lại gọi làinfrequent itemset (hoặc smal itemset) Một tập frequent k -itemset ký hiệu là Lk.

2.1.2 Cách khai phá luật kết hợp

Bài toán khai phá luận kết hợp được tách thành hai bài toán con [5,8]:

Bài toán 1: Tìm tất cả các frequent itemset Với một số cơ sở dữ liệu giao

dịch D và min _sup, chúng ta phải tìm tất cả các frequen itemset có thể có trong D

Bài toán 2: Sinh các luật kết hợp mạnh từ các frequent itemset Từ các

frequent itemset được tìm thấy ở trên, chúng ta sinh tất cả các luật kết hợp thỏamin_sup, min_conf

2.1.3 Các tính chất của frequent itemset

, support (B) = (

D

T B D

và A ⊆ B, nên ta suy

ra support (A) ≥ support (B)

Tính chất 2.2:

Nếu A là infrequent itemset và A ⊆ B, thì B cũng infrequent itemset

Thật vậy, nếu A là infrequent itemset , nghĩa là support (A) < min_sup Theotính chất 2.1 ta có support (B) ≤ support (A) < min_sup hay B là infrequent itemset

Tính chất 2.3: [4, 5, 8]

Nếu A là frequent itemset và A ⊇ B thì B cũng frequent itemset

Thật vậy, nếu A là frequent itemset, thì support (A) ≥ min_sup Theo tính chất2.1 ta có support (B) ≥ support (A) ≥ min_sup hay B là frequent itemset

Trang 22

2.1.4 Các tiêu chuẩn để phân loại luật kết hợp

Để phân loại các luận kết hợp chúng ta có thể dựa trên các tiêu chuẩn sau [8]

2.1.4.1 Kiểu của giá trị được quản lý trong luật

- Nếu luật quan tâm đến việc kết hợp về sự hiện diện của các item, thì nó làluận kết hợp Boolean Chẳng hạn, luật

Computer => financial_management _software (3)

- Nếu luật mô tả sự kết hợp hợp giữa các item số luợng (quatitative) thì nó làluật kết hợp số lượng Với những luật này, các giá trị số lượng đối với item hoặcthuộc tính (attribute) được rời rạc hoá thành các khoảng (interval)

Ví dụ:

age(X, "30….39") ∧ income (X, 42K….48K") => busy (X, high resolution TV) (4)

Trong đó: X là khách hàng Các thuộc tính số lượng age, income đãđược rời rạc hoá

2.1.4.2 Chiều của dữ liệu được đề cập trong luật

Nếu những item và attribute trong luật kết hợp là chỉ một chiều, thì nó là luậtkết hợp một chiều Chẳng hạn luật (3) có thể viết lại như sau:

buys (X, Computer) => busy (X, financial_management_ software) (5)

Luật (5) là luật một chiều, vì nó chỉ đề cập đến một chiều kà buys Nếu luậtliên quan đến hơn một chiều, thì nó là luật kết hợp đa chiều Chẳng hạn, luật (4) làlụât kết hợp đa chiều

2.1.4.3 Mức trừu tượng được đề cập trong luật

Một số phương pháp cho phép chúng ta khai phá luật kết hợp ở các mức trừutượng khác nhau Chẳng hạn, giả sử rằng tập những luật kết hợp được khai phá làcác luật sau:

age (X, "30…39") => buys (X, "laptop computer") (6)age (X, "30…39") => buys (X, " computer") (7)Trong luật (6) và luật (7), khoản mục buys tham tham chiếu đến các mức trừutượng khác nhau nên chúng được gọi là những luận kết hợp đa mức Còn nếu một

Trang 23

tập luật cho trước không tham chiếu đến những item hoặc thuộc tính ở các mứctrừu tượng khác nhau, thì tập luật được gọi là những luật đơn mức.

2.2 Khai phá luật kết hợp boolean một chiều từ CSDL giao dịch

Trong phần này, chúng tôi sẽ trình bày những phương pháp để khai phá dạngđơn giản nhất của các luật kết hợp như: đơn chiều, đơn mức và các luật kết hợpboolean

2.2.1 Thuật toán Apriori: Tìm các frequent itemset sử dụng việc sinh ra các ứng cử viên [4, 5, 8, 15]

Thoạt đầu thuật toán sẽ tìm các frequent 1-itemset, kí hiệu là L1 Sau đó dựa vào

L1 để tìm L2 và L2 được dùng để tìm L3 cứ tiếp tục như vậy cho đến khi không tìm được

Lk nào nữa

Để cải tiến hiệu quả của việc sinh ra các frequent itemset, thuật toán đã sửdụng thuộc tính quan trọng được coi là Apriori để giảm không gian tìm kiếmtheo thuộc tính Theo thuật toán Apriori, tất cả các tập con không rỗng củamột frequent temset phải là frequent Nghĩa là P(I) < min_sup thì P ( I ∪ A) <min_sup

Để tìm LK từ LK - 1 thuật toán thực hiện hai bước như sau:

Bước kết nối: Để tìm LK, một tập k -itemset ứng cử viên (CK) được sinh ra bằng việc kếtnối Lk - 1 với Lk - 1 Việc kết nối Lk - 1 và Lk - 1 được thực hiện như sau:

Giả sử và l 2 là hai thành viên của Lk-1, l 1 và l 2 kết nối được nếu:

(l 1 [1] = l 2 [1] ∧ l 1 [2] = l 2 [2] ∧ ∧ (l 1 [k - 2] = l 2 [k - 2] ∧ l 1 [k - 1] < l 2 [k - 1]

và kết quả kết nối l 1 với l 2 là: l 1 [1], l 1 [2], , l 1 [k - 1], l 2 [k - 1]

Trong đó: Quy ước rằng các item trong một giao dịch hoặc itemset phải đượcxếp theo thứ tự từ điển

Bước cắt bỏ: Do Ck ⊇ Lk tức là thành viên của Ck có thể là frequent hoặc khôngfrequent, nhưng tất cả các k-itemset đều thuộc vào Ck Để tìm Lk ta thực hiện bướcquét CSDL để quyết định những phần tử nào của Ck thuộc Lk Tuy nhiên Ck có thể

là rất lớn nên ảnh hưởng đến việc tính toán Do đó, ta cần giảm kích thước của Ck

bằng cách sử dụng thuộc tính Apriori như sau: Nếu tập con (k - 1) -itemset bất kỳ

Trang 24

của k- itemset ứng cử viên không nằm trong Lk-1 thì ta loại bỏ k-itemset ứng cử viên

Hình 2 1

Trang 25

{I1, I2, I3}

{I1, I2, I5}

{I1, I3, I5}

{I2, I3, I4}

{I2, I3, I5}

{I2, I4, I5}

2.2.2 Sinh luật kết hợp từ các frequent temset [5, 8, 15]

Sau khi tìm được những frequent itemset, chúng ta có thể sinh các luật kết hợpmạnh Với:

confidence (A=>B) = P (B/A) = (8)

)(_sup

)(_

sup

A count port

B A count

{I1} 6{I2} 7{I3} 6{I4} 2{I5} 2

Itemset

{I1, I2}{I1, I3}{I1, I4}{I1, I5}{I2, I3}{I2, I4}{I2, I5}{I3, I4}{I3, I5}{I4, I5}

{I1, I2, I5}

Quét D tìmsupport count

Intemset

{I1, I2, I3}

{I1, I2, I5}

Itemset Sup.count

{I1, I2, I3} 2{I1, I2, I5} 2Tìm các frequentintemset

Hình 2.2: Các bước thực hiện của thuật toán Apriori với min _sup = 2/9 = 22%

Trang 26

Trong đó: support_count (A∪B) là số giao dịch chứa itemset A∪B.support_count(A) là số giao dịch chứa itemset A.

Dựa vào biểu thức (8), ta có thể sinh ra các luật kết hợp như:

- Đối với mỗi frequent itemset l, sinh ra các tập con không rỗng của nó.

- Đối với mỗi tập con không rỗng s của l, sinh ra luật "s => (l-s)" nếu

conf s

count port

count port

min_

)(_

sup

)1(_

Ví dụ: Xét CDSL giao dịch như hình 2.1 Giả sử dữ liệu chứa một frequent

temset l = {I 1, I2, I5} Tìm những luật kết hợp nào có thể được sinh ra từ l? Như vậy các tập con không rỗng của l là {I1, I2}, {I1, I5}, {I2, I5},

{I1}, {I2}, {I5}

2.2.3 Cải tiến hiệu quả thuật toán Apriori

Có nhiều biến thể của thuật toán Apriori đã được đề xuất nhằm cải tiến hiệuquả của thuật toán [8] Các phương pháp đó là:

Trang 27

2.2.3.1 Phương pháp dựa trên bảng băm

Phương pháp này sử dụng bảng băm để làm giảm kích thước của Ck với k > 1.Chẳng hạn, khi chúng ta quét mỗi giao dịch T trong CSDL để sinh L1 từ C1, chúng

ta có thể sinh ra tất cả 2 - itemset cho giao dịch T và băm các 2 - itemset này vàocác ngăn chứa (bucket) khác nhau của cấu trúc bảng băm, đồng thời tăng bộ đếmngăn chứa (bucket count) lên Những 2 - itemset mà bucket count của nó nhỏ hơnmin_sup _count, thì nó không thể là frenquent nên ta loại nó khỏi tập ứng cử viên.Tương tự như vậy, ta có thể giảm được kích thước của Ck với k bất kỳ

Ví dụ: Tạo bảng băm H2 với hàm băm là:

h( x, y) = ((thứ tự của x)*10 + (thứ tự của y)) mod 7Bucket

{I1,I2}

{I1,I2}

{I1,I2}

{I1,I3}{I1,I3}{I1,I3}{I1,I3}Như vậy, nếu min_sup_count là 3 thì ta có thể loại bỏ các itemset ởngăn chứa 0, 1, 3 và 4 khỏi C2.

2.2.3.2 Giảm số giao dịch

Một giao dịch T không chứa bất kỳ một frequent k -itemset nào cả, thì Tkhông thể một chứa frequent (k+1)-itemset Do đó, T có thể được xoá khỏi nhữngbước quét CSDL để tìm j-itemset, với j > k

Trang 28

2.2.3.3 Phân đoạn

Kỹ thuật phân đoạn chỉ cần hai lần quét CSDL để tìm các frequent itemset Nó

có hai giai đoạn như Hình 2.3 Giai đoạn 1, thuật toán chia các giao dịch chính củaCSDL thành n phần không trùng lắp nhau Đối với phần, tìm tất cả các itemset củaphần đó và xem đây là các frequent itemset cục bộ Các frequent itemset cục bộ cóthể hoặc không thể là frequent itemset toàn cục Do đó tất cả frequent itemset cục

bộ của tất cả các phần được xem như là các itemset ứng của viên của CSDL D Giaiđoạn 2, quét CSDL D lần thứ hai để tìm support count thực sự của mỗi itemset ứng

cử viên và xác định các frequent itemset toàn cục Kích thước của các phần và sốphần được thiết lập sao cho mỗi phần khớp với bộ nhớ Do đó, chỉ đọc CSDL Dmột lần với mỗi giai đoạn

Hình 2.3: Hai giai đoạn của kỹ thuật phân đoạn

2.2.3.4 Lấy mẫu

Theo cách tiếp cận này là lấy một mẫu ngẫu nhiên S của cơ sở dữ liệu D vàtiến hành tìm kiếm frequent itemset trên mẫu đó [8, 13] Tuy nhiên, thực hiện cácphương pháp này thì sẽ tạo ra sự bù trừ giữa tính chính xác và hiệu quả của phươngpháp

2.2.4 Khai phá các frequent itemset bằng cách không sinh ứng cử viên

Mặc dù, đã có nhiều cách để cải tiến hiệu quả thuật toán, tuy nhiên thuật toánApriori có thể vẫn chịu ảnh hưởng hai chi phí lớn sau [8, 9]

Chia D thành n phần

Kết hợp tất cả các frequent itemset cục bộ thành các itemsset ứng cử viên

Tìm các frequent itemset trong số các ứng cử viên (2nd scan)

Các frequent itemset trong D

Các

giao dịch

trong D

Tìm các frequent itemset cục bộ trong mỗi phần (1st scan)

Trang 29

- Nó có thể cần phải sinh một số khổng lồ các tập ứng cử viên Chẳng hạn, nếu

có 104 frequent 1 -itemset , thì thuật toán Apriori sẽ cần phải sinh ra hơn 107 itemset ứng cử viên

2 Nó có thể cần phải quét CSDL lặp đi lặp lại và kiểm tra một tập lớn các ứng

cử viên bằng cách đổi sách mẫu, đặc biệt với các mẫu dài

Để giải quyết vấn đề này, một phương pháp khai phá các frequent itemsetkhông sinh ra các ứng cử viên được đề xuất là frequent -Pattern Growth (FP-growth) Phương pháp này dựa trên chiến lược chia để trị như sau: nén CSDL đạidiện cho các frequent item vào một cây FP -Tree (Frequent pattern tree) nhưng vẫngiữ lại những thông tin kết hợp với các itemset Sau đó nó chia CSDL được nén nàythành một tập các CSDL điều kiện (conditional database) và tiến hành khai phá trênmỗi dữ liệu điều kiện riêng lẻ, mỗi conditional database được chuyển thành bài toánkhai phá trên cây FP -tree

Để thuận tiện cho việc duyệt cây, chúng ta xây dựng một bảng header item saocho mỗi item trỏ vào một tần số xuất hiện của nó trong cây thông qua một chuỗi cácliên kết nút (node -link)

Thuật toán: FP _growth

Input: Một CSDL giao dịch, min_sup_count;

Output: L tập các frequent itemset

+ Xây dựng FP -tree

•Quét CDSL để tìm tập các frequent item F và support_count của chúng sắpxếp F giảm dần theo support_count ta được L

Tạo nút gốc của FP-tree và gán nhãn "null" đối với mỗi giao dịch Trans

trong D thực hiện bước sau:

Chọn và sắp xếp các frequent item trong Trans theo thứ tự của

L Đặt [pP] là danh sách frequent itemset trong Trans đã được sắp

xếp, với p là phần tử đầu tiên, P là phần còn lại trong danh sách Gọi

thủ tục insert_tree ([pP],T), được thực hiện như sau: Nếu T có con

là N sao cho N.item-name = p.item-name, thì tăng biến đến (count) của

Trang 30

N lên 1, ngược lại tạo một nút mới là N và gán biến đếm của N là 1, gánliên kết từ T đến N (T là cha của N) Nút liên kết (node - link) của nó sẽtrỏ vào các nút có cùng item-name thông qua cấu trúc node-link Nếu

P không rỗng, gọi đệ qui Insert -tree (P, N).

+ Khai phá cây FP -tree bằng cách gọi thủ tục FP_growth (Fp_tree, null).

Thủ tục FP_growth được cài đặt như sau:

Procedure FP_growth (Tree, α);

1 If tree contain a single path P then

2 for each combination (denote as β) of the nodes in the path P

3 gennerate pattern β∪α with support = minimun support of nodes in β;

4 else for each ai in header of tree{

5 generate pattern β = ai∪α with support = ai support ;

6 construct β's conditional pattern base and then β's conditinal FP_tree Treeβ

7 if Treeβ≠∅ then

8 call FP_growth (Treeβ, β;}

Khi khai phá FP - Tree, chúng ta phải xuất phát từ item ở cuối L rồi đến cácitem trên đó

Ví dụ: Xét CSDL D như hình 2.1 và min_sup_count = 2 Ta có cây FP - tree

đựơc xây dựng như hình 2.4

I5 {(I2I1:1), (I2I1I3:1)} (I2:2, I1:2) I2I5:2, I1I5:2, I2I1I5:2

I3 {(I2I1:2), (I2:2), (I1:2)}(I2:4, I1:2), (I1:2) I2I3:4, I1I3:4, I2I1I3:2

ItemID Support

count

Node Link

I3:2 I5:1

I3:2 I1:4

I2:7

Trang 31

Bảng 2.1: Tóm tắt quá trình khai phá cây FP – Tree

Chẳng hạn, xét I3 ta có conditional pattern base của nó là ((I2I1:2), (I2:2),(I1:2)), cho nên cây conditional FP – tree của nó như hình 2.5 và sinh ratập các frequent itemset là {I2I3:4, I1I3:4, I1I3:4, I2I1I3:2 }

count

Node Link

Ví dụ: Cho tập dữ liệu giao dịch của cho nhánh AllElectronecs như Bảng 2.2.

I1:2

I1:2I2:4

null{}

Hình 2.5: Cây conditional FP – tree

Trang 32

latto puter

pad

computer accesory

b/w

managemen t

HP l

son y

IBM destop cumputer

………

Bảng 2.2

Một hệ thống phân cấp khái niệm cho các item như Hình 2.6 Hệ thống phâncấp khái niệm này có bốn mức 0,1,2,3

Việc tìm kiếm những mẫu hàng đáng quan tâm ở mức thấp là rất khó Chẳng

hạn, nếu “IBM desop computer” hoặc “Sony b/w printer” xuất hiện trong phần rất

nhỏ của các giao dịch, thì khó mà có thể tìm những sự kết hợp mạnh liên quan đến

chúng Tuy nhiên, nếu xét sự khái quát của “Sony b/w priner” là “b/w printer” , thì việc tìm kiếm kết hợp mạnh giữa “IBM destop computer” và “b/w printer” sẽ

dễ dàng hơn giữa “IBM destop computer” và “Sony b/w printer”

Trang 33

Hay nói cách khác, những itemset chứa các item được khái quát hoá hơn thì cónhiều khả năng thoả min_sup hơn so với những itemset chứa item ở mức nguyênthủy.

2.3.2 Các phương pháp khai phá luật kết hợp đa mức

Các phương pháp khai phá luật kết hợp đa mức thường sử dụng chiếnlược top-down Khởi đầu từ mức khái niệm 1 và tiếp tục tại mức thấp hơn cho đếnkhi không còn frequent itemset nào được tìm thấy [8] Ở mỗi mức chúng ta có thể

sử dụng bất kỳ thuật toán nào để tìm các frequent itemset, chẳng hạn thuật toánApriori và các biến thể của chúng

Một số phương pháp:

2.3.2.1 Đồng nhất độ hỗ trợ tối thiểu cho tất cả các mức

Cùng một min_sup được sử dụng khi khai phá ở các mức trừu tượng khácnhau Ví dụ như hình 2.7, với min_sup=5% thì các “computer” và “laptopcomputer” được tìm thấy là frequent, nhưng “desktop computer” thì không

Ưu điểm:

- Cách thực hiện đơn giản

- Có thể tránh được việc xem xét những itemset chứa các item mà tổ tiên của

nó không phải là frequent

Trang 34

2.3.2.2 Giảm dần độ hỗ trợ tối thiểu ở mức thấp hơn

Mỗi mức trừu tượng có mỗi min_sup riêng Ở mỗi mức trừu tượng thấp hơn,thì có min_sup thấp hơn

Ví dụ: Như hình 2.8, thì có tất cả “computer”, “laptop computer” và

“desktop computer” đều là frequent.

Hình 2.8 2.3.2.3 Độc lập theo từng mức ( Level – cross filtering by single item)

Một item tại mức i được xét, nếu nút cha của nó tại mức (i-1) là frequent

Ví dụ: Như hình 2.9, hai nút con của nút “Computer” là “Laptop Computer”

và “Destop Computer” sẽ không được xét, vì nút “computer” không là frequent.

Mức 1

Min_sup = 12%

Mức 2

Min_sup = 3%

2.3.2.4 Lọc chéo mức bởi một itemset (Level – cross filtering by k-itemset)

Một k-itemset tại mức thứ i được xem xét nếu và chỉ nếu k-itemset cha của nótại mức (k-1) là frequent

Ví dụ: Như hình 2.10, 2-itemset “{computer, printer}” là frequent Do đó, các nút

“{laptop computer, b/w printer}”, “{laptop coputer, color printer}”, “{desktop computer,b/w printer}”, “{desktop computer,color printer}” đều được xem xét.

Trang 35

Hình 2.10 2.4 Khai phá luật kết hợp đa chiều từ CSDL quan hệ và kho dữ liệu

Trong phần này, chúng tôi sẽ trình bày các phương pháp khai phá luật kết hợp

đa chiều, tức là những luật có nhiều hơn một chiều hoặc vị từ (predicate)[8]

2.4.1 Luật kết hợp đa chiều

Từ đầu chương cho đến phần này, chúng ta chỉ xem xét những luật kết hợp

hàm ý là đơn chiều, tức là những luật chỉ liên quan đến một vị từ buys Chẳng hạn,

luật “IBM destop computer Sony b/w printer” có thể viết lại là:

Buys(X, “IBM destop computer”) buys (X, “Sony b/w printer”) (9)

Trong đó: X là khách hàng

Luật (9) được gọi là luật đơn chiều, vì nó chỉ chứa một vị từ phân biệt (buys)mặc dù nó xuất hiện nhiều lần trong luật

Những luật có hơn một vị từ được gọi là luật kết hợp đa chiều Ví dụ luật:

age (X, “20…29”)∧ occupation (X, “student”)⇒ buys (X, “laptop”) (10)

Luật 10 được goi là luật kết hợp đa chiều vì nó chứa ba vị từ (age, occupation

và buys), mỗi vị từ chỉ xuất hiện một lần trong luật Những luật kết hợp đa chiều

không có sự lặp lại của các vị từ được gọi là các luật interdimension, ngược lại gọi

là các luật hybriddimension Ví dụ luật

age (X, “20…29”)∧ buys (X, “laptop”)⇒ buys (X, “b/w printer”) (11) là luật

Laptop computer and color printer [support =2%]

Destop computer and b/w printer [support =1%]

Destop computer and color printer [support =3%]

Mức 1

Min_sup = 5%

Mức 2

Min_sup = 2%

Trang 36

hữu hạn và là tập không có thứ tự Thuộc tính số lượng là những con số, các giá trịcủa nó có thứ tự rõ ràng Có ba phương pháp cơ bản để khai phá luật kết hợp đachiều tuỳ thuộc vào phương diện xử lý thuộc tính số lượng Ba phương pháp đó làkhai phá luật kết hợp đa chiều sử dụng việc rời rạc hoá tĩnh các thuộc tính số lượng,khai phá luật kết số lượng và khai phá luật dựa trên khoảng cách.

2.4.2 Khai phá luật kết hợp đa chiều sử dụng việc rời rạc hoá tĩnh các thuộc tính số lượng.

Việc rời rạc hoá các thuộc tính số lượng được thực hiện trước khi khai phá,với các giá trị số được thay thế bởi các miền (range) Các thuộc tính categoricalcũng có thể được khái quát hoá thành những khái niệm cao hơn nếu cần

Dữ liệu bài toán được biến đổi để có thể được lưu trữ ở dạng khối dữ liệu(data cube) Các data cube rất phù hợp cho việc khai phá luật kết hợp đa chiều Datacube là một mạng các khối lập phương (cuboid), cuboid là một cấu trúc dữ liệu đachiều Những cấu trúc dữ liệu này có thể chứa dữ liệu bài toán đã cho, cũng như kếttâp, nhóm thông tin Ví dụ như hình 2.11 là một mạng các cuboid xác định một data

cube cho các chiều age, income và buys Các ô của cuboid n - chiều được sử dụng

để lưu trữ support count cho các tập n – predicate Cuboid cơ sở kết tập dữ liệu bài

toán theo age, income và buys; 2-D cuboid (ví dụ: age, income ) kết tập theo age, income 0 – D cuboid chứa tổng số giao dịch trong bài toán đã cho.

Hình 2.11: Mạng cuboids tạo thành một data cube 3D

0

(income, buys)(age, buys)

(age, income, buys)(age, income)

0 – D cuboid

1 – D cuboids

2 – D cuboids

3 – D cuboids

Trang 37

2.4.3 Khai phá luật kết hợp số lượng

Luật kết hợp số lượng là luật kết hợp đa chiều với những thuộc tính số lượngđược rời rạc hoá trong quá trình khai phá nhằm thoả mãn một số tiêu chuẩn như cựcđại hoá độ tin cậy của các luật khai phá Trong phần này, chúng tôi chỉ tập trungvào việc làm thế nào để khai phá những luật kết hợp số lượng có hai thuộc tính sốlượng bên trái luật và một thuộc tính categorical bên phải luật Chẳng hạn,

Aquan1 ∧ Aquan2 ⇒ Acat Trong đó, Aquan1 và Aquan2 là xét trên các miền thuộc tínhcategorical Những luật như vậy được gọi là luật kết hợp số lượng hai chiều

Ví dụ: age (X, “30…39”) income (X, “42K…48K”) buys (X, “high resolutionTV”

đó, lưới này được sử dụng để tìm các nhóm điểm và nó tự sinh ra các luật

Các bước thực hiện phương pháp ARCS [8]:

Bước 1 – Bining: Để giảm kích thước của các lưới, chúng ta chia miền giá trị

của các thuộc tính số lượng ra thành nhiều khoảng (interval), các khoảng này làđộng Tức là, chúng có thể được kết hợp lại sau này trong quá trình khai phá Quá

trình phân chia được gọi là binning, các khoảng được gọi là các bin Ba chiến lược

bining chung là:

- Equiwidth binning: Kích thước khoảng cách của mỗi bin là bằng nhau.

- Equidepth binning: Số bộ trong mỗi bin là gần bằng nhau.

- Homogeneity - base binning: Kích thước của mỗi bin được xác định sao cho các bộ trong các bin được phân bố đều nhau.

ARCS sử dụng phương pháp Equiwidth binning, với kích thước bin của mỗi

thuộc tính số lượng được nhập vào bởi người dùng Với mỗi lớp của thộc tínhcategorical, chúng ta tạo một mảng hai chiều để thể hiện sự kết hợp của hai thuộctính số lượng Mỗi ô của mảng chứa tần số phân bố của hai thuộc tính số lượng đối

Trang 38

với mỗi lớp của thuộc tính categorical, chúng ta tạo một mảng hai chiều thể hiện sựkết hợp của hai thuộc tính số lượng đối với mỗi lớp của thuộc tính categorical.

Bước 2 – Tìm những tập frequent predicate: Ngay khi, mảng hai chiều chứa

tần số phân bố được thiết lập, nó được quét để tìm các tập frequent predicate Sau

đó, các luật kết hợp mạnh có thể sinh ra bằng cách sử dụng thuật toán ở trên

Bước 3 – Nhóm các luật kết hợp: Những luật kết hợp đạt được ở bước 2

được ánh xạ vào lưới hai chiều Ví dụ như hình 2.12 là một lưới hai chiều do các

luật kết hợp số lượng hai chiều với điều kiện buys (X, “high resolution TV”) ở bên phải của luật, các thuộc tính số lượng cho trước age và income Bốn ô được đánh chéo

là tương ứng cho 4 luật

age(X, 34) income (X, “31K…40K”) buys (X, “high resolution TV”) (13) age(X, 35) income (X, “31K…40K”) buys (X, “high resolution TV”) (14) age(X, 34) income (X, “41K…50K”) buys (X, “high resolution TV”) (15) age(X, 35) income (X, “41K…50K”) buys (X, “high resolution TV”) (16)

Bốn luật này có thể được nhóm lại với nhau để có một luật đơn giản hơn là:

age(X, 34…35) income (X, “31K…50K”) buys (X, “high resolution TV”) (17)

Hình 2.12 2.4.4 Khai phá luật kết hợp dựa vào khoảng cách

Trong phần trước, chúng tôi đã đề cập cách khai phá luật kết hợp số lượng vớicác thuộc tính số lượng được rời rạc hoá động Tuy nhiên, cách tiếp cận này có thểkhông đáp ứng được ngữ nghĩa của khoảng cách Chẳng hạn như bảng 2.3, ta thấy

sự phân chia dựa trên khoảng cách dường như là thích hợp nhất, vì nó nhóm những

71K…80K61K…70K51K…60K41K…50K31K…40K21K…30K

Ngày đăng: 12/12/2016, 16:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phạm Hữu Khang, Kỹ thuật lập trình C#.Net, NXB Lao Động - Xã Hội Sách, tạp chí
Tiêu đề: Kỹ thuật lập trình C#.Net
Nhà XB: NXB Lao Động - Xã Hội
[2] Vũ Đức Thi, Cơ sở dữ liệu: Kiến thức và thực hành, NXB Thống kê, 1997 Sách, tạp chí
Tiêu đề: Cơ sở dữ liệu: Kiến thức và thực hành
Nhà XB: NXB Thống kê
[3] Hồ Thuần, Hồ Cẩm Hà, Các hệ cơ sở dữ liệu: Lý thuyết và bài tập, tập 2, NXB Giáo dục, 2005.Tiếng Anh Sách, tạp chí
Tiêu đề: Các hệ cơ sở dữ liệu: Lý thuyết và bài tập
Nhà XB: NXBGiáo dục
[4] Agrawal R., Imielinski T .and Swami A,. “Mining Association Rules Between Sets of Items in Large Databases”, SIGMOD, 1993 Sách, tạp chí
Tiêu đề: Mining Association Rules BetweenSets of Items in Large Databases
[5] Agrawal R., Srikantt R., “Fast Algorithms for mining association rules”, VLDB- 94, 1994 Sách, tạp chí
Tiêu đề: Fast Algorithms for mining association rules
[6] Freitas A. A., “Uderstanding the Crucial Differences Between Classification and Discovery of Association Rules”, ACM SIGKDD, vol.2, July 2000, pp65-69 Sách, tạp chí
Tiêu đề: Uderstanding the Crucial Differences Between Classification andDiscovery of Association Rules
[7] Han J. And Fu Y., “Discovery of Multiple-Level Association Rules from Large Database”, Proseedings of the 21 st VLDB Conference, Zurich, Swizerland, 1995 Sách, tạp chí
Tiêu đề: Discovery of Multiple-Level Association Rules from LargeDatabase
[8] Han J. and Kamber M., Data Mining: Concepts and Techniques, University of Illinois, Morgan Kaufmann Publishers, 2002 Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques
[9] Han J., Pei J., Yin Y., “Mining frequent patterns without candidate generation”, SIGMOD, 2000 Sách, tạp chí
Tiêu đề: Mining frequent patterns without candidate generation
[10] Ma Y., Liu B,. Wong C. K., Yu. P. S., Lee S.M., “Targeting the Right Students Using Data Mining”, KDD-2000, 2000 Sách, tạp chí
Tiêu đề: Targeting the Right StudentsUsing Data Mining
[11] Park J. S., Chen M. S., Yu P. S “Using a Hash-Based Method with Tansaction Trimming and Database Scan Reduction for Mining Association Rule” Vol.9, No.5, 1997 Sách, tạp chí
Tiêu đề: Using a Hash-Based Method with TansactionTrimming and Database Scan Reduction for Mining Association Rule
[12] Srikant R., Agrawal R., “Mining Quantitative Association rules”, Proceedings of the 22 nd VLDB Conference, Bombay, India, 1996 Sách, tạp chí
Tiêu đề: Mining Quantitative Association rules
[14] Apte C., Liu B.&amp;Smyth P., “Business Applications of Data Mining”, 2004 http://www.reaserch.ibm.com/dar/papers/pdf/Business_application_of_dm.pdf Sách, tạp chí
Tiêu đề: Business Applications of Data Mining
[15] Dunham M.H., Gruenwald Y. X. L., Hossain Z., “A survery of association rules” http://www2.cs.uh.edu/~ceik/6340/grue-assoc.pdf Sách, tạp chí
Tiêu đề: A survery of associationrules
[16] Han J. and kamber M., “principles of K nowledge Discovery in Data”, http://www.cs.ualberta.ca/~joerg/courses/cput695/fall2003/Association Rules- 4spp.pdf Sách, tạp chí
Tiêu đề: principles of K nowledge Discovery in Data
[17] Rantzau R., “Extended Concepts for Association Rule Discovery”, http://elib.uni-stuttgart.de/opus/volltexte/2007/721/pdf/DIP_1554.pdfl Sách, tạp chí
Tiêu đề: Extended Concepts for Association Rule Discovery
[18] S. Ayse Ozel anf H. Altay Guvenir., “Algorithm for Mining Association RulesUsing Perfect Hashing and Database pruning” Sách, tạp chí
Tiêu đề: Algorithm for Mining Association RulesUsing Perfect Hashing and Database pruning

HÌNH ẢNH LIÊN QUAN

Bảng 3.1: Các tham số của chương trính sinh dữ liệu tổng hợp 56 - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Bảng 3.1 Các tham số của chương trính sinh dữ liệu tổng hợp 56 (Trang 5)
Hình 4.2: Lựa chọn CSDL 65 - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 4.2 Lựa chọn CSDL 65 (Trang 7)
Hình 1.1: Quy trình phát hiện tri thức - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 1.1 Quy trình phát hiện tri thức (Trang 11)
Hình 1.2: Kiến trúc của một hệ khai phá dữ liệu điển hình - Cơ sở tri thức (Knowledge base): Đây là miền tri thức được dùng để hướng - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 1.2 Kiến trúc của một hệ khai phá dữ liệu điển hình - Cơ sở tri thức (Knowledge base): Đây là miền tri thức được dùng để hướng (Trang 12)
Hình 1.3: Mẫu kết quả với phương pháp cây quyết định - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 1.3 Mẫu kết quả với phương pháp cây quyết định (Trang 14)
Hình 1.4: Phân cụm các đối tượng k-Mean ( + là tâm của cụm) - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 1.4 Phân cụm các đối tượng k-Mean ( + là tâm của cụm) (Trang 15)
Hình 2.2: Các bước thực hiện của thuật toán Apriori  với min _sup = 2/9 = 22% - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 2.2 Các bước thực hiện của thuật toán Apriori với min _sup = 2/9 = 22% (Trang 25)
Hình 2.3: Hai giai đoạn của kỹ thuật phân đoạn 2.2.3.4. Lấy mẫu - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 2.3 Hai giai đoạn của kỹ thuật phân đoạn 2.2.3.4. Lấy mẫu (Trang 28)
Hình 2.4: Cây FP - tree - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 2.4 Cây FP - tree (Trang 30)
Bảng 2.1:  Tóm tắt quá trình khai phá cây FP – Tree - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Bảng 2.1 Tóm tắt quá trình khai phá cây FP – Tree (Trang 31)
Hình 2.8 2.3.2.3. Độc lập theo từng mức ( Level – cross filtering by single item) - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 2.8 2.3.2.3. Độc lập theo từng mức ( Level – cross filtering by single item) (Trang 34)
Hình 2.10 2.4. Khai phá luật kết hợp đa chiều từ CSDL quan hệ và kho dữ liệu - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 2.10 2.4. Khai phá luật kết hợp đa chiều từ CSDL quan hệ và kho dữ liệu (Trang 35)
Hình 2.11: Mạng cuboids tạo thành một data cube 3D - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 2.11 Mạng cuboids tạo thành một data cube 3D (Trang 36)
Hình 2.12 2.4.4. Khai phá luật kết hợp dựa vào khoảng cách - Khai phá dữ liệu trên cơ sở phương pháp luật kết hợp và ứng dụng
Hình 2.12 2.4.4. Khai phá luật kết hợp dựa vào khoảng cách (Trang 38)

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