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

khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave

54 4,9K 10

Đ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 2,66 MB

Nội dung

khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

Trang 2

Những năm gần đây, lượng thông tin được lưu trữ trên các thiết bị (như đĩacứng, CDROM, bằng từ ) không ngừng tăng lên Sự tích lũy dữ liệu này xảy ravới một tốc độ bùng nổ Người ta ước đoán rằng lượng thông tin toàn cầu tănggấp đôi sau khoảng 2 năm và cùng với nó số lượng cũng như kích thước của các

cơ sở dữ liệu cũng tăng lên nhanh chóng [20]

Trong nhiều lĩnh vực, nhà quản lý đang ngập trong dữ liệu nhưng lại cảmthấy đói tri thức và thông tin hữu ích Lượng dữ liệu khổng lồ này đang thực sự

là một nguồn tài nguyên rất giá trị bởi thông tin là yếu tố then chốt trong cáchoạt động đặc biệt là thương mại vì nó giúp người điều hành và quản lý có mộtcái nhìn sâu sắc, chính xác, khách quan trước khi đưa ra các quyết định Khaiphá dữ liệu là khai thác những thông tin tiềm ẩn mang tính dự đoán từ những

cơ sở dữ liệu lớn là hướng tiếp cận có nhiều ý nghĩa và mang tính lịch sử Các

kỹ thuật phát hiện tri thức và khai phá dữ liệu được thực hiện qua nhiều giaiđoạn và sử dụng nhiều kỹ thuật : phân lớp (classification),phân cụm (clustering),phân tích sự tương tự (similarity analysis), tổng hợp (summarization), luật kếthợp (association rules),

Từ những vấn đề nêu trên, em lựa chọn đề tài “Khai phá dữ liệu với thuậttoán K-Mean và Naive Bayes trên Weka ” để thực hiện chuyên đề Khai phá

dữ liệu

i

Trang 3

Mở đầu i

1.1 Khai phá dữ liệu 1

1.1.1 Khái niệm 1

1.1.2 Kiến trúc hệ thống khai phá dữ liệu 3

1.2 Hướng tiếp cận và kỹ thuật khai phá dữ liệu 4

1.2.1 Các hướng tiếp cận khai phá dữ liệu 4

1.2.2 Một số kỹ thuật khai phá dữ liệu 5

1.2.2.1 Phân lớp 5

1.2.2.2 Phân cụm 5

1.2.2.3 Luật kết hợp 6

1.2.2.4 Hồi qui 7

1.2.2.5 Tổng hợp 7

1.2.2.6 Mô hình hóa phụ thuộc 7

1.2.2.7 Phát hiện sự thay đổi và độ lệch 7

1.3 Thuật toán và dạng dữ liệu có thể khai phá 8

1.3.1 Các thành phần của thuật toán khai phá dữ liệu 8

1.3.2 Các dạng dữ liệu có thể khai phá 9

1.4 Ứng dụng của khai phá dữ liệu 9

1.5 Những khó khăn trong khai phá dữ liệu 11

1.6 Các công cụ khai phá dữ liệu 11

1.7 Công cụ và dataset thực nghiệm 12

1.7.1 Phần mềm Weka 12

1.7.1.1 Giới thiệu về Weka 12

1.7.1.2 Khuôn dạng dữ liệu của Weka 14

1.7.1.3 Các chức năng của Weka Explorer 14

ii

Trang 4

1.7.2.2 Dataset Supermarket 20

1.7.2.3 Dataset Labor 20

2 Thuật toán phân cụm k-Mean 21 2.1 Bài toán phân cụm và hướng tiếp cận 21

2.1.1 Bài toán phân cụm 21

2.1.2 Yêu cầu đối với phân cụm dữ liệu 22

2.1.3 Một số độ đo dùng trong phân cụm 23

2.1.4 Các hướng tiếp cận phân cụm 24

2.1.5 Các phương pháp phân cụm 24

2.2 Thuật toán K-Mean 25

2.2.1 Thuật toán K-Mean gán cứng 26

2.2.2 Thuật toán K-Mean gán mềm 28

2.2.3 Đánh giá ưu nhược điểm của thuật toán K-Means 28

2.2.4 Một số biến thể của thuât toán K-Mean 29

2.2.4.1 Thuât toán K-Mediod 29

2.2.4.2 Thuât toán k -Tâm 30

2.2.4.3 Thuật toán Fuzzy c-Mean 30

2.2.4.4 Thuât toán COP-kMeans, Seeded-kMeans, Constrained-kMeans 30

2.2.4.5 Thuật toán k-Mean++ 31

2.3 Thực nghiệm khai phá trên Weka 32

2.3.1 Khai phá cơ sở dữ liệu Supermarket 32

2.3.2 Khai phá cơ sở dữ liệu Labor 33

2.3.3 So sánh K-Mean trên các dataset khác nhau 34

3 Thuật toán phân lớp Naive Bayes 35 3.1 Bài toán phân lớp và hướng tiếp cận 35

3.1.1 Bài toán phân lớp 35

3.1.2 Các loại phân lớp 36

3.1.3 Đánh giá độ chính xác của mô hình phân lớp 37

3.1.4 Các phương pháp phân lớp 39

3.2 Thuật toán Na¨ıve Bayes 39

3.2.1 Giới thiệu thuật toán Na¨ıve Bayes 39

3.2.2 Thuật toán Na¨ıve Bayes 39

3.2.3 Đánh giá ưu, nhược điểm của thuật toán Na¨ıve Bayes 40

3.3 Thực nghiệm khai phá trên Weka 41

3.3.1 Khai phá cơ sở dữ liệu Mushroom 41

3.3.2 Khai phá cơ sở dữ liệu Supermarket và Labor 44

iii

Trang 5

Từ viết tắt Dạng đầy đủ Diễn giải

KDD Knowledge Discovery in Database Khai phá tri thức trong CSDL

iv

Trang 6

1.1 Quá trình khai phá dữ liệu 3

1.2 Kiến trúc hệ thống khai phá dữ liệu 3

1.3 Ứng dụng của Khai phá dữ liệu 10

1.4 Giao diện phần mềm Weka 12

1.5 Môi trường Explore của Weka 13

1.6 Khuôn dạng dữ liệu của Weka 14

1.7 Dataset mushroom có 23 thuộc tính và 8124 mẫu 18

1.8 Dataset Super Market có 217 thuộc tính và 4627 mẫu 20

1.9 Dataset Labor có 17 thuộc tính và 57 mẫu 20

2.1 Sơ đồ các bước thực hiện thuật toán K-Mean 26

2.2 Ví dụ thực hiện thuật toán K-Mean với n = 10, k = 2 27

2.3 Ví dụ thực hiện thuật toán K-Mediod với n = 10, k = 2 29

2.4 Tham số của thuật toán k-Mean với cơ sở dữ liệu Supermarket 32

2.5 Mở cơ sở dữ liệu Labor với Weka 33

2.6 Kết quả khai phá cơ sở dữ liệu Labor sử dụng K-Mean trên Weka 34 2.7 Hiện thị phân bố các cụm dưới dạng đồ họa 34

3.1 Ví dụ về quá trình phân lớp 36

v

Trang 7

1.1 Các Dataset thực nghiệm 18

1.2 Các thuộc tính của dataset mushroom.arff 19

1.3 Mô tả ý nghĩa các giá trị dữ liệu 19

2.1 Ví dụ về phân cụm dữ liệu 23

2.2 So sánh hiệu quả thực thi k-Mean trong các mode khác nhau 32

2.3 So sánh k-Mean và các thuật toán khác trên dataset supermarket với mô hình Percentage Split (66%) 33

