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

Tìm hiểu kỹ thuật khai thác tập phổ biến dựa vào vector bit

54 24 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 54
Dung lượng 838,41 KB

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

Nội dung

iii LỜI CAM ĐOAN Tôi xin cam đoan mọi kết quả của đề tài: “TÌM HIỂU KỸ THUẬT KHAI THÁC TẬP PHỔ BIẾN DỰA VÀO VECTOR BIT” là công trình nghiên cứu của cá nhân tôi và chưa từng được côn

Trang 1

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

TRƯỜNG ĐẠI HỌC NHA TRANG

Trang 2

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

TRƯỜNG ĐẠI HỌC NHA TRANG

Trang 3

iii

LỜI CAM ĐOAN

Tôi xin cam đoan mọi kết quả của đề tài: “TÌM HIỂU KỸ THUẬT KHAI

THÁC TẬP PHỔ BIẾN DỰA VÀO VECTOR BIT” là công trình nghiên cứu của cá

nhân tôi và chưa từng được công bố trong bất cứ công trình khoa học nào khác cho tới thời điểm này

Khánh Hòa, ngày … tháng 10 năm 2019

Tác giả luận văn

Trần Thị Châm

Trang 4

LỜI CẢM ƠN

Trong suốt thời gian thực hiện đề tài, tôi đã nhận được sự giúp đỡ của quý phòng ban trường Đại học Nha Trang, Trường Cao đẳng Sư phạm Đà Lạt đã tạo điều kiện tốt nhất cho tôi được hoàn thành đề tài Đặc biệt là sự hướng dẫn tận tình của TS Nguyễn Đức Thuần đã giúp tôi hoàn thành tốt đề tài Qua đây tôi cũng xin gửi lời cảm ơn sâu sắc tới sự giúp đỡ này

Cuối cùng tôi xin gửi lời cảm ơn chân thành đến gia đình và tất cả bạn bè đã giúp

đỡ, động viên tôi trong suốt quá trình học tập và thực hiện đề tài

Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một học viên, luận văn này không thể tránh được những thiếu sót Tôi rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các thầy cô để tôi có điều kiện bổ sung, nâng cao kiến thức của mình Tôi xin chân thành cảm ơn!

Khánh Hòa, ngày……tháng 10 năm 2019

Tác giả luận văn

Trần Thị Châm

Trang 5

v

MỤC LỤC

LỜI CAM ĐOAN iii

LỜI CẢM ƠN iv

MỤC LỤC v

DANH MỤC CÁC TỪ VIẾT TẮT viii

DANH MỤC BẢNG ix

DANH MỤC HÌNH x

TRÍCH YẾU LUẬN VĂN xi

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục tiêu và nhiệm vụ nghiên cứu 2

3 Đối tượng và phạm vi nghiên cứu 2

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

1.1.Giới thiệu chung về khai phá dữ liệu 3

1.1.1 Khái niệm 3

1.1.2 Mục đích của khai phá dữ liệu 4

1.1.3 Dữ liệu sử dụng trong khai phá dữ liệu 4

1.1.3.1 Phân loại dữ liệu 4

1.1.3.2 Tổng hợp dữ liệu 5

1.1.4 Các bước của quá trình khai phá dữ liệu 6

1.2.Các kỹ thuật khai phá dữ liệu 7

1.2.1 Phương pháp dự đoán 7

1.2.1.1 Phân lớp (classification) 7

1.2.1.2 Hồi quy (regression) 8

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

1.2.2.1 Phân cụm (clustering) 8

Trang 6

1.2.2.2 Luật kết hợp (Association rules) 9

1.3.Kiến trúc của hệ thống khai phá dữ liệu 10

1.4.Các ứng dụng của khai phá dữ liệu và những thách thức gặp phải 10

1.4.1 Ứng dụng của khai phá dữ liệu trong thực tiễn 10

1.4.2 Những thách thức trong ứng dụng và nghiên cứu kỹ thuật khai phá dữ liệu 11

1.4.2.1 Các vấn đề liên quan đến cơ sở dữ liệu 11

1.4.2.1 Một số vấn đề khác 12

CHƯƠNG 2 BÀI TOÁN KHAI THÁC TẬP PHỔ BIẾN 13

2.1.Giới thiệu bài toán khai thác tập phổ biến 13

2.2.Các định nghĩa cơ bản 13

2.2.1 Hạng mục và tập hạng mục 13

2.2.1.1 Hạng mục (Item) 13

2.2.1.2 Tập các hạng mục (Itemset) 14

