khai phá dữ liệu dùng thuật toán K-mean và naive bayes trên wave
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
Trang 2Nhữ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 3Mở đầ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 41.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 5Từ 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 61.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 71.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 8Tổ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 9Khai 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 10Hì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 121.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 141.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 15tậ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 16MS 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 181.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 20hồ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 211.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 24mô 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 251.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 26Bả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.