2.4 Kết quả thực nghiệm k-Mean trên các dataset khác nhau trong chế độ Full training data 34

3.1 Ma trận nhầm lẫn 38

3.2 Phân lớp đa lớp 38

3.3 Thống kê tỷ lệ phân lớp dữ liệu Mushroom với số fold thay đổi 42

3.4 Thống kê tỷ lệ phân lớp dữ liệu Mushroom với số % Split thay đổi 42 3.5 So sánh hiệu quả các thuật toán phân lớp trên dữ liệu Supermarket với mô hình Full training set và chế độ Cross-validation 44

3.6 So sánh hiệu quả các thuật toán phân lớp trên dữ liệu Labor với mô hình Full training set và chế độ Cross-validation, số Fold=10 44

vi

Trang 8

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

- Data Mining is the search for relationships and global patterns that exist inlarge databases but are ’hidden’ among the vast amount of data, such as arelationship between patient data and their medicaldiagnosis These relation-ships represent valuable knowledge about the database and the objects in thedatabase and, if the database is a faithful mirror, of the real world registered

by the database-M Holshemier và A Siebes

- Tiến sĩ U.M Fayyad với cách tiếp cận ứng dụng đã phát biểu : “Khai phá dữliệu, thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, làmột quá trình trích xuất những thông tin ẩn, trước đây chưa biết và có khảnăng hữu ích, dưới dạng các qui luật, ràng buộc, qui tắc trong cơ sở dữ liệu”

- Giáo sư T Mitchell định nghĩa trong [18] như sau : “Khai phá dữ liệu là việc

sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyếtđịnh trong tương lai ”

Như vậy có thể hiểu Khai phá dữ liệu là tiến trình khám phá tri thức tiềm ẩntrong các cơ sở dữ liệu Cụ thể hơn, đó là tiến trình trích lọc, sản sinh những trithức hoặc các mẫu tiềm ẩn, chưa biết nhưng hữu ích từ cơ sở dữ liệu lớn Tóm lại,

1

Trang 9

Khai phá dữ liệu là một quá trình học tri thức mới từ những dữ liệu đã thu thậpđược [9, 12, 19].

Khai phá dữ liệu là tiến trình khái quát các sự kiện rời rạc trong dữ liệuthành các tri thức mang tính khái quát, tính quy luật hỗ trợ tích cực cho các tiếntrình ra quyết định Khai phá dữ liệu là việc trích rút tri thức một cách tự động

và hiệu quả từ một khối dữ liệu rất lớn Tri thức đó thường ở dạng các mẫu tin

có tính chất không tầm thường, không tường minh (ẩn-unsuspected), chưa đượcbiết đến và có tiềm năng mang lại lợi ích Để hình dung vấn đề này ta có thể

sử dụng một ví dụ đơn giản như sau : Khai phá dữ liệu được ví như tìm mộtcây kim trong đống cỏ khô Khi đó, cây kim là một mảnh nhỏ tri thức hoặc mộtthông tin có giá trị và đống cỏ khô là một kho cơ sở dữ liệu rộng lớn Như vậy,những thông tin có giá trị tiềm ẩn trong kho cơ sở dữ liệu sẽ được chiết xuất ra

và sử dụng một cách hữu ích nhờ khai phá dữ liệu Chức năng khai phá dữ liệugồm có gộp nhóm phân loại, dự báo, dự đoán và phân tích các liên kết Sau đó,Fayyad, Smyth và Piatestsky-Shapiro đã dùng khái niệm Phát hiện tri thức từ

cơ sở dữ liệu(Knowledge Discovery in Database-KDD ) [5] : Knowledge discovery

in databases, also known Data mining, is the nontrivial process of identifying valid,novel, potentially useful, and ultimately understandable patterns in data Trong đó,khai phá dữ liệu là một giai đoạn rất đặc biệt trong toàn bộ quá trình, nó sử dụngcác kỹ thuật để tìm ra các mẫu từ dữ liệu và là cốt lõi của quá trình phát hiện trithức Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuậtngữ khác có ý nghĩa tương tự như : khai phá tri thức từ cơ sở dữ liệu (Knowlegdemining from databases), trích lọc dữ liệu (Knowlegde extraction), phân tích dữliệu/mẫu (Data/pattern analysis), khảo cổ dữ liệu (Data archaeology), nạo vét dữliệu (Data dredging)

Các thuật toán khai phá dữ liệu thường được mô tả như những chương trìnhhoạt động trực tiếp trên tệp dữ liệu Với các phương pháp học máy và thống kêtrước đây, bước đầu tiên là thuật toán thường nạp toàn bộ file dữ liệu vào trong

bộ nhớ Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai phácác kho dữ liệu lớn, mô hình này không thể đáp ứng được Không chỉ bởi nó khôngthể nạp hết dữ liệu vào trong bộ nhớ mà còn khó có thể chiết xuất dữ liệu ra cáctệp đơn giản để phân tích Quá trình khai phá dữ liệu sẽ tiến hành qua các giaiđoạn như Hình1.1

Bắt đầu bằng việc xác định chính xác vấn đề cần giải quyết Sau đó sẽ xácđịnh dữ liệu liên quan dùng để xây dựng giải pháp Tiếp theo là thu thập dữ liệu

có liên quan và xử lý chúng thành dạng sao cho thuật toán khai phá dữ liệu cóthể hiểu được

- Bước 1 : Lọc dữ liệu được thực hiện trong quá trình tiền xử lý Công việcđầu tiên là tích hợp và chỉnh sửa dữ liệu Khi dữ liệu được thu thập từ nhiềunguồn khác nhau nên có thể có những sự sai sót, dư thừa và trùng lặp Lọc

Trang 10

Hình 1.1 – Quá trình khai phá dữ liệu

dữ liệu là cắt bỏ những dư thừa để dữ liệu được định dạng thống nhất Dữliệu sau khi lọc và chỉnh sửa sẽ nhỏ hơn, xử lý nhanh chóng hơn

- Bước 2 : Khai phá dữ liệu, là công việc chính, sử dụng các thuật toán khácnhau để khai phá các kiến thức tiềm ẩn trong dữ liệu

- Bước 3 : Sau xử lý, là quá trình ước lượng kết quả khai phá theo yêu cầucủa người dùng Nhiều kỹ thuật khai phá dữ liệu được ứng dụng cho mộtnguồn dữ liệu, các kỹ thuật cho các kết quả có thể khác nhau Các kết quảđược ước lượng bởi những quy tắc nào đó, nếu cuối cùng kết quả không thỏamãn yêu cầu, chúng ta phải làm lại với kỹ thuật khác cho đến khi có kết quảmong muốn

Kiến trúc của một hệ thống khai phá dữ liệu được thể hiện trong Hình 1.2.trong đó :

Hình 1.2 – Kiến trúc hệ thống khai phá dữ liệu

- Máy chủ cơ sở dữ liệu hay máy chủ kho dữ liệu (Database or warehouseserver ) : Máy chủ này có trách nhiệm lấy dữ liệu thích hợp dựa trên nhữngyêu cầu khai phá của người dùng

Trang 11

- Cơ sở tri thức (Knowledge base) : Đây là miền tri thức được dùng để tìmkiếm hay đánh giá độ quan trọng của các hình mẫu kết quả.

- Máy khai phá dữ liệu (Data mining engine) : Một hệ thống khai phá dữ liệucần phải có một tập các modun chức năng để thực hiện công việc, chẳng hạnnhư : đặc trưng hóa, kết hợp, phân lớ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ácmođun khai phá dữ liệu để tập trung vào việc duyệt tìm các mẫu đáng đượcquan tâm Cũng có thể modun đánh giá mẫu được tích hợp vào modun khaiphá tuỳ theo sự cài đặt của phương pháp khai phá được dùng