2.2.1.3 Tập hạng mục mức k 14

2.2.2 Giao dịch (Transaction) 14

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

2.2.4 Độ hỗ trợ (Support) 15

2.2.4.1 Độ hỗ trợ của một tập mục dữ liệu 15

2.2.4.2 Độ hỗ trợ của luật kết hợp 16

2.2.5 Tập mục dữ liệu thường xuyên (Frequent Itemset) 16

2.2.6 Độ tin cậy (Confidence) 17

CHƯƠNG 3 SO SÁNH HIỆU QUẢ THUẬT TOÁN KHAI THÁC TẬP PHỔ BIẾN APRIORI VÀ CÁC THUẬT TOÁN VECTOR BIT 18

3.1.Thuật toán Apriori 18

3.1.1 Ví dụ thử nghiệm 18

3.1.2 Ưu nhược điểm của thuật toán Apriori 20

3.1.2.1 Ưu điểm 20

Trang 7

vii

3.1.2.2 Nhược điểm 20

3.2.Thuật toán khai phá tập dữ liệu thường xuyên bằng vector BIT 20

3.2.1 Giới thiệu 20

3.2.2 CBVAR Algorithm - Cluster based Bit Vectors for Association Rule mining 21

3.2.3 ICBVAR Algorithm - Improved Cluster Based Big Vector Association Rule 25

CHƯƠNG 4 KẾT QUẢ CỦA THỬ NGHIỆM VÀ HƯỚNG PHÁT TRIỂN 29

4.1 Các thử nghiệm 29

4.1.1 Thử nghiệm trên bộ dữ liệu MUSHROOM 30

4.1.2 Thử nghiệm trên bộ dữ liệu CHESS 31

4.1.3 Thử nghiệm trên bộ dữ liệu CONNECT 31

4.2 Nhận xét chung 32

4.3 Hướng nghiên cứu 33

TÀI LIỆU THAM KHẢO 34

PHỤ LỤC 35

Trang 8

DANH MỤC CÁC TỪ VIẾT TẮT

KPDL Khai phá dữ liệu Data Mining

ST Ngưỡng hỗ trợ Support Threshold

KDD Khai phá tri thức Knowledge Discovery in Databases MST Độ hỗ trợ tối thiểu Minimum Support Threshold

FI Tập thường xuyên Frequent Itemset

Trang 9

ix

DANH MỤC BẢNG

Bảng 1.1 Các kiểu dữ liệu sử dụng trong khai phá dữ liệu 5

Bảng 2.1 CSDL mô tả các giao dịch mua hàng 13

Bảng 2.2 Biểu diễn ngang của cơ sở dữ liệu giao tác 15

Bảng 2.3 Biểu diễn dọc của cơ sở dữ liệu giao tác 15

Bảng 3.1 Ma trận giao tác của CSDL giao tác 21

Bảng 3.2 CSDL giao dịch bán hàng 23

Bảng 3.3 CSDL được chuyển đổi theo thuật toán CBVAR 24

Bảng 3.4 Danh mục các tập 1, 2, 3- mục thường xuyên của thuật toán CBVAR 25

Bảng 3.5 CSDL được xây dựng theo thuật toán ICBVAR 27

Bảng 3.6 Danh mục các tập 3 mục thường xuyên của thuật toán ICBVAR 28

Bảng 4.1 Kết quả thời gian thực hiện chương trình trên bộ dữ liệu MUSHROOM 30

Bảng 4.2 Kết quả thời gian thực hiện chương trình trên bộ dữ liệu CHESS 31

Bảng 4.3 Kết quả thời gian thực hiện chương trình trên bộ dữ liệu CONNECT 32

Trang 10

DANH MỤC HÌNH

Hình 1.1 Mô hình khai phá dữ liệu 4

Hình 1.2 Phân lớp cho tập dữ liệu cho vay 8

Hình 1.3 Phân cụm tập dữ liệu cho vay nợ vào trong 3 cụm 9

Hình 1.4 Kiến trúc điển hình của một hệ thống khai phá dữ liệu 10

Hình 4.1 Giao diện chương trình Demo 29

Hình 4.2 Biểu đồ so sánh kết quả của 3 thuật toán trên bộ dữ liệu MUSHROOM 30

Hình 4.3 Biểu đồ so sánh kết quả của 3 thuật toán trên bộ dữ liệu CHESS 31

Hình 4.4 Biểu đồ so sánh kết quả của 3 thuật toán trên bộ dữ liệu CONNECT 32

Trang 11

xi

TRÍCH YẾU LUẬN VĂN

