Tải bản đầy đủ (.pdf) (27 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (482.88 KB, 27 trang )

ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
----------------------

NGUYỄN KHẢI HOÀI ANH

KHAI PHÁ DỮ LIỆU TRÊN CƠ SỞ PHƯƠNG PHÁP
LUẬT KẾT HỢP VÀ ỨNG DỤNG

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ

: 604801
Công trình được

hoàn thành tại:

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học:
PGS.TS. Nguyễn Trọng Bình

THÁI NGUYÊN 2010

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

1





Công trình được hoàn thành tại:
Khoa công nghệ thông tin – Đại học Thái Nguyên

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

Phản biện 1:
Phản biện 2:

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn họp
tại:
Khoa Công nghệ thông tin – Đại học Thái Nguyên, vào hồi......
giờ...... ngày....... tháng........ năm 2010.

Có thể tìm hiểu luận văn tại trung tâm học liệu Đại học Thái
Nguyên và thư viện Trường CĐCN – Thái Nguyên

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

2




1
LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung trong Luận văn hoàn toàn theo đúng nội dung
đề cương cũng như nội dung mà cán bộ hướng dẫn giao cho. Nội dung luận văn, các phần
trích lục các tài liệu hoàn toàn chính xác. Nếu có sai sót tôi hoàn toàn chịu trách nhiệm.

Tác giả luận văn

Nguyễn Khải Hoài Anh

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên




2
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
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên




3
2.1.4. Các tiêu chuẩn để phân loại luật kết hợp……………………………………15
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
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên




4
3.1.2. Thuật toán SETM……………………………………………….......35
3.1.3. Thuật toán Apriori…………………………………………………..39
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

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên




5
DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT
Diễn giải

Ký hiệu
Ck


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

Ck

Tập các k-itemset ứng viên mà TID của giao dịch sinh ra liê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

I

Tập các mục

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

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên





6
DANH MỤC CÁC BẢNG
Trang
Bảng 2.1: Tóm tắt quá trình khai phá cây FP – Tree

24

Bảng 2.2: Dữ liệu giao dịch của cho nhánh AllElectronecs

25

Bảng 2.3: Phân chia dựa trên khoảng cách

32

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.2: Các tham số

56

Bảng 3.3: Thời gian thực hiện theo giây (s) của thuật toán SETM

57


Bảng 3.4: So sánh thời gain thực hiện của Apriori và DHP (T15.I4.D100)

61

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên




7
DANH MỤC HÌNH VẼ
Trang
Hình 1.1: Quy trình phát hiện tri thức

4

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

5

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

7

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

8

Hình 2. 1: CSDL để thực hiện các bước hình 2.2


17

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%

18

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

21

Hình 2.4: Cây FP – tree

23

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

24

Hình 2.6: Hệ thống phân cấp khái niệm cho các item

25

Hình 2.7: min_sup được sử dụng khi khai phá ở các mức trừu tượng khác nhau

26

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

27


Hình 2.9: Độc lập theo từng mức

27

Hình 2.10: Lọc chéo mức bởi một itemset

28

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

29

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

31

Hình3.1a:

38

Hìn 3.1b:

Các bước thực hiện thuật toán SETM và min_sup_count = 2

39

Hình 3.2: Các bước thực hiện của thuật toán AprioriTID

43


Hình 3.3: Thời gian xử lý mỗi bước quét của thuật toán Apriori và AprioriTID

44

Hình 3.4: Các bước thực hiện thuật toán DHP

49

Hình 3.5: Tìm L2 và D3

52

Hình 3.6a: Thời gian thực hiện với các tập dữ liệu T5.I2.D100K và T10.I2.D100K

57

Hình 3.6b: Thời gian thực hiện với các tập dữ liệu T10.I4.D100K và T20.I2.D100K

58

Hình 3.6c: Thời gian thực hiện với các tập dữ liệu T20.I4.D100K và T20.I6.D100K

58

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên




8

Hình 3.7: Kích thước của các tập frequent và các tập ứng cử viên

59

Hình 3.8: Thời gian thực hiện của Apriori và DHP

61

Hình 3.9: So sánh thời gian thực hiện của DHP và Apriori

62

Hình 4.1: Giao diện chính của chương trình

65

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

65

Hình 4.3: Kết quả khai phá luật kết hợp

66

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên




data error !!! can't not

read....


data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not
read....



data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not
read....



data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not
read....

data error !!! can't not
read....


data error !!! can't not
read....

data error !!! can't not
read....


data error !!! can't not
read....

data error !!! can't not
read....




×