- Giao diện đồ họa cho người dùng (Graphical user interface) : Thông quagiao diện này, người dùng tương tác với hệt hống bằng cách đặc tả một yêucầu khai phá hay một nhiệm vụ, cung cấp thông tin trợ giúp cho việc tìmkiếm và thực hiện khai phá thăm dò trên các kết quả khai phá trung gian

Các hướng tiếp cận của Khai phá dữ liệu có thể được phân chia theo chứcnăng hay lớp các bài toán khác nhau [8] Sau đây là một số hướng tiếp cận chính :

- Phân lớp và dự đoán (Classification and Prediction) : xếp một đối tượngvào trong những lớp đã biết Hướng tiếp cận này thường sử dụng một số

kỹ thuật của học máy (Machine learning) như cây quyết định (Decisiontree), mạng neuron nhân tạo, Phân lớp còn được gọi là học có giám sát(Supervised learning)

- Luật kết hợp (Association rules) là dạng luật biểu diễn tri thức ở dạngkhá đơn giản được sử dụng nhiều trong lĩnh vực kinh doanh, y học, tin sinhhọc, tài chính và thị trường chứng khoán

- Khái phá chuỗi theo thời gian (sequential/temporal patterns) tương tựnhư khai phá theo luật kết hợp nhưng có thêm tính thứ tự và tính thời gian.Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thịtrường chứng khoán vì có tính dự báo cao

- Phân cụm (Clustering/segmentation) : Sắp xếp các đối tượng theo từngcụm (số lượng cũng như tên của cụm chưa biết trước) Phân cụm còn đượcgọi là học không giám sát (Unsupervised learning)

- Mô tả khái niệm (Concept description & summarization) : thiên vê mô

tả, tổng hợp và tóm tắt khai niệm như tóm tắt văn bản

Trang 12

1.2.2 Một số kỹ thuật khai phá dữ liệu

Các kỹ thuật khai phá dữ liệu thường được chia thành 2 nhóm chính [8] :

- Kỹ thuật khai phá dữ liệu mô tả : có nhiệm vụ mô tả về các tính chất hoặccác đặc tính chung của dữ liệu trong cơ sở dữ liệu hiện có bao gồm : phâncụm (clustering), tóm tắt (summarization), trực quan hóa (visualization),phân tích sự phát triển và độ lệch (Evolution and deviation analysis), pháthiện luật kết hợp (association rules),

- Kỹ thuật khai phá dữ liệu dự đoán : có nhiệm vụ đưa ra các dự đoán dựavào các suy diễn trên dữ liệu hiện thời bao gồm : phân lớp (classification),hồi quy (regression),

1.2.2.1 Phân lớp

Phân lớp dữ liệu (Classification) [8] là chia các đối tượng dữ liệu thành cáclớp dựa trên các đặc trưng của tập dữ liệu Với một tập các dữ liệu huấn luyệncho trước và sự huấn luyện của con người, các giải thuật phân loại sẽ học ra bộphân loại (classifier ) dùng để phân các dữ liệu mới vào một trong những lớp (còngọi là loại) đã được xác định trước Phương pháp này rất có ích trong giai đoạnđầu của quá trình nghiên cứu khi ta biết rất ít về đối tượng cần nghiên cứu, nó làtiền đề để tiến hành các phương pháp phát hiện tri thức Có nhiều phương phápphân lớp : phân lớp dựa trên cây quyết định, phân lớp Bayesian, Quá trìnhphân lớp dữ liệu thường gồm hai bước :

- 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 có sẵn.Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi làthuộc tính phân lớp Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấnluyện (training dataset ) Nhãn lớp của tập dữ liệu huấn luyện phải được xácđịnh trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi làhọc có giám sát (supervised learning)

- Bước 2 : Sử dụng mô hình để phân lớp dữ liệu Chúng ta phải tính độ chínhxác của mô hình, nếu độ chính xác là chấp nhận được thì mô hình sẽ được

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

1.2.2.2 Phân cụm

Phân cụm (Clustering) [16] là việc nhóm các đối tượng dữ liệu thành các lớpđối tượng có sự tương tự nhau dựa trên các thuộc tính của chúng Mỗi lớp đốitượng được gọi là một cụm (cluster ) Một cụm bao gồm các đối tượng mà giữabản thân chúng có sựràng buộc lẫn nhau và khác biệt so với các lớp đối tượngkhác Phân cụm dữ liệu là một ví dụcủa phương pháp học không có giám sát

Trang 13

(unsupervised learning) Phân cụm dữ liệu không đòi hỏi phải định nghĩa trướccác mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách họcbằng quan sát (learning by observation), trong khi phân lớp dữ liệu là học qua ví

dụ (learning by example) Trong phương pháp này ta không thể biết kết quả cáccụm thu được sẽ như thế nào khi bắt đầu quá trình Các cụm có thể tách riêng hayphân cấp hoặc gối lên nhau, có nghĩa là một mục dữ liệu có thể vừa thuộc cụmnày vừa thuộc cụm kia Vì vậy, thông thường cần có một chuyên gia về lĩnh vực

đó để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng nhiều trong cácứng dụng về phân loại thị trường, phân loại khách hàng, nhận dạng mẫu, phânloại trang Web, Ngoài ra, phân cụm 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

1.2.2.3 Luật kết hợp

Phương pháp phát hiện các luật kết hợp (Association Rules) nhằm phát hiện

ra các luật kết hợp giữa các thành phần dữ liệu trong cơ sở dữ liệu [1] Các giảithuật Tìm luật liên kết 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ị Đầu

ra của thuật toán là tập luật kết hợp tìm được Cho trước một tập các giao tác,trong đó mỗi giao tác là một tập các mục, tìm sự tương quan giữa các mục như làmột luật và kết quả của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được.Luật kết hợp thường có dạng X ⇒ Y Trong đó : X là tiền đề, Y là hệ quả (X , Y

là hai tập của mục) Ý nghĩa trực quan của luật là các giao tác của cơ sở dữ liệu

mà trong đó nội dung X có khuynh hướng đến nội dung Y Có hai thông số quantrọng của luật kết hợp là độ hỗ trợ (support ) và độ tin cậy (confidence) Độ hỗtrợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật Chúng tương ứngphản ánh sựhữu ích và sựchắc chắn của luật đã khám phá Khai phá các luật kếthợp từ cơ sở dữ liệu là việc tìm các luật có độ hỗ trợ và độ tin cậy lớn hơn ngưỡng

mà người dùng xác định trước

Luật kết hợp mang lại những thông tin vô cùng quan trọng, nó hỗ trợ khôngnhỏ trong quá trình ra quyết định Phương pháp này được sử dụng rất nhiềutrong các lĩnh vực như : marketing có chủ đích, phân tích quyết định, phân tíchthịtrường, quản lý kinh doanh, Khai phá luật kết hợp được thực hiện qua haibước :

- Bước 1 : Tìm tất cảcác tập mục phổ biến, một tập mục phổ biến được xácđịnh thông qua việc tính độ hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu

- Bước 2 : Sinh ra các luật kết hợp mạnh từtập mục phổ biến, các luật nàyphải thỏa mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu

Trang 14

1.2.2.4 Hồi qui

Hồi qui (Regression) là việc học một hàm ánh xạ từ một tập dữ liệu thànhmột biến dự đoán có giá trị thực Nhiệm vụ hồi qui tương tự như phân lớp, điểmkhác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ không rời rạc [14].Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điểmchẳng hạn như hồi qui tuyến tính Ứng dụng của hồi quy là rất nhiều, ví dụ : dựđoán số lượng sinh vật phát quang hiện thời trong khi rừng bằng cách dò tìm visóng bằng thiết bị cảm biến từ xa ; dự đoán khả năng tử vong của bệnh nhân khibiết các kết quả xét nghiệm chuẩn đoán ; dự đoán nhu cầu tiêu thụ một sản phẩmmới bằng một hàm chi tiêu quảng cáo