Khai thác tập phổ biến là một trong hai bài toán chính của khai phá luật kết hợp Mọi lĩnh vực khoa học có liên quan đến máy tính hiện nay đã, đang và sẽ áp dụng các ứng dụng có liên quan đến lĩnh vực khai phá dữ liệu Tuy có nhiên ở Việt Nam những nghiên cứu về lĩnh vực này vẫn còn hạn chế

Chính vì lý do đó luận văn được thực hiện với mục tiêu hệ thống lại kiến thức và tập trung nghiên cứu về một số vấn đề sau:

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

- Ứng dụng của khai phá dữ liệu vào đời sống

- Bài toán khai thác tập phổ biến

- Cài đặt thuật toán khai thác tập phổ biến Apriori

- Cài đặt thuật toán khai thác tập phổ biến dựa vào vector BIT

- So sánh hiệu quả của các thuật toán

Trong khi thực hiện luận văn, tôi có cài đặt 3 thuật toán: Apriori, CBVAR, ICBVAR bằng ngôn ngữ C# để so sánh hiệu quả của các thuật toán Qua đó luận văn đã đạt được một số kết quả nghiên cứu sau:

- Nhận thấy mức độ quan trọng của bài toán khai thác tập phổ biến trong lĩnh vực khai phá dữ liệu

- Trong phạm vi cài đặt của luận văn thuật toán tìm tập phổ biến dựa vào vector Bit (CBVAR, ICBVAR) có lợi hơn về mặt thời gian so với Apriori

Từ những kết quả đạt được, luận văn đưa ra một số kiến nghị như sau:

- Thuật toán tìm tập phổ biến dựa vào vector Bit cải thiện hiệu quả hơn thuật toán Apriori nhưng chưa có lợi về mặt không gian bộ nhớ so với Apriori ở nhiều CSDL, đặc biệt với các CSDL lớn, thưa thì bài toán tìm tập phổ biến dựa vào vector Bit đạt hiệu quả không cao về cả mặt thời gian và không gian bộ nhớ

- Phát triển nghiên cứu giải thuật mới dựa vào vector Bit như kết hợp vector Bit

và cây, và bảng có trọng số,

Từ khóa: khai phá dữ liệu (Data mining), khai phá tập phổ biến, Frequent Itemset,

vector Bit

Trang 12

MỞ ĐẦU

1 Lý do chọn đề tài

Sự phát triển của ngành công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế, xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan, đơn vị, tổ chức xã hội thu thập và lưu trữ được ngày càng nhiều lên Người ta vẫn luôn thu thập, lưu trữ tất cả các dữ liệu này vì cho rằng ẩn bên trong nó sẽ chứa đựng những giá trị nhất định nào đó Tuy vậy, theo những thống kê đã thực hiện chỉ ra thì trong số đó chỉ có một số lượng khá nhỏ (khoảng từ 5% đến 10%) của những dữ liệu này là được phân tích, số còn lại họ không biết xử lý thế nào hoặc có thể làm được gì với chúng nhưng họ vẫn tiếp tục thu thập mặc cho rất tốn kém về thời gian, không gian bộ nhớ với ý nghĩ rằng về lâu dài sẽ có cái gì đó quan trọng đã bị bỏ qua và sau này có lúc cần đến nó Và thực tế đã và đang chứng minh rằng

dữ liệu trong các ngành, nghề, lĩnh vực như khoa học, y tế, giáo dục, kinh tế… đang dần được áp dụng vào trong thực tiễn đời sống nhờ các nghiên cứu, sáng kiến của các nhà khoa học cùng sự phát triển nhanh chóng của ngành công nghệ thông tin Mặt khác, trong thời buổi cạnh tranh như hiện nay, con người ngày càng cần có nhiều thông tin cho vấn đề mình gặp phải cùng với đó là tốc độ xử lý thông tin nhanh chóng để trợ giúp cho việc ra quyết định Những câu hỏi mang tính chất định tính trên khối cơ sở dữ liệu khổng lồ cũng đã xuất hiện Với những lý do như vậy, các phương pháp quản trị và khai phá cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là kỹ thuật phát hiện tri thức (Knowledge Discovery

in Databases - KDD) và khai phá dữ liệu (Data Mining - DM)

Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được rất nhiều nhà nghiên cứu quan tâm và xây dựng ứng dụng vào thực tế Bài toán khai phá luật kết hợp bao gồm 2 bài toán con, bài thứ nhất là khai thác tập phổ biến và bài thứ hai là sinh ra các luật kết hợp Trong