1.2.2.5 Tổng hợp

Tổng hợp (summarization) : Là công việc liên quan đến các phương pháp tìmkiếm một mô tả cô đọng cho tập con dữ liệu Các kỹ thuật tổng hợp thường được

áp dụng trong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động [6]

1.2.2.6 Mô hình hóa phụ thuộc

Mô hình hóa phụ thuộc (dependency modeling) : Là việc tìm kiếm mô hình

mô tả các phụ thuộc quan trọng giữa các biến tồn tại ở hai mức :

1 Mức cấu trúc của mô hình (thường dưới dạng đồ thị) xác định các biến phụthuộc cục bộ vào các biến khác ;

2 Mức định lượng của mô hình xác định mức độ phụ thuộc của các biến [14].Những phụ thuộc này thường được biểu thị dưới dạng luật Quan hệ phụ thuộccũng có thể biểu diễn dưới dạng mạng tin cậy [6] Đó là đồ thị có hướng không

có dạng chu trình, các nút biểu diễn thuộc tính và trọng số chỉ liên kết phụ thuộcgiữa các nút đó

1.2.2.7 Phát hiện sự thay đổi và độ lệch

Phát hiện sự thay đổi và độ lệch (change and deviation dectection) : Nhiệm

vụ này tập trung vào khám phá những thay đổi có ý nghĩa trong dữ liệu dựa vàocác giá trị chuẩn hay độ đo đã biết trước, phát hiện độ lệch đáng kể giữa nội dungcủa tập con dữ liệu và nội dung mong đợi Hai mô hình độ lệch thường dùng làlệch theo thời gian và lệch theo nhóm Độ lệch theo thời gian là sự thay đổi cónghĩa của dữ liệu theo thời gian Độ lệch theo nhóm là sự khác nhau giữa dữ liệutrong hai tập con dữ liệu, tính cả trường hợp tập con của đối tượng này thuộc

Trang 15

tập con kia, nghĩa là xác định dữ liệu trong một nhóm con của đối tượng có khácnhau đáng kể so với toàn bộ đối tượng [6, 14]

Ba thành phần chủ yếu trong một thuật toán khai phá dữ liệu là biểu diễn

mô hình, đánh giá mô hình và phương pháp tìm kiếm [8]

- Biểu diễn mô hình : là việc xây dựng ngôn ngữ L để miêu tả các mẫu có thểphát hiện được Nếu sự mô tả này bị giới hạn quá thì sẽ không xây dựngđược mô hình chính xác cho dữ liệu, vì thế người phân tích dữ liệu phải hiểuđầy đủ các khả năng tiêu biểu của phương pháp được dùng Ngoài ra ngườithiết kế thuật toán cũng cần chỉ rõ giả thiết mô tả nào được tạo bởi thuậttoán nào Mô hình có khả năng miêu tả quá mạnh sẽ làm tăng nguy cơ dữliệu huấn luyện quá phù hợp, dẫn đến việc giảm độ chính xác dự đoán các

dữ liệu chưa biết, thêm vào đó nó còn làm cho việc tìm kiếm trở nên phứctạp và việc giải thích mô hình khó hơn

- Đánh giá mô hình : là xem xét một mẫu có đáp ứng được các tiêu chuẩncủa quá trình phát hiện tri thức hay không Việc đánh giá độ chính xác dựđoán dựa trên đánh giá chéo, đánh giá chất lượng mô tả liên quan đến độchính xác dự đoán, tính mới mẻ, tính hữu ích và dễ hiểu của mô hình Cảhai tiêu chuẩn thống kê và logic có thể được dùng để đánh giá mô hình

- Phương pháp tìm kiếm : bao gồm hai thành phần là tìm kiếm tham số vàtìm kiếm mô hình Thuật toán phải tìm ra các tham số để tối ưu hoá cáctiêu chuẩn đánh giá mô hình với các dữ liệu quan sát được và một cách miêu

tả mô hình đã định Trong tìm kiếm mô hình, miêu tả mô hình được thayđổi để xét một họ các mô hình mới Với mỗi cách biểu diễn mô hình, phươngpháp tìm kiếm tham số được áp dụng để để đánh giá chất lượng mô hình.Các phương pháp tìm kiếm mô hình thường sử dụng các kỹ thuật tìm kiếmphỏng đoán do kích thước lớn của không gian các mô hình thường cản trởviệc tìm kiếm toàn diện

Hiện nay,người ta chưa đưa ra được một tiêu chuẩn nào trong việc quyết định

sử dụng phương pháp nào vào trong trường hợp nào thì có hiệu quả, có nhiều kỹthuật và mỗi kỹ thuật được sửdụng cho nhiều bài toán khác nhau Các thuật toánkhai phá dữ liệu tự động chỉ đang ở giai đoạn phát triển ban đầu, các kỹ thuậtkhai phá dữ liệu còn mới với lĩnh vực kinh doanh Rõ ràng là để trả lời câu hỏi

“khai phá dữ liệu dùng kỹ thuật nào là tốt ? ” thật không đơn giản vì mỗi phươngpháp thì có điểm mạnh và điểm yếu riêng, thậm chí chúng ta còn phải kết hợpcác phương pháp trong quá trình khai phá

Trang 16

MS Access

- Cơ sở dữ liệu đa chiều (Multidimensional structures, data warehouses, datamart ) : là các kho dữ liệu được tập hợp, chọn lọc từ nhiều nguồn dữ liệukhác nhau Dạng dữ liệu này có tính lịch sử do có thuộc tính thời gian vàchủ yếu là phục vụ cho quá trình phân tích cũng như khai thác tri thức hỗtrợ quá trình ra quyết định

- Cơ sở dữ liệu dạng giao dịch (Transactional databases) là một dạng cơ sở dữliệu tác nghiệp với các bản ghi thường là các giao dịch phổ biến trong lĩnhvực thương mai và ngân hàng

- Cơ sở dữ liệu quan hệ-hướng đối tượng (Object-relational databases) : là dạng

cơ sở dữ liệu lai giữa 2 mô hình quan hệ và hướng đối tượng

- Dữ liệu không gian và thời gian (Spatial, temporal, and time-series data) : làdạng dữ liệu có tích hợp thuộc tính về không gian như dữ liệu bản đồ hoặcthời gian như dữ liệu về thị trường chứng khoán

- Cơ sở dữ liệu đa phương tiện (Multimedia databases) : là các dữ liệu âmthanh, hình ảnh, phim ảnh, Text và WWW, Đây là dạng dữ liệu rất phổbiến trên mạng Internet

Khai phá dữ liệu được vận dụng trong nhiều lĩnh vực khác nhau nhằm khaithác nguồn dữ liệu phong phú được lưu trữ trong các hệ thống thông tin Các lĩnhvực ứng dụng tiêu biểu là :

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

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

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

& Web mining)

- Tin sinh học (Bio-informatics) : Tìm kiếm, đối sánh các hệ gen và thông tin

di truyền, mối liên hệ giữa một số hệ gen và một số bệnh di truyền

- Nhận dạng

Trang 17

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

- Bảo hiểm (Insurance), Giáo dục (Education)

Tùy theo bản chất của từng lĩnh vực, việc vận dụng khai phá dữ liệu có nhữngcách tiếp cận khác nhau như Hình 1.3

Hình 1.3 – Ứng dụng của Khai phá dữ liệu

- Marketing : Phân tích nhu cầu khách hàng dựa trên mẫu dữ liệu mua bánhàng từ đó xác định chiến lược kinh doanh, quảng cáo, kế hoạch sản xuất, .Khai phá dữ liệu cũng được vận dụng hiệu quả để giải quyết các bài toánphức tạp trong các ngành đòi hỏi kỹ thuật cao như : tìm kiếm mỏ dầu từ ảnh viễnthám, cảnh báo hỏng hóc trong các hệ thống sản xuất, Các kỹ thuật Khai phá

dữ liệu đã được áp dụng thành công trong việc dự đoán tải sử dụng điện năng chocác công ty cung cấp điện, lưu lượng viễn thông cho các công ty điện thoại, mức

độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trịcủa sản phẩm trên thịtrườngcho các công ty tài chính, Ngoài ra, Khai phá dữ liệu còn được áp dụng chocác vấn đề xã hội như phân tích các kết quả phòng chống và điều trị một số loạibệnh, phân tích tác hại của ma tuý, phát hiện tội phạm hay tăng cường an ninh

xã hội, Việc vận dụng thành công đã mang lại những hiệu quả thiết thực cho cáchoạt động diễn ra hàng ngày trong đời sống

Trang 18

1.5 Những khó khăn trong khai phá dữ liệu

Việc nghiên cứu và ứng dụng các kỹ thuật khai phá dữ liệu vào thực tế còngặp nhiều khó khăn như :

- Cơ sở dữ liệu lớn : Các tập dữ liệu cần xử lý trong khai phá dữ liệu thường

có kích thước cực kỳ lớn về cả số lượng các bản ghi và số lượng các thuộctính Trong thực tế, kích thước của các tập dữ liệu trong khai phá dữ liệuthường ở mức Tera-byte Với kích thước như thế, thời gian xử lý thường cực

kỳ dài Mặc dù kích thước bộ nhớ trong của máy tính đã gia tăng đáng kểtrong thời gian gần đây, việc gia tăng này cũng không thể đáp ứng kịp vớiviệc tăng kích thước dữ liệu Vì vậy, việc vận dụng các kỹ thuật xác suất,lấy mẫu, đệm, song song, vào các giải thuật để tạo ra các phiên bản phùhợp với yêu cầu của khai phá dữ liệu trở nên ngày càng quan trọng

- Dữ liệu thiếu và nhiễu : Mức độ nhiễu cao trong dữ liệu điều này dẫn đếnviệc dựđoán thiếu chính xác

- Vấn đề“quá phù hợp” (Overfitting) : Khi thuật toán khai phá tìm kiếm vớicác tham số tốt nhất cho một mô hình đặc biệt và một giới hạn của tập dữliệu Mô hình đó có thể “Quá phù hợp” trên tập dữ liệu đó nhưng lại thihành không chính xác trên tập dữ liệu kiểm tra

- Sự thay đổi của dữ liệu và tri thức : Dữ liệu là không tĩnh, dữ liệu thay đổinhanh chóng có thể dẫn đến những tri thức đã khai phá trước đây trởnênkhông còn phù hợp thậm chí là vô giá trị

- Đánh giá các mẫu dữ liệu tìm được : Nhiều mẫu phát hiện không thực sựhữu ích với người sửd ụng và thách thức với các hệ khai phá dữ liệu

- Làm việc với các dữ liệu quan hệ phức tạp : Do các hệ cơ sở dữ liệu quan hệđược sử dụng rộng rãi nên vấn đề làm tốt với các hệ cơ sở dữ liệu này là vấn

đề cần quan tâm đối với các hệ khai phá dữ liệu

- Khai phá thông tin trong các hệ cơ sở dữ liệu hỗn hợp và hệ thống thông tintoàn cầu : Với sự ra đời của mạng máy tính, dữ liệu có thể được thu thập từnhiều nguồn khác nhau với định dạng khác nhau với số lượng rất lớn Việcphát hiện tri thức từ các dạng dữ liệu hỗn hợp này là một thách thức đốivới khai phá dữ liệu

- Khả năng biểu đạt của mẫu và sự tương tác với người sử dụng và các trithức sẵn có

Các phần mềm hỗ trợ khai phá dữ liệu được phát triển nhiều Trong mục nàytôi sẽ giới thiệu một số phần mềm mã nguồn mở thông dụng và đang được sửdụng được đánh giá là hiệu quả đối với từng nhóm ứng dụng cụ thể :

Trang 19

- Phần mềm IDE R : gồm ngôn ngữ R, các môi trường đồ họa cho ngôn ngữ

R : Tinn-R, Rattle

- Phần mềm khai phá dữ liệu : Weka, RapidMiner khai phá dữ liệu vàText KNIME hỗ trợ đồng thời tích hợp, xử lý, phân tích dữ liệu Orange,TANAGRA

- Phần mềm Clustering : Cluto hỗ trợ phân lớp các dữ liệu nhiều chiều.Fastcluster phân lớp nhanh trên ngôn ngữ R và Python

- Phần mềm khai phá Luật kết hợp : Arules, ARMiner

- Phần mềm trích chọn thông tin

+ Mallet,Sarawagi’s CRF Linear-chain CRFs (Java) - 2003

+ FlexCRFs sử dụng mô hình Markov (C++) - 2004

+ CRF++ Linear-chain CRFs (C++) - 2005

+ CRFSuite (C)

- Phân mềm khai phá chuỗi thời gian : Traminer

- Phân tích mạng xã hội (Social Network Analysis) : Pajek, GibbsLDA++

- Phân tích số liệu không gian (Spatial Data Analysis) : GeoDa, Clavin

1.7.1.1 Giới thiệu về Weka

Hình 1.4 – Giao diện phần mềm Weka