đó, mọi khó khăn của bài toán khai phá luật kết hợp nằm ở bài toán thứ nhất đó là khai thác tất cả các tập phổ biến thỏa mãn ngưỡng hỗ trợ cho trước và các nghiên cứu về luật kết hợp cũng tập trung vào khai phá tập phổ biến Vì những lợi ích thực tế như vậy luận văn “TÌM HIỂU KỸ THUẬT KHAI THÁC TẬP PHỔ BIẾN DỰA VÀO VECTOR

Trang 13

BIT” được tìm hiểu, cài đặt và so sánh với thuật toán Apriori trong khai thác tập phổ biến, hi vọng có được những hiệu quả hơn từ đó có những áp dụng vào thực tiễn

2 Mục tiêu và nhiệm vụ nghiên cứu

- Tìm hiểu các lý thuyết có liên quan trong các bài toán khai thác tập phổ biến

- Tìm hiểu về thuật toán Apriori, CBVAR, ICBVAR

- Xây dựng chương trình của từng thuật toán

- So sánh kết quả các chương trình với nhau

3 Đối tượng và phạm vi nghiên cứu

Đối tượng:

- Các lý thuyết liên quan được sử dụng trong bài toán khai phá tập phổ biến

- Thuật toán Apriori, CBVAR, ICBVAR

Trang 14

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

1.1 Giới thiệu chung về khai phá dữ liệu

1.1.1 Khái niệm

Khai phá dữ liệu (KPDL): Là quá trình tính toán để tìm ra các mẫu trong các bộ

dữ liệu lớn Đây là một lĩnh vực liên ngành của khoa học máy tính Mục tiêu tổng thể của quá trình khai phá dữ liệu là trích xuất thông tin từ một bộ dữ liệu và chuyển nó thành một cấu trúc dễ hiểu để sử dụng tiếp Ngoài bước phân tích thô, nó còn liên quan tới cơ sở dữ liệu và các khía cạnh quản lý dữ liệu, tiền xử lý dữ liệu, mô hình hóa và suy luận thống kê, các thang đo, Khai phá dữ liệu là bước phân tích của quá trình "khám phá kiến thức trong cơ sở dữ liệu" (Knowledge Discovery in Databases - KDD) Khai phá dữ liệu và phát hiện tri thức trong CSDL có thể coi là như nhau Tuy nhiên trên thực

tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình Phát hiện tri thức trong CSDL Có thể nói khai phá dữ liệu là giai đoạn quan trọng nhất trong tiến trình Phát hiện tri thức từ cơ sở dữ liệu, các tri thức này hỗ trợ trong việc ra quyết định trong khoa học, kinh doanh,

Trang 15

Hình 1.1 Mô hình khai phá dữ liệu

1.1.2 Mục đích của khai phá dữ liệu

Từ những năm 60 của thế kỷ XX, các công cụ tin học đã bắt đầu được sử dụng để

tổ chức, lưu trữ và khai phá các bộ CSDL Tiếp đến là sự phát triển vượt bậc của công nghệ điện tử, truyền thông, khả năng thu thập dữ liệu, phương thức lưu trữ và xử lý dữ liệu cải tiến không ngừng được nâng cao, vì đó mà, lượng thông tin được lưu trữ trên các thiết bị như đĩa từ, băng từ, đĩa CD-ROM, ….không ngừng tăng lên Theo thống kê

sơ bộ cho thấy, lượng dữ liệu trên các hệ thống tin học cứ khoảng 20 tháng lại tăng gấp đôi Sự phát triển của các bộ CSDL trong mọi ngành nghề, ở nhiều cấp độ đã gây ra sự bùng nổ thông tin, vì vậy người ta đã đưa ra khái niệm khủng hoảng phân tích dữ liệu tác nghiệp Việc phân tích để trích lọc dữ liệu tác nghiệp nhằm cung cấp thông tin có chất lượng cao cho người cần đưa ra quyết định trong các tổ chức ngày càng gặp nhiều khó khăn Đúng như John Naisbett đã cảnh báo “Chúng ta đang chìm ngập trong dữ liệu

mà vẫn đói tri thức” Khối dữ liệu khổng lồ đúng thực là một nguồn “tài nguyên” rất có giá trị bởi thông tin là yếu tố then chốt trong mọi hoạt động quản lý, kinh doanh, phát triển sản xuất và dịch vụ, … nó giúp cho những nhà điều hành và quản lý có những cái nhìn bao quát về môi trường và quy trình hoạt động của cơ quan, đơn vị mình trước khi