Weka là tập hợp các mã nguồn mở về các thuật toán khai phá dữ liệu và máyhọc, được viết tại trường đại học Waikato, New Zealand, được phát triển trênnền tản ngôn ngữ java (http ://www.cs.waikato.ac.nz/ml/weka/ ) [25] Phần mềmWeka 3.7.10 bao gồm : 49 công cụ tiền xử lý dữ liệu, 76 thuật toán phân lớp và

Trang 20

hồi quy, 8 thuật toán gom cụm, 3 thuật toán luật kết hợp, 15 thuật toán xác địnhthuộc tính, tập con và 10 thuật toán tìm kiếm để lựa chọn đặc tính Môi trườnglàm việc của Weka được thể hiện trong Hình 1.4 bao gồm :

- Simple CLI : Giao diện đơn giản kiểu dòng lệnh (như MS-DOS)

- Explorer : Môi trường cho phép sử dụng tất cảcác khả năng của WEKA đểkhai phá dữ liệu

- Experimenter : cho phép tiến hành các thí nghiệm và thực hiện các kiểm trathống kê (statistical tests) giữa các mô hình học máy

- KnowledgeFlow : Môi trường cho phép bạn tương tác đồ họa kiểu kéo/thả

để thiết kế các bước (các thành phần) của một thí nghiệm

Môi trường Explore của Weka bao gồm các thao tác :

Hình 1.5 – Môi trường Explore của Weka

Trong đó :

- Preprocess : Để chọn và thay đổi (xử lý) dữ liệu làm việc

- Classify : Để huấn luyện và kiểm tra các mô hình học máy (phân loại, hoặchồi quy/dự đoán)

- Cluster : Để học các nhóm từ dữ liệu (phân cụm)

- Associate : Để khai phá các luật kết hợp từ dữ liệu

- Select attributes : Để xác định và lựa chọn các thuộc tính liên quan (quantrọng) nhất của dữ liệu

- Visualize : Để hiển thị biểu đồ tương tác 2 chiều đối với dữ liệu

Trang 21

1.7.1.2 Khuôn dạng dữ liệu của Weka

DataSet là một tập hợp bao gồm các mục dữ liệu, là một khái niệm rất cơ bảncủa máy học Một dataset tương đương với một bảng tính hai chiều hay một bảng

cơ sở dữ liệu Trong Weka, nó được hiện thực bởi lớp weka.core.Instances Mộtdataset là một tập hợp các ví dụ mà mỗi phần tử là một lớp weka.core.Instances.Mội thể hiện bao gồm một số thuộc tính, bất kỳ những gì có nghĩa (một danhsách các giá trị được định nghĩa trước), số (số nguyên hay số thực) hay chuỗi (mộtdãy các ký tự được đặt trong cặp dấu ngoặc kép) Có các kiểu dữ liệu thêm vàonhư là ngày tháng năm, mối quan hệ

Hình 1.6 – Khuôn dạng dữ liệu của Weka

Thể hiện của một lớp Instances là một tập tin ARFF, mỗi tập tin bao gồmmột header, mô tả kiểu thuộc tính và dữ liệu được phân cách nhau bởi dấu phẩy.một sự mô tả đầy đủ của tập tin ARFF như Hình 1.6

1.7.1.3 Các chức năng của Weka Explorer

Các bộ tiền xử lý(Preprocess) : Dữ liệu có thể được nhập vào (imported )

từ một tập tin có khuôn dạng : ARFF,CSV, một địa chỉ URL, hoặc từ một cơ sở

dữ liệu thông qua JDBC Các công cụ tiền xử lý dữ liệu của WEKA được gọi làfilters gồm : Rời rạc hóa (Discretization), Chuẩn hóa (Normalization), Lấy mẫu(Re-sampling), Lựa chọn thuộc tính (Attribute selection) Bản chất gói weka.filtersđược đề cập tới như những lớp dùng để thay đổi các tập dữ liệu bằng cách gỡ bỏhay thêm vào những thuộc tính, lấy mẫu dữ liệu lại, xóa bỏ những mẫu dữ liệu vàhơn thế nữa Những gói này rất hữu ích trong việc xử lý dữ liệu, là một bướcquan trọng trong máy học Tất cả các filter đều có những lựa chọn : −i để chọn dữliệu đầu vào, và −o để xuất dữ liệu Nếu không có những tham số này, chế độ nhập

và xuất chuẩn được vận dụng Những tham số khác đại diện cho một filter và cóthể được tìm thấy thông qua −h, như bất cứ lớp nào Gói weka.filters.supervised

là các bộ lọc đóng vai trò giám sát, tạo ra những thông tin có lợi cho class Mộtlớp phải được sử dụng thông qua tham số −c, WEKA mặc định là tham số −c

Trang 22

ở cuối Gói weka.filters.supervised.attribute : Một số thuộc tính được sử dụng dựatrên những thông tin của class, thông qua phương thức MD (Fayyad & Iranis),hoặc phương thức MDL (Kononeko) Tối thiểu sẽ có một vài mẫu máy học hoặcphân lớp chỉ có thể xử lý một ít dữ liệu, ví dụ weka.classifiers.rules.Prism ; Ngoài

ra, còn các gói khác như :weka.flters.supervised.instance, weka.flters.unsupervised,weka.flters.unsupervised.attribute, weka.flters.unsupervised.instance

Các bộ phân lớp (Classifiers) của WEKA tương ứng với các mô hình dựđoán các đại lượng kiểu định danh (phân lớp) hoặc các đại lượng kiểu số (hồiquy, dự đoán) Các kỹ thuật phân lớp được hỗ trợ bởi WEKA gồm : Na¨ıve Bayesclassifier và Bayesian networks, Decision trees, Instance-based classifiers, Supportvector machines, Neural networks Lựa chọn một bộ phân lớp cho phép tùy chọnviệc kiểm tra (test options) :

- Use training set Bộ phân loại học được sẽ được đánh giá trên tập học trêntập học

- Supplied test set Sử dụng một tập dữ liệu khác (với tập học) để cho việcđánh giá

- Cross-validation Tập dữ liệu sẽ được chia đều thành k tập (folds) có kíchthước xấp xỉ nhau, và bộ phân loại học được sẽ được đánh giá bởi phươngpháp cross-validation

- Percentage split Chỉ định tỷ lệ phân chia tập dữ liệu đối với việc đánh giá

- More options

+ Output model : Hiển thị bộ phân lớp học được

+ Output per-class stats Hiển thị các thông tin thống kê về call đối với mỗi lớp

precision/re-+ Output entropy evaluation measures Hiển thị đánh giá độ hỗn tạp tropy) của tập dữ liệu

(en-+ Output confusion matrix Hiển thị thông tin về ma trận lỗi phân lớp(confusion matrix ) đối với phân lớp học được

+ Store predictions for visualization Các dự đoán của bộ phân lớp đượclưu lại trong bộ nhớ, để có thể được hiển thị sau đó

+ Output predictions Hiển thị chi tiết các dự đoán đối với tập kiểm tra+ Cost-sensitive evaluation Các lỗi (của bộ phân lớp) được xác định dựatrên ma trận chi phí (cost matrix ) chỉ định

+ Random seed for XVal % Split Chỉ định giá trị random seed được sửdụng cho quá trình chọn lựa ngẫu nhiên các ví dụ cho tập kiểm tra

- Classifier output : hiển thị các thông tin quan trọng

+ Run information Các tùy chọn đối với mô hình học, tên của tập dữliệu, số lượng các ví dụ, các thuộc tính

Trang 23

+ Classifier model (full training set) Biểu diễn (dạng text) của bộ phânlớp học được bộ phân lớp học được

+ Predictions on test data Thông tin chi tiết về các dự đoán của bộ phânlớp đối với tập kiểm tra

+ Summary Các thống kê về mức độ chính xác của bộ phân lớp, đối vớif.f thí nghiệm đã chọn

+ Detailed Accuracy By Class Thông tin chi tiết về mức độ chính của bộphân lớp đối với mỗi lớp

+ Confusion Matrix Các thành phần của ma trận này thể hiện số lượngcác ví dụ kiểm tra được phân lớp đúng và bị phân lớp sai

- Result list : Cung cấp một số chức năng hữu ích

+ Save model : Lưu lại mô hình tương ứng với bộ phân lớp học được vàotrong một tập tin nhị phân (binary file)

+ Load model Đọc lại một mô hình đã được học trước đó từ một tập tinnhị phân

+ Re-evaluate model on current test set : Đánh giá một mô hình (bộ phânlớp) học được trước đó đối với tập kiểm tra hiện tại

+ Visualize classifier errors Hiển thị cửa sổ biểu đồ thể hiện các kết quảcủa việc phân lớp Các ví dụ được phân lớp chính xác sẽ được biểu diễnbằng ký hiệu bởi dấu chéo (x), còn các ví dụ bị phân lớp sai sẽ đượcbiểu diễn bằng ký hiệu ô vuông

Bất cứ thuật toán máy học nào được sử dụng trong Weka đều được xuất phát

từ lớp trừu tượng weka.classifiers.Classifier Một mẫu Classifier là một sự ánh xạphức tạp ngẫu nhiên từ tất cả hoặc 1 thuộc tính của một tập dữ liệu dataset Việctạo ra và hình thức đặc biệt của việc ánh xạ này, hay mô hình mẫu, khác với việcphân loại từ phân loại Classifier là phần trọng tâm của WEKA Có rất nhiều sựchọn lựa thông thường cho phân lớp, hầu hết có liên quan đến những mục đíchđánh giá Tất cả những chức năng khác bao gồm những thông số có thể tìm thấythông qua −h, thông thường như :

• −t : chỉ sự chuẩn hóa dữ liệu thành file định dạng ARFF

• −T : chỉ việc kiểm tra file dữ liệu có đúng dịnh dạng ARFF Nếu thông sốnày bỏ qua, một bảng điều kiện chéo sẽ được cho phép ( mặc định là : gấpmười lần cv)

• −x : tham số này quyết định số lượng folds cho bảng điều kiện chéo Một

CV sẽ chỉ được vận hành nếu tham số -T được bỏ qua

• −c : Khi đã sẵn sàng cho weka.filters, tham số này sẽ thiết lập lại giá trịcủa biến class với một chỉ mục

• −d : Một mô hình mẫu sau khi được huấn luyện sẽ được lưu lại thông quatham số này Mỗi classifier sẽ ó những định dạng nhị phân khác nhau cho

Trang 24

mô hình, vì thế, nó có thể chỉ được đọc trở lại bởi chính một classifier trênmột dataset tương thích Chỉ có mô hình trong quá trình huấn luyện đượclưu lại, không phải nhiều mô hình được sinh ra thông qua cross- validation.

• −l : Nạp những mô hình đã được lưu trước đó, thông thường cho việc kiểmtra một mẫu mới, những dữ liệu đã không được nhìn thấy trước đó Trongtrường hợp này, một tập tin kiểm tra tương thích sẽ được chỉ định, ví dụ :một số thuộc tính trong cùng một trật tự

• −p# : nếu một tập tin kiểm định được chỉ định, tham số này sẽ chỉ ra chochúng ta thấy những dự đoán và một thuộc tính, có thể là 0 hoặc nhiều hơncho tất cả các thể hiện của kiểm định

Một ví dụ đơn giản : tại cửa sổ command line, gõ dòng lệnh sau :

java weka.classifiers.bayes.NaiveBayes -t data/supermarket.arff –i

Các bộ phân cụm-Cluster của WEKA tương ứng với các mô hình tìm các nhómcủa các ví dụ tương tự đối với một tập dữ liệu Các kỹ thuật phân cụm được hỗtrợ bởi WEKA gồm : Expectation maximization (EM), k-Means, CobWeb Các

bộ phân cụm có thể được hiển thị kết quả và so sánh với các cụm trong thực thế.Các chế độ phân cụm (cluster mode) của Weka gồm :

- Use training set Các cụm học được sẽ được kiểm tra đối với tập học

- Supplied test set Sử dụng tập dữ liệu khác để kiểm tra các cụm học được

- Percentage split Chỉ định tỷ lệ phân chia tập dữ liệu ban đầu cho việc xâydựng tập kiểm tra

- Classes to clusters evaluation So sánh độ chính xác của các cụm học đượcđối với các lớp được chỉ định

Bộ luật kết hợp : Ta chỉ cần lựa chọn một mô hình (giải thuật) phát hiện luậtkết hợp Mục Associator output hiển thị các thông tin quan trọng gồm :

- Run information Các tùy chọn đối với mô hình phát hiện luật kết hợp, têncủa tập dữ liệu, số lượng các ví dụ, các thuộc tính

- Associator model (full training set) Biểu diễn (dạng text) của tập các luậtkết hợp phát hiện được

+ Độ hỗ trợ tối thiểu (minimum support )

+ Độtin cậy tối thiểu (minimum confidence)

+ Kích thước của các tập mục thường xuyên (large/frequent itemsets)+ Liệt kê các luật kết hợp tìm được

Bộ lựa chọn thuộc tính-Attribute selection bao gồm 2 phần :

- Attribute Evaluator Để xác định một phương pháp đánh giá mức độ phùhợp của các thuộc tính Ví dụ :correlation-based, wrapper, information gain,chisquared,

- Search Method Để xác định một thứ tự xét các thuộc tính Ví dụ : best-first,random, exhaustive, ranking,

Trang 25

1.7.2 Các Dataset thực nghiệm

Các dataset dùng trong thực nghiệm được lấy từ uci và weka được liệt kêtrong Bảng1.1

Bảng 1.1 – Các Dataset thực nghiệm

Tên dataset Kiểu file Số Số Loại Loại Giá trị

thuộc tính mẫu thuộc tính dữ liệu bị thiếu Mushroom ARFF 23 8124 Categorical Multivariate Không Supermarket ARFF 217 4627 Categorical, Integer Multivariate Có Labor ARFF 17 57 Categorical, Integer Multivariate Có Zoo CSV 17 101 Categorical, Integer Multivariate Có

Hình 1.7 – Dataset mushroom có 23 thuộc tính và 8124 mẫu

Bảng 1.2 mô tả tên, kiểu dữ liệu, các giá trị của từng thuộc tính

Ý nghĩa của từng thuộc tính trong bối cảnh của tập dữ liệu như sau :

1 http ://archive.ics.uci.edu/

Trang 26

Bảng 1.2 – Các thuộc tính của dataset mushroom.arff

Tên thuộc tính Kiểu dữ liệu Các giá trị

1)cape-shape Nominal bell=b,conical=c,convex=x,flat=f,knobbed=k,sunken=s 2)cap-surface Nominal fibrous=f,grooves=g,scaly=y,smooth=s

3)cap-color Nominal brown=n,buff=b,cinnamon=c,gray=g,green=r,pink=p

purple=u,red=e,white=w,yellow=y 4)bruises ? Nominal Bruises=t,no=f

5)odor Nominal almond=a,anise=l,creosote=c,fishy=y,foul=f

musty=m,none=n,pungent=p,spicy=s 6)gill-attachment Nominal attached=a,descending=d,free=f,notched=n

7)gill-spacing Nominal close=c,crowded=w,distant=d

8)gill-size Nominal broad=b,narrow=n

9)gill-color Nominal black=k,brown=n,buff=b,chocolate=h,gray=g,green=r

orange=o,pink=p,purple=u,red=e,white=w,yellow=y 10)stalk-shape Nominal enlarging=e,tapering=t

11)stalk-root Nominal bulbous=b,club=c,cup=u,equal=e,rhizomorphs=z,

rooted=rmissing= ? 12)stalk-surface-above-ring Nominal fibrous=f,scaly=y,silky=k,smooth=s

13)stalk-surface-below-ring Nominal fibrous=f,scaly=y,silky=k,smooth=s

14)stalk-color-above-ring Nominal brown=n,buff=b,cinnamon=c,gray=g,orange=o

pink=p,red=e,white=w,yellow=y 15)stalk-color-below-ring Nominal brown=n,buff=b,cinnamon=c,gray=g,orange=o,pink=p

red=e,white=w,yellow=y 16)veil-type Nominal partial=p,universal=u

17)veil-color Nominal brown=n,orange=o,white=w,yellow=y

18)ring-number Nominal none=n,one=o,two=t

19)ring-type Nominal cobwebby=c,evanescent=e,flaring=f,large=l

none=n,pendant=p,sheathing=s,zone=z 20)spore-print-color Nominal black=k,brown=n,buff=b,chocolate=h,green=r

orange=o,purple=u,white=w,yellow=y 21)population Nominal abundant=a,clustered=c,numerous=n,scattered=s

several=v,solitary=y 22)habitat Nominal grasses=g,leaves=l,meadows=m,paths=p,urban=u

waste=w,woods=d 23)class Nominal edible=e,poisonous=p

Bảng 1.3 – Mô tả ý nghĩa các giá trị dữ liệu

Mô tả ý nghĩa

1) Hình dạng : tràng hoa, hình nón nhô cao, mọc từng dãy trồi lên trủng xuống.

2) Bề mặt tai nấm : có thớ, đường khuyết, có lớp vỏ nhẳn bao quanh.

3) Màu tai nấm : nâu, vàng sẫm, nâu vàng, xám, xanh lá cây, hồng, đỏ tía, đỏ, trắng, vàng.