ra quyết định để có thể đạt được các mục tiêu một cách hiệu quả và bền bỉ KPDL khai thác các thông tin tiềm ẩn mang tính dự đoán từ những CSDL lớn, là một hướng tiếp cận mới và có khả năng giúp các đơn vị, tổ chức chú trọng vào những thông tin có nhiều

ý nghĩa từ tập dữ liệu lớn (Databases, Data Warehouses, Data repositories)

1.1.3 Dữ liệu sử dụng trong khai phá dữ liệu

1.1.3.1 Phân loại dữ liệu

Trong KPDL, các thuộc tính được phân thành hai loại dựa vào kiểu dữ liệu của chúng:

Phân loại (Categorical): Các thuộc tính có dữ liệu thuộc kiểu định danh, nhị

Trang 16

Nhị phân

(Binary data)

Là một trường hợp đặc biệt của kiểu dữ liệu định danh, các dữ liệu thuộc kiểu này chỉ mang một trong 2 giá trị

Ví dụ: kiểu Boolean là true hoặc false, giới tính là nam hoặc nữ

Thứ tự

(Ordinary data)

Là tập các phần tử chỉ định một thứ tự được sắp xếp

Ví dụ: xếp loại (kém, trung bình, khá, giỏi)

Số nguyên

(Integer)

Là tập số nguyên, các phần tử kiểu này có thể chịu tác động của các phép toán số học để kết xuất phần tử mới

Liên tục

Khoảng

(Interval data)

Dữ liệu khoảng là một tập giá trị mà các phần

tử cách đều nhau (thường dùng làm các thang đo)

Ví dụ: nhiệt độ được đo theo độ C

Tỉ lệ - khoảng

(ratio - scaled data)

Tương tự kiểu dữ liệu khoảng, điểm khác biệt

là các phần tử thuộc kiểu dữ liệu này có thể so sánh như là bội số của nhau Dữ liệu kiểu tỉ lệ

có thể thực hiện các phép nhân, chia

Trang 17

1.1.4 Các bước của quá trình khai phá dữ liệu

Đầu vào của quá trình là kho dữ liệu thô và kết thúc là các tri thức được chiết xuất

Về mặt cơ bản thì thấy có vẻ rất đơn giản, nhưng thật sự đây là một quá trình rất khó khăn bởi nó phụ thuộc vào rất nhiều yếu tố: thuật toán áp dụng phải phù hợp, thời gian

xử lý, không gian bộ nhớ, cũng như các khó khăn trong việc quản lý các tập dữ liệu KPDL bao gồm các bước như sau:

1 Gom dữ liệu (Gathering): Thu thập dữ liệu là bước đầu tiên trong quá trình khai phá dữ liệu

2 Trích lọc dữ liệu (Selection): Trong giai đoạn này dữ liệu được lựa chọn hoặc phân chia bởi một hay một số tiêu chuẩn nào đó

3 Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleaning, Pre-processing and Preparation): Giai đoan thứ ba này là giai đoạn rất quan trọng trong quá trình khai phá dữ liệu và có ảnh hưởng mang tính chất quyết định đến kết quả của quá trình khai phá

dữ liệu Một số lỗi thường mắc phải trong khi gom dữ liệu là tính không đủ chính xác, thiếu tính toàn vẹn, nhất quán, không chặt chẽ và logíc Vì vậy, dữ liệu thường chứa các giá trị vô nghĩa và không có khả năng kết nối dữ liệu Giai đoạn này sẽ tiến hành tổng hợp những đặc điểm chung của dữ liệu, xử lý những phần tử ngoại lệ, phần tử nhiễu, các đối tượng dữ liệu không chặt chẽ Những dữ liệu này được coi là thông tin dư thừa, không có giá trị và có thể gây nên những kết quả sai lệch

4 Chuyển đổi dữ liệu (Data Transformation): Dữ liệu được chuyển đổi sao cho phù hợp với mục đích của quá trình khai thác đồng thời có thể thực hiện các thao tác như: làm trơn dữ liệu (Smoothing), kết hợp dữ liệu (Aggregation), tổng quát hóa dữ liệu (Generalization), chuẩn hóa dữ liệu (Normalization), xây dựng thuộc tích đặc trưng (Attribute/Feature Construction) Ở giai đoạn này dữ liệu có thể được sử dụng

5 Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery): Bước này mang tính tư duy trong khai phá dữ liệu, điều đó thể hiện bởi có rất nhiều thuật toán khác nhau được sử dụng để trích ra các mẫu từ dữ liệu