4) Vết thâm : có vết thâm, không có

5) Mùi : mùi hạnh nhân, hương cây hồi, creosote, mùi tanh, hôi, mốc, không mùi, vị cay, có gia vị

6) Lá tia dính kèm : dính kèm, hướng xuống tự do,hay đánh dấu theo hinh chữ V

7) Khoảng cách giữa các lá tia : dày đặc, chật ních, rải rác

8) Kích thước lá tia : rộng, hẹp

9) Màu sắc lá tia : đen, nâu, vàng sẫm, màu socola, xám, xanh lá cây, cam, hồng, tía, đỏ, trắng, vàng.

10) Hình dạng thân nấm : to lớn, thon dài.

11) Loại rễ : hình củ, chum, hình chén, hay hình dạng như nhau, dạng sợi nấm, ăn sâu vào đất không nhìn thấy 12) Vòng thân trên nấm : có thớ, xếp như vảy cá, mềm mịn trơn nhẳn

13) Vòng thân dưới : có thớ xếp như vảy cá mềm mịn trơn nhẳn

14) Màu vòng thân trên : nâu, vàng sẩm, nâu vàng, xám, cam, hồng, đỏ, trắng, vàng.

15) Màu vòng thân dưới : nâu, vàng sẩm, nâu vàng, xám, cam, hồng, đỏ, trắng, vàng.

20) Màu mầm : có các màu đen, nâu, da bò, chocolate, xanh la cây, cam, tía, trắng, vàng

21) Số lượng nấm : phong phú, mọc từng đám, nhiều, lác đác, vài, cô độc.

22) Môi trường sống : nấm có thể sống ở nơi có cỏ, lá, đồng cỏ, nơi gần đường mòn, thành thị, nơi có chất bẩn hoặc trong rừng

23) Loại nấm : ăn được, không ăn được.

Ngày đăng: 05/03/2014, 17:56

HÌNH ẢNH LIÊN QUAN

Hình 1.2 – Kiến trúc hệ thống khai phá dữ liệu - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 1.2 – Kiến trúc hệ thống khai phá dữ liệu (Trang 10)
Hình 1.1 – Quá trình khai phá dữ liệu - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 1.1 – Quá trình khai phá dữ liệu (Trang 10)
Hình 1.3 – Ứng dụng của Khai phá dữ liệu - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 1.3 – Ứng dụng của Khai phá dữ liệu (Trang 17)
Hình 1.4 – Giao diện phần mềm Weka - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 1.4 – Giao diện phần mềm Weka (Trang 19)
Hình 1.5 – Môi trường Explore của Weka - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 1.5 – Môi trường Explore của Weka (Trang 20)
Hình 1.6 – Khuôn dạng dữ liệu của Weka - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 1.6 – Khuôn dạng dữ liệu của Weka (Trang 21)
Hình 1.7 – Dataset mushroom có 23 thuộc tính và 8124 mẫu - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 1.7 – Dataset mushroom có 23 thuộc tính và 8124 mẫu (Trang 25)
Bảng 1.1 – Các Dataset thực nghiệm - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 1.1 – Các Dataset thực nghiệm (Trang 25)
Bảng 1.2 – Các thuộc tính của dataset mushroom.arff - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 1.2 – Các thuộc tính của dataset mushroom.arff (Trang 26)
1) Hình dạng : tràng hoa, hình nón nhô cao, mọc từng dãy trồi lên trủng xuống. - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
1 Hình dạng : tràng hoa, hình nón nhô cao, mọc từng dãy trồi lên trủng xuống (Trang 26)
Bảng 1.3 – Mô tả ý nghĩa các giá trị dữ liệu - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 1.3 – Mô tả ý nghĩa các giá trị dữ liệu (Trang 26)
Hình 1.8 – Dataset Super Market có 217 thuộc tính và 4627 mẫu - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 1.8 – Dataset Super Market có 217 thuộc tính và 4627 mẫu (Trang 27)
Hình 1.9 – Dataset Labor có 17 thuộc tính và 57 mẫu - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 1.9 – Dataset Labor có 17 thuộc tính và 57 mẫu (Trang 27)
Bảng 2.1 – Ví dụ về phân cụm dữ liệu - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 2.1 – Ví dụ về phân cụm dữ liệu (Trang 30)
Hình 2.1 – Sơ đồ các bước thực hiện thuật toán K-Mean - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 2.1 – Sơ đồ các bước thực hiện thuật toán K-Mean (Trang 33)
Hình 2.2 – Ví dụ thực hiện thuật toán K-Mean với n = 10, k = 2 - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 2.2 – Ví dụ thực hiện thuật toán K-Mean với n = 10, k = 2 (Trang 34)
Hình 2.3 thể hiện quá trình thực hiện các bước của thuật toán. - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 2.3 thể hiện quá trình thực hiện các bước của thuật toán (Trang 36)
Hình 2.4 – Tham số của thuật toán k-Mean với cơ sở dữ liệu Supermarket - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 2.4 – Tham số của thuật toán k-Mean với cơ sở dữ liệu Supermarket (Trang 39)
Bảng 2.2 – So sánh hiệu quả thực thi k-Mean trong các mode khác nhau - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 2.2 – So sánh hiệu quả thực thi k-Mean trong các mode khác nhau (Trang 39)
Hình Percentage Split (66%). Kết quả thống kê tỷ lệ phân cụm được cho trong Bảng 2.3. - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
nh Percentage Split (66%). Kết quả thống kê tỷ lệ phân cụm được cho trong Bảng 2.3 (Trang 40)
Bảng 2.3 – So sánh k-Mean và các thuật toán khác trên dataset supermarket - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 2.3 – So sánh k-Mean và các thuật toán khác trên dataset supermarket (Trang 40)
Bảng 2.4 – Kết quả thực nghiệm k-Mean trên các dataset khác nhau trong chế - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 2.4 – Kết quả thực nghiệm k-Mean trên các dataset khác nhau trong chế (Trang 41)
Hình 2.7 – Hiện thị phân bố các cụm dưới dạng đồ họa - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 2.7 – Hiện thị phân bố các cụm dưới dạng đồ họa (Trang 41)
Hình 2.6 – Kết quả khai phá cơ sở dữ liệu Labor sử dụng K-Mean trên Weka - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 2.6 – Kết quả khai phá cơ sở dữ liệu Labor sử dụng K-Mean trên Weka (Trang 41)
Hình 3.1 – Ví dụ về quá trình phân lớp - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Hình 3.1 – Ví dụ về quá trình phân lớp (Trang 43)
Bảng 3.2 – Phân lớp đa lớp - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 3.2 – Phân lớp đa lớp (Trang 45)
Bảng 3.4 – Thống kê tỷ lệ phân lớp dữ liệu Mushroom với số % Split thay đổi - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 3.4 – Thống kê tỷ lệ phân lớp dữ liệu Mushroom với số % Split thay đổi (Trang 49)
Bảng 3.3 – Thống kê tỷ lệ phân lớp dữ liệu Mushroom với số fold thay đổi - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 3.3 – Thống kê tỷ lệ phân lớp dữ liệu Mushroom với số fold thay đổi (Trang 49)
Bảng 3.6 – So sánh hiệu quả các thuật toán phân lớp trên dữ liệu Labor với - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 3.6 – So sánh hiệu quả các thuật toán phân lớp trên dữ liệu Labor với (Trang 51)
Bảng 3.5 – So sánh hiệu quả các thuật toán phân lớp trên dữ liệu Supermarket - khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Bảng 3.5 – So sánh hiệu quả các thuật toán phân lớp trên dữ liệu Supermarket (Trang 51)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w