6 Đánh giá kết quả mẫu (Evaluation of Result): Đây là giai đoạn cuối trong quá trình khai phá dữ liệu Các mẫu dữ liệu được chiết xuất, tuy nhiên không phải tất cả các mẫu dữ liệu đều hữu ích, đôi khi nó còn bị sai lệch Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức (Knowledge)

Trang 18

Trên đây là 6 giai đoạn trong quá trình KPDL, trong đó giai đoạn 5 là giai đoạn được quan tâm nhiều nhất, đó là bước khai phá dữ liệu

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

Quá trình khai phá dữ liệu không chỉ là một quá trình tuần tự từ bước đầu tiên đến bước cuối cùng mà là một quá trình lặp và có quay trở lại các bước đã qua Hai mục đích chính của khai phá dữ liệu trong thực tế là dự đoán (Prediction) và mô tả (Description), người ta thường dùng các phương pháp sau cho khai phá dữ liệu:

sử dụng mô hình để phân lớp dữ liệu

Bước 1: 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

Mỗi mẫu dữ liệu thuộc về một lớp được xác định bởi một thuộc tính gọi là thuộc tính lớp Các mẫu dữ liệu như vậy còn được gọi là tập dữ liệu huấn luyện Các nhãn lớp của tập dữ liệu dùng để huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát - học có thầy (Supervised Learning)

Bước 2: Sử dụng mô hình để phân lớp dữ liệu Trước hết chúng ta phải tính độ

chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng

để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai

Hay nói cách khác, phân lớp là học một hàm ánh xạ một mục dữ liệu vào một trong

số các lớp cho trước Hình 1.2 cho thấy sự phân lớp của các dữ liệu vay nợ vào trong hai miền lớp Ngân hàng có thể sử dụng các miền phân loại để tự động quyết định liệu những người vay nợ trong tương lai có nên cho vay hay không

Trang 19

Hình 1.2 Phân lớp cho tập dữ liệu cho vay

1.2.1.2 Hồi quy (regression)

Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ, hồi quy là phương pháp dự đoán trên các giá trị liên tục, còn các giá trị rời rạc thì người ta dùng phương pháp phân lớp dữ liệu

Hồi quy là học một hàm ánh xạ một mục dữ liệu vào một biến dự báo giá trị thực Các ứng dụng dựa vào phương pháp hồi quy rất nhiều, ví dụ như dự báo nhu cầu tiêu dùng đối với một sản phẩm mới ra mắt dựa trên hoạt động quảng cáo, xác suất khả năng mắc bệnh của bệnh nhân dựa vào lịch sử bệnh án,

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

Kỹ thuật khai phá dữ liệu mô tả có nhiệm vụ mô tả về các tính chất, các đặc tính chung của dữ liệu trong CSDL hiện có Các kỹ thuật chính bao gồm: phân cụm (Clustering), phân tích luật kết hợp (Association rules)

1.2.2.1 Phân cụm (clustering)

Mục đích của phương pháp này là nhóm các đối tượng tương tự nhau bởi một hay một số thuộc tính đặc trưng vào một cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng với nhau, các đối tượng trong các cụm khác nhau thì khác nhau Phân cụm

dữ liệu là một phương pháp học không giám sát Không giống như phân lớp dữ liệu, phân cụm dữ liệu không bắt buộc phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì vậy, có thể coi phân cụm dữ liệu là một cách học bằng quan sát (Learning by Observation), trong khi phân lớp dữ liệu là học bằng ví dụ (Learning by Example) Trong phương pháp phân cụm, chúng ta sẽ không thể biết trước kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình Vì lẽ đó, thông thường sẽ cần có một chuyên gia về lĩnh vực nghiên cứu để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng

Thu nhËp Nî

Trang 20

nhiều trong các ứng dụng về phân khúc thị trường, phân khúc khách hàng, nhận dạng mẫu, phân loại trang Web,… Ngoài ra phân cụm dữ liệu còn được sử dụng như một

bước tiền xử lý cho các thuật toán khai phá dữ liệu khác

Trong hình 1.3, cho chúng ta thấy sự phân cụm tập dữ liệu cho vay nợ vào trong 3 cụm: chú ý rằng các cụm chồng lên nhau có nghĩa là cho phép các điểm dữ liệu thuộc

về nhiều hơn một cụm

Hình 1.3 Phân cụm tập dữ liệu cho vay nợ vào trong 3 cụm

1.2.2.2 Luật kết hợp (Association rules)

Luật kết hợp chỉ ra mối quan hệ tương quan phổ biến hay mối kết hợp giữa các hạng mục trong tập dữ liệu lớn KPDL dựa vào luật kết hợp được thực hiện qua 2 bước:

Bước 1: Tìm các tập phổ biến, một tập phổ biến được xác định bằng cách tính độ

hỗ trợ và độ hỗ trợ đó phải thỏa mãn độ hỗ trợ cực tiểu

Bước 2: Sinh ra các luật kết hợp từ tập phổ biến vừa thu được, các luật kết hợp

phải thỏa mãn điều kiện lớn hơn hoặc bằng độ hỗ trợ cực tiểu và độ tin cậy cực tiểu Luật kết hợp được ứng dụng rất hiệu quả trong các lĩnh vực kinh tế như marketing,

bán hàng,…

Ví dụ về khai phá luật kết hợp: Trong một hiệu sách lưu lại các phiếu mua sách,

người ta phát hiện ra rằng: Trong số những người mua quyển "Cơ sở dữ liệu" thì có 40%

số người đó mua thêm quyển "Hệ quản trị cơ sở dữ liệu", và 25% mua thêm quyển "Kho

dữ liệu"

Trong ví dụ trên, hai luật kết hợp được tìm thấy:

Thu nhËp

Nî Côm 1

Côm 2 Côm 3

Trang 21

Có 40% số người mua quyển " Cơ sở dữ liệu " thì đồng thời mua quyển "Hệ quản

doanh tốt hơn

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

Kiến trúc điển hình của một hệ thống KPDL được trình bày trong hình 1.4

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

1.4 Các ứng dụng của khai phá dữ liệu và những thách thức gặp phải

1.4.1 Ứng dụng của khai phá dữ liệu trong thực tiễn

Các kỹ thuật KDD có thể được áp dụng vào trong nhiều lĩnh vực:

• Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis and decision support)

Trang 22

• Thông tin kinh tế, thương mại: Phân tích dữ liệu mua hàng, bán hàng, phân tích vốn đầu tư, chấp thuận cho vay, phát hiện gian lận,

• Y học: Phân tích dữ liệu bệnh án từ đó cảnh báo người bệnh khả năng mắc bệnh

Đầu vào chủ yếu của một hệ thống khai thác tri thức là các dữ liệu thô trong CSDL,

đó cũng là nơi sinh ra những khó khăn trong quá trình khai phá dữ liệu bởi dữ liệu thường biến đổi, không đầy đủ, lớn và bị nhiễu Các thách thức liên quan đến CSDL thường gặp là:

Các cơ sở dữ liệu lớn: cơ sở dữ liệu với hàng trăm bảng và thuộc tính, hàng triệu

bản ghi và kích thước lên tới nhiều gigabyte là vấn đề hoàn toàn bình thường và cơ sở

dữ liệu terabyte (1012

bytes) cũng đã bắt đầu xuất hiện

Kích thước lớn: số lượng rất lớn các bản ghi trong cơ sở dữ liệu và số lượng rất

lớn các trường (các thuộc tính, các biến) vì vậy kích thước bài toán trở nên lớn hơn

Dữ liệu động: CSDL thường xuyên thay đổi, dữ liệu cũng có thể thay đổi theo thời gian nên việc khai phá dữ liệu cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu

Các thuộc tính không phù hợp: một đặc điểm quan trọng của dữ liệu là có các

tính không phù hợp, nghĩa là các thành phần của dữ liệu không phù hợp với mục đích

của việc khai thác

Các giá trị, thuộc tính bị thiếu: sự thiếu sót một giá trị, thuộc tính nào đó cũng có

thể ảnh hưởng đến việc khai phá dữ liệu

Mối quan hệ phức tạp giữa các thuộc tính

Trang 23

1.4.2.1 Một số vấn đề khác

“Quá khít khao” (Over-fitting): Khi giải thuật tìm kiếm các tham số tốt nhất cho

một mô hình đặc biệt sử dụng một tập hữu hạn dữ liệu thì nó có thể rơi vào tình trạng

chỉ phù hợp với các dữ liệu đó mà không có khả năng đáp ứng cho các dữ liệu khác

Đánh giá tầm quan trọng thống kê

Sự tương tác với người sử dụng và các tri thức có sẵn.

Trang 24

CHƯƠNG 2 BÀI TOÁN KHAI THÁC TẬP PHỔ BIẾN

2.1 Giới thiệu bài toán khai thác tập phổ biến

Bài toán khai thác tập phổ biến (hay tập thường xuyên) là tìm tất cả các tập mục

dữ liệu có độ hỗ trợ thỏa ngưỡng tối thiểu cho trước, gọi là tập các tập mục dữ liệu thường xuyên hay tập mục dữ liệu phổ biến

Bài toán khai thác tập phổ biến là bài toán tìm tất cả tập các hạng mục (itemset) S

có độ phổ biến (support) thỏa mãn độ phổ biến tối thiểu S0: supp(S) ≥ S 0 Để khai thác tập hợp mục thường xuyên có rất nhiều số lần quét CSDL và bộ các ứng cử viên dự phòng được tạo ra dẫn đến thời gian thực hiện việc này trên bộ dữ liệu lớn là rất nhiều

Trang 25

2.2.1.2 Tập các hạng mục (Itemset)

Tập các hạng mục là tập các hạng mục có trong tập, ví dụ tập các hạng mục của giỏ hàng gồm có A,B,C,D,E

Một giao dịch xác định trên I là tập các hạng mục có trong I

Giao dịch mua hàng ở ví dụ là tập các hạng mục được mua trong một giỏ hàng được lưu kèm với mã giao dịch (TID) ví dụ TID8={A,B,C,E}

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

2.2.3.1 Định nghĩa

Cho I = {x1, x2, …, xn} là tập hợp các mục dữ liệu Mỗi xi I gọi là một mục dữ liệu hay là một thuộc tính Một tập con {xi1, xi2, …, xik}  I được gọi là một giao tác trên I Đặt ti = {xi1, xi2, …, xik}, ti gọi là định danh của giao tác với tập hợp các mục trong giao tác là:{xi1, xi2, …, xik} Một tập hợp gồm m định danh giao tác T = {t1, t2, …,

tm}, với m là số bất kỳ được gọi là một cơ sở dữ liệu giao tác trên I

Mỗi tập con X  I với ‖X‖ = k được gọi là tập k-mục dữ liệu hay k-thuộc tính của

I (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), mỗi tập con S  T gọi là tập định danh giao tác Để thuận tiện trong các ví dụ,

ta viết X = ABC thay cho X = {A, B, C} và S = 123 thay cho S = {t1, t2, t3}, XY thay cho X  Y

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

Có hai cách biểu diễn tập cơ sở dữ liệu giao tác: Biểu diễn ngang và biểu diễn dọc 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 có một định danh giao tác (tid) và một danh sách những mục dữ liệu trong giao tác đó

Trang 26

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

Biểu diễn dọc: Một cơ sở dữ liệu là một danh sách những mục dữ liệu, với mỗi mục

dữ liệu có một danh sách tất cả các định danh của các giao tác chứa mục dữ liệu này

Mục dữ liệu Định danh giao tác

Trang 27

Supp(X) = ∥{t T | X t} ∥

Với cơ sở dữ liệu cho ở bảng 1.1 ta có:

Supp(A) = 7, Supp(B) = 8, Supp(ABC) = 2, Supp(DG) = 0

Một số tác giả định nghĩa độ hỗ trợ theo công thức:

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

Supp(A → B) = Supp(AB) = 5, Supp(AB → C) = Supp(ABC) = 2,

Supp(AB → E) = Supp(ABE) = 3, Supp(BC → E) = Supp(BCE) = 1

2.2.5 Tập mục dữ liệu thường xuyên (Frequent Itemset)

2.2.5.1 Định nghĩa

Cho S0 là một số thực nguyên, ta nói X là tập mục dữ liệu thường xuyên theo ngưỡng S0 (gọi tắt là tập thường xuyên) nếu Supp(X) ≥ S0

Nếu X = {x i} và Supp(X) ≥ S0 ta nói : x i là mục dữ liệu thường xuyên

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

• AB, AC, BC: là các tập thường xuyên theo ngưỡng S0 = 4

• AB: là các tập thường xuyên theo ngưỡng S0 = 5

• A, B, C: là các mục dữ liệu thường xuyên theo ngưỡng S0 = 5

2.2.5.2 Tính chất của tập thường xuyên

Gọi Fre(T, S0, I) là tập tất cả các tập mục dữ liệu thường xuyên theo ngưỡng S0của cơ sở dữ liệu giao tác T trên I Ta có các tính chất Apriori:

• Mọi tập con của tập thường xuyên là một tập thường xuyên

Nghĩa là: X  Fre(T, S0, I) và Y  I thỏa Y  X thì Y  Fre(T, S0, I)

Ngày đăng: 17/02/2021, 09:08

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w