MC LC
LỜI MỞ ĐẦU 2
Chương I. Các phương pháp và kỹ thuật Data Mining 3
Chương II. Tổng Quan về Weka 9
Tìm hiểu WEKA
LỜI MỞ ĐẦU
Trong quá trình học tập tại trường Đại học Công Nghệ Thông Tin Tp.HCM, được
sự giảng dạy và hướng dẫn của PGS TS Đỗ Phúc, tôi đã được Thầy giới thiệu về
các thuật toán được sử dụng trong Data Mining. Được sự gợi ý của PGS TS Đỗ
Phúc, tôi xin thực hiện đề tài "Tìm hiểu WEKA” nhằm khai thác WEKA và các
chức năng của WEKA được sử dụng để khai thác dữ liệu.
Xin chân thành cám ơn PGS TS Đỗ Phúc đã tận tình giảng dạy, định hướng và
hướng dẫn tôi trong suốt môn học “Nhà kho và khai phá dữ liệu”.
Học viên
Đinh Thị Tâm
Trang 2
Tìm hiểu WEKA
Chương I. Các phương pháp và kỹ thuật
Data Mining
1. Data Mining là gì?
Khai phá dữ liệu (Data mining) là một khái niệm ra đời vào những năm cuối của thập
kỷ 80. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị
tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, khai phá dữ liệu liên
quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có
tính chính quy (regularities) trong tập dữ liệu.
Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm Phát hiện
tri thức trong cơ sở dữ liệu (Knowledge Discovery in Database – KDD) để chỉ toàn
bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn. Trong đó, khai phá dữ
liệu là một bước đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để
chiết xuất ra các mẫu từ dữ liệu.
Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề
cần giải quyết. Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải
pháp. Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành dạng
sao cho giải thuật khai phá dữ liệu có thể hiểu được. Về lý thuyết thì có vẻ rất đơn
giản nhưng khi thực hiện thì đây thực sự là một quá trình rất khó khăn, gặp phải nhiều
vướng mắc như: các dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các
tệp), quản lý các tệp dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô
hình dữ liệu thay đổi),…
Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc
khai phá dữ liệu để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương
ứng với các ý nghĩa đó (thường thì được biểu diễn dưới dạng các luật xếp loại, cây
quyết định, phát sinh luật, biểu thức hồi quy,…).
Trang 3
Tìm hiểu WEKA
2. Các phương pháp khai phá dữ liệu
Quá trình khai phá dữ liệu là quá trình phát hiện mẫu trong đó giải thuật khai phá
dữ liệu tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, cây
phân lớp, hồi quy, phân nhóm,…
2.1. Phương pháp quy nạp (Induction)
Một cơ sở dữ liệu là một kho thông tin nhưng các thông tin quan trọng hơn cũng
có thể được suy diễn từ kho thông tin đó. Có hai việc chính để thực hiện việc này
là suy diễn và quy nạp.
- Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các thông
tin trong cơ sở dữ liệu. Ví dụ như toán tử liên kết áp dụng cho hai bảng quan
hệ, bảng đầu chứa thông tin về các nhân viên và các phòng ban, bảng thứ hai
chứa thông tin về các phòng ban và các trưởng phòng. Như vậy sẽ suy ra mối
quan hệ giữa các nhân viên và trưởng phòng. Phương pháp suy diễn dựa trên
các sự kiện chính xác để suy ra các tri thức mới từ các thông tin cũ. Mẫu chiết
xuất được bằng cách sử dụng phương pháp này thường là các luật suy diễn.
- Phương pháp quy nạp: Phương pháp quy nạp suy ra các thông tin được sinh ra
từ cơ sở dữ liệu. Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ
không phải bắt đầu với các tri thức đã biết trước. Các thông tin mà phương
pháp này đem lại là các thông tin hay các tri thức cấp cao diễn tả về các đối
tượng trong cơ sở dữ liệu. Phương pháp này liên quan đến việc tìm kiếm các
mẫu trong cơ sở dữ liệu.
Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạo
luật.
2.2. Cây quyết định và luật
- Cây quyết định: Cây quyết định là một mô tả tri thức dạng đơn giản nhằm
phân các đối tượng dữ liệu thành một số lớp nhất định. Các nút của cây được
gán nhãn là tên các thuộc tính, các cạnh được gán các giá trị có thể của các
Trang 4
Tìm hiểu WEKA
thuộc tính, các lá miêu tả các lớp khác nhau. Các đối tượng được phân lớp
theo các đường đi trên cây, qua các cạnh tương ứng với giá trị của thuộc tính
của đối tượng tới lá. Hình 3.10 mô tả một mẫu đầu ra có thể của quá trình khai
phá dữ liệu khách hàng xin vay vốn.
- Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa về
mặt thống kê. Các luật có dạng Nếu P thì Q với P là mệnh đề đúng với phần
dữ liệu trong cơ sở dữ liệu, Q là mệnh đề dự đoán. Ví dụ ta có một mẫu phát
hiện được bằng phương pháp tạo luật: Nếu giá 1 cân táo thấp hơn 5000 đồng
thì số lượng táo bán ra sẽ tăng 5%. Những luật như thế này được sử dụng rất
rộng rãi trong việc miêu tả tri thức trong hệ chuyên gia. Chúng có thuận lợi là
dễ hiểu đối với người sử dụng.
Cây quyết định và luật có ưu điểm là hình thức miêu tả đơn giản, mô hình suy diễn
khá dễ hiểu đối với người sử dụng. Tuy nhiên, giới hạn của nó là miêu tả cây và
luật chỉ có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn cả về độ
chính xác của mô hình. Cho đến nay, đã có rất nhiều giải thuật suy diên sử dụng
các luật và cây quyết định được áp dụng trong máy học và trong thống kê.
2.3. Phát hiện các luật kết hợp
Phương pháp này 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. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp
tìm được. Ta có thể lấy một số ví dụ đơn giản về luật kết hợp như sau: Sự kết hợp
Trang 5
Nợ >= nNợ < n
Không cho vay
Thu nhập < t Thu nhập >= t
Không cho vay Cho vay
Tìm hiểu WEKA
giữa hai thành phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo
sự xuất hiện của B trong cùng bản ghi đó: A ⇒ B.
Cho một lược đồ R = {A
1
,…A
p
} các thuộc tính với miền giá trị {0,1}, và một
quan hệ r trên R. Một tập luật kết hợp trên r được mô tả dưới dạng X ⇒ B với X ⊆ R
và B∈R\X. Về mặt trực giác, ta có thể phát biểu ý nghĩa của luật như sau: nếu một
bản ghi của bảng r có giá trị 1 tại mỗi thuộc tính thuộc X thì giá trị của thuộc tính B
cũng là 1 trong cùng bản ghi đó. Ví dụ như ta có tập cơ sở dữ liệu về các mặt hàng
bán trong siêu thị, các dòng tương ứng với các ngày bán hàng, các cột tương ứng với
các mặt hàng thì giá trị 1 tại ô (20/10, bánh mì) xác định rằng bánh mì đã được bán
ngày hôm đó và cũng kéo theo sự xuất hiện giá trị 1 tại ô (20/10, bơ).
Cho W⊆R, đặt s(W,r) là tần số xuất hiện của W trong r được tính bằng tỷ lệ
của các dòng trong r có giá trị 1 tại mỗi cột thuộc W. Tần số xuất hiện của luật X ⇒
B trong r được định nghĩa là s(X∪{B},r) còn gọi là độ hỗ trợ của luật, độ tin cậy của
luật là s(X∪{B},r)/s(X,r), ở đây X có thể gồm nhiều thuộc tính, B là giá trị không cố
định. Nhờ vậy mà không xảy ra việc tạo ra các luật không mong muốn trước khi quá
trình tìm kiếm bắt đầu. Điều đó cũng cho thấy không gian tìm kiếm có kích thước
tăng theo hàm mũ của số lượng các thuộc tính ở đầu vào. Do vậy cần phải chú ý khi
thiết kế dữ liệu cho việc tìm kiếm các luật kết hợp.
Nhiệm vụ của việc phát hiện các luật kết hợp là phải tìm tất cả các luật X ⇒ B sao
cho tần số của luật không nhỏ hơn ngưỡng σ cho trước và độ tin cậy của luật
không nhỏ hơn ngưỡng θ cho trước. Từ một cơ sở dữ liệu ta có thể tìm được hàng
nghìn thậm chí hàng trăm nghìn các luật kết hợp.
Ta gọi một tập con X ⊆ R là phổ biến trong r nếu thoả mãn điều kiện s(X,r) ≥ σ.
Nếu biết tất cả các tập phổ biến trong r thì việc tìm kiếm các luật kết hợp rất dễ
dàng. Vì vậy, giải thuật tìm kiếm các luật kết hợp trước tiên đi tìm tất cả các tập
phổ biến này, sau đó tạo dựng dần các luật kết hợp bằng cách ghép dần các tập
thuộc tính dựa trên mức độ phổ biến.
Trang 6
Tìm hiểu WEKA
Giải thuật tìm kiếm các luật kết hợp tạo ra số luật ít nhất phải bằng số các tập
thường xuyên và nếu như một tập thường xuyên có kích thước K thì phải có ít
nhất là 2
K
luật kết hợp. Thông tin về các tập thường xuyên được sử dụng để ước
lượng độ tin cậy của các tập luật kết hợp.
2.4. Gom cụm (clustering)
Kỹ thuật phân nhóm là kỹ thuật phân chia dữ liệu sao cho mỗi phần hoặc mỗi
nhóm giống nhau theo một tiêu chuẩn nào đó. Mối quan hệ thành viên của các
nhóm có thể dựa trên mức độ giống nhau của các thành viên và từ đó xây dựng
nên các luật ràng buộc giữa các thành viên trong nhóm. Một kỹ thuật phân nhóm
khác là xây dựng nên các hàm đánh giá thuộc tính của các thành phần như là hàm
của các tham số của các thành phần. Phương pháp này được gọi là phương pháp
phân hoạch tối ưu (optimal partitioning). Một ví dụ ứng dụng của phương pháp
phân nhóm theo độ giống nhau là cơ sở dữ liệu khách hàng, ứng dụng của phương
pháp tối ưu ví dụ như phân nhóm khách hàng theo số các tham số và các nhóm
thuế tối ưu có được khi thiết lập biểu thuế bảo hiểm.
Mẫu đầu ra của quá trình khai phá dữ liệu sử dụng kỹ thuật này là các tập mẫu
chứa các dữ liệu có chung những tính chất nào đó được phân tách từ cơ sở dữ liệu.
Khi các mẫu được thiết lập, chúng có thể được sử dụng để tái tạo các tập dữ liệu ở
dạng dễ hiểu hơn, đồng thời cũng cung cấp các nhóm dữ liệu cho các hoạt động
cũng như công việc phân tích. Đối với cơ sở dữ liệu lớn, việc lấy ra các nhóm này
là rất quan trọng.
2.5. Mạng neuron
Mạng neuron là một tiếp cận tính toán mới liên quan đến việc phát triển các cấu
trúc toán học với khả năng lọc. Các phương pháp là kết quả của việc nghiên cứu
mô hình học của hệ thống thần kinh con người. Mạng neuron có thể đưa ra ý nghĩa
từ các dữ liệu phức tạp hoặc không chính xác và có thể được sử dụng để chiết xuất
Trang 7
Tìm hiểu WEKA
các mẫu và phát hiện ra các xu hướng quá phức tạp mà con người cũng như các kỹ
thuật máy tính khác không thể phát hiện được.
Khi đề cập đến khai thác dữ liệu, người ta thường đề cập nhiều đến mạng neuron.
Tuy mạng neuron có một số hạn chế gây khó khăn trong việc áp dụng và triển khai
nhưng nó cũng có những ưu điểm đáng kể. Một trong số những ưu điểm phải kể
đến của mạng neuron là khả năng tạo ra các mô hình dự đoán có độ chính xác cao,
có thể áp dụng được cho rất nhiều loại bài toán khác nhau đáp ứng được các nhiệm
vụ đặt ra của khai phá dữ liệu như phân lớp, phân nhóm, mô hình hoá, dự báo các
sự kiện phụ thuộc vào thời gian,…
Đặc điểm của mạng neuron là không cần gia công dữ liệu nhiều trước khi bắt đầu
quá trình học như các phương pháp khác. Tuy nhiên, để có thể sử dụng mạng
neuron có hiệu quả cần phải xác định các yếu tố khi thiết kế mạng như:
- Mô hình mạng là gì?
- Mạng cần có bao nhiêu nút?
- Khi nào thì việc học dừng để tránh bị “học quá”?
- …
Ngoài ra còn có rất nhiều bước quan trọng cần phải làm để tiền xử lý dữ liệu trước
khi đưa vào mạng neuron để mạng có thể hiểu được (ví dụ như việc chuẩn hoá dữ
liệu, đưa tất cả các tiêu chuẩn dự đoán về dạng số).
Mạng neuron được đóng gói với những thông tin trợ giúp của các chuyên gia đáng
tin cậy và được các chuyên gia đảm bảo các mô hình này làm việc tốt. Sau khi
học, mạng có thể được coi là một chuyên gia trong lĩnh vực thông tin mà nó vừa
được học.
Trang 8
Tìm hiểu WEKA
Chương II. Tổng Quan về Weka
1. Giới thiệu 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áy học,
được viết tại trường đại học Waikato, New Zealand, được phát triển trên nền tản
ngôn ngữ java.
Weka gồm các công cụ: tiền xử lý dữ liệu (pre-processing on data), phân lớp
(classification), hồi quy (regression), gom cụm (clustering), luật kết hợp
(association rule extraction)
2. Những đặc điểm chính của Weka
Weka được xây dựng với:
• 49 công cụ tiền xử lý dữ liệu.
• 76 thuật toán phân lớp.
• 8 thuật toán gom cụm.
• 15 thuật toán xác định thuộc tính/ tập con + 10 thuật toán tìm kiếm
để lựa chọn đặc tính.
• 3 thuật toán cho việc tìm luật kết hợp.
• 3 giao diện đồ họa cho người sử dụng:
o “The Explorer”: khám phá dữ liệu
o “The Experimenter”: môi trường thực nghiệm.
Trang 9
Tìm hiểu WEKA
o “The KnowledgeFlow”: một xử lý giao diện mẫu sáng tạo.
3. Download và cài đặt Weka
• Download Weka tại địa chỉ
• Sau khi download xong, thực thi tập tin weka và giữ nguyên các thiết lập
cài đặt mặc định.
4. Làm việc với Weka
Nhấp start -> programs -> Weka 3.6 và chọn 1 trong 2 chế độ làm việc:
- Command line primer: chế độ dòng lệnh thô sơ.
- Weka GUI chooser: chế độ đồ họa.
5. Những khái niệm cơ bản
5.1. DataSet
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ản củ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ột
dataset 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 danh sách
các giá trị được định nghĩa trước), số (số nguyên hay số thực) hay chuỗi (một dã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ào như là
ngày tháng năm, mối quan hệ.
Thể hiện của một lớp Instances là một tập tin ARFF, mỗi tập tin bao gồm mộ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ư sau:
Trang 10
Phần chú thích được bắt
đầu bởi dấu %
Tìm hiểu WEKA
% This is a toy example, the UCI weather dataset.
% Any relation to real weather is purely coincidental.
@relation golfWeatherMichigan_1988/02/10_14days
@attribute outlook {sunny, overcast, rainy}
@attribute windy {TRUE, FALSE}
@attribute temperature real
@attribute humidity real
@attribute play {yes, no}
@data
sunny,FALSE,85,85,no
sunny,TRUE,80,90,no
overcast,FALSE,83,86,yes
rainy,FALSE,70,96,yes
rainy,FALSE,68,80,yes
Trang 11
Định nghĩa tên của dataset
Định nghĩa thuộc tính
outlook có ba giá trị là
“sunny, overcast, rainy”
Định nghĩa thuộc tính
windy có hai giá trị là
“TRUE và FALSE”
Định nghĩa hai thuộc tính
temperature và humidity
có kiểu số thực
Định nghĩa thuộc tính
play
có hai giá trị yes, no
Phần thể hiện của dữ liệu
bắt đầu bằng @data; giá trị
của các thuộc tính ngăn
cách nhau bởi dấu phẩy,
mỗi dòng là một thể hiện
của dataset. Theo ví dụ này
là 5 dòng thể hiện cho
dataset với 5 thuộc tính đã
được khai báo ở trên.
Tìm hiểu WEKA
weka.core đã đưa ra một số giải pháp hữu dụng khác, như là
converters.C45Loader và converters.CSVLoader, chuyển đổi dữ liệu từ dataset
C45 hoặc bảng tính định dạng csv sang ARFF.
Ví dụ:
java weka.core.converters.CSVLoader data.csv > data.arff
java weka.core.converters.C45Loader c45_filestem > data.arff
5.2. Classifier
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ệc
tạ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ệc
phân loại từ phân loại.
5.3. Weka.filters
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ước quan 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.
weka.filters.supervised
Trang 12
Tìm hiểu WEKA
Những lớp trong gói weka.filters.supervised trong nhánh của lớp là những bộ lọc
đóng vai trò giám sác, tạo ra những thông tin có lợi cho class. Một lớp phải được
sử dụng thông qua tham số -c, WEKA mặc định là tham số -c ở cuối.
weka.filters.supervised.attribute
Một số thuộc tính được sử dụng dựa trên những thông tin của class, thông qua
phương thức Fayyad & Irani’s MD, hoặc phương thức Kononeko’s MDL. Tối
thiểu sẽ có một vài mẫu máy học hoặc phân lớp chỉ có thể xử lý một ít dữ liệu, ví
dụ weka.classifiers.rules.Prism; trong một số trường hợp cũng có thể giảm bớt thời
gian học.
java weka.filters.supervised.attribute.Discretize -i
data/iris.arff \
-o iris-nom.arff -c last
java weka.filters.supervised.attribute.Discretize -i
data/cpu.arff \
-o cpu-classvendor-nom.arff -c first
Ngoài ra, còn các gói khác như:
weka.filters.supervised.instance
weka.filters.unsupervised
weka.filters.unsupervised.attribute
weka.filters.unsupervised.instance
Trang 13
Tìm hiểu WEKA
5.4. weka.classifiers
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ấy thô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ấp mườ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 qua tham số
này. Mỗi classifier sẽ ó những định dạng nhị phân khác nhau cho mô hình, vì thế,
nó có thể chỉ được đọc trở lại bởi chính một classifier trên một dataset tương thích.
Chỉ có mô hình trong quá trình huấn luyện được lư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ểm tra một
mẫu mới, những dữ liệu đã không được nhìn thấy trước đó. Trong trườ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 cho chú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ơn cho tất cả các
thể hiện của kiểm định.
Trang 14
Tìm hiểu WEKA
Các classifier được sử dụng trong WEKA:
• trees.J48: một bản sao của cây quyết định C4.5A
• bayes.NaiveBayes A Naive Bayesian.
• meta.ClassificationViaRegression -W functions.LinearRegression Multi-
response linear regression.
• functions.Logistic Logistic Regression.
Một ví dụ đơn giản: tại cửa sổ command line, gõ dòng lệnh sau:
java weka.classifiers.trees.J48 -t data/weather.arff –i
Kết quả xử lý được như sau:
J48 pruned tree
outlook = sunny
| humidity <= 75: yes (2.0)
| humidity > 75: no (3.0)
outlook = overcast: yes (4.0)
outlook = rainy
| windy = TRUE: no (2.0)
| windy = FALSE: yes (3.0)
Trang 15
Tìm hiểu WEKA
Number of Leaves : 5
Size of the tree : 8
Time taken to build model: 0.05 seconds
Time taken to test model on training data: 0 seconds
== Error on training data ===
Correctly Classified Instance 14 100 %
Incorrectly Classified Instances 0 0 %
Kappa statistic 1
Mean absolute error 0
Root mean squared error 0
Relative absolute error 0 %
Root relative squared error 0 %
Total Number of Instances 14
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure Class
1 0 1 1 1 yes
1 0 1 1 1 no
=== Confusion Matrix ===
Trang 16
Tìm hiểu WEKA
a b < classified as
9 0 | a = yes
0 5 | b = no
=== Stratified cross-validation ===
Correctly Classified Instances 9 64.2857 %
Incorrectly Classified Instances 5 35.7143 %
Kappa statistic 0.186
Mean absolute error 0.2857
Root mean squared error 0.4818
Relative absolute error 60 %
Root relative squared error 97.6586 %
Total Number of Instances 14
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure Class
0.778 0.6 0.7 0.778 0.737 yes
0.4 0.222 0.5 0.4 0.444 no
=== Confusion Matrix ===
a b < classified as
Trang 17
Tìm hiểu WEKA
7 2 | a = yes
3 2 | b = no
6. WEKA GUI chooser
The Weka GUI Chooser (class weka.gui.GUIChooser) là giao diện đồ họa chính
cho việc bắt đầu các ứng dụng đồ họa trong WEKA, và hỗ trợ các công cụ. Nếu
chọn một công cụ nào đó, sẽ hiển thị một giao diện MDI.
The GUI Chooser gồm có 4 nút lệnh, mỗi một nút đại diện cho một ứng dụng
chính của Weka và có 4 menu.
Các nút lệnh có thể được dùng để khởi chạy các ứng dụng như sau:
• Explorer: Một môi trường để khám phá dữ liệu với WEKA.
• Experimenter: Một môi trường thử nghiệm cho các thí nghiệm thực hiện và tiến
hành kiểm tra thống kê giữa các chương trình học tập.
• KnowledgeFlow: cơ bản giống chức năng Explorer nhưng với một giao diện
kéo-thả.
• SimpleCLI: Cung cấp một giao diện dòng lệnh đơn giản cho phép trực tiếp
thực hiện các lệnh WEKA, dành cho các máy tính mà hệ điều hành không cung
cấp giao diện dòng lệnh.
Trang 18
Tìm hiểu WEKA
Thanh menu gồm có:
6.1. Program
LogWindow: Mở một cửa sổ đăng nhập để chụp tất cả những gì được in
cho thiết bị xuất chuẩn hoặc thiết bị lỗi chuẩn. Hữu ích cho môi trường như
MS Windows, nơi
WEKA thường không bắt đầu từ thiết bị cuối.
Close: thoát khỏi WEKA.
6.2. Tools
• ArffViewer: một ứng dụng MDI cho phép xem các file ARFF ở định dạng
bảng tính.
• SqlViewer: hiển thị một bảng tính SQL cho việc truy vấn dữ liệu thông quan
JDBC.
• Bayes net editor: Một ứng dụng cho việc soạn thảo, hiển thị trực quan và
học tập các mạng Bayes.
6.3. Simple CLI
Simple CLT cung cấp toàn quyền truy cập đến các lớp của Weka, như classifiers,
filters, clusterers, nếu không có vấn đề gì ở CLASSPATH.
Trang 19
Tìm hiểu WEKA
6.3.1 Commandline
Nó cung cấp một Weka shell với những dòng lệnh được phân cách và kết xuất dữ
liệu.
Những lệnh sau đây đã được xây dựng trong Simple CLI:
• java <classname> [<args>]
Gọi 1 lớp java với những tham số được cho.
• break
Ngừng thực thi tiến trình hiện hành, ví dụ như đang thực thi classifier.
• kill: ngừng thực thi tiến trình hiện hành một cách không an toàn.
• cls: xóa vùng dữ liệu đang hiển thị trên màn hình.
• Exit: thoát khỏi Simple CLT
6.3.2 Invocation
Để gọi một lớp Weka, chỉ có một tiếp đầu ngữ để chỉ class với chuỗi java. Lệnh
này sẽ báo cho Simple CLI biết phải nạp một class và thực thi nó không có tham
số. ví dụ: J48 classifier có thể được triệu gọi trong dataset iris với dòng lệnh như
sau:
java weka.classifiers.trees.J48 -t c:/temp/iris.arff
Và đây là kết quả :
Trang 20
Tìm hiểu WEKA
6.3.3 Commandline Redirection
Bắt đầu từ phiên bản này của Weka, có thể chuyển hướng kết quả được xuất một
cách đơn giản:
java weka.classifiers.trees.J48 -t test.arff > j48.txt
Chú ý : ký hiệu > phải được theo sau bởi một khoảng trắng và nó là một phần của
câu lệnh.
6.3.4 Command completion
Các lệnh được java hỗ trợ, cho phép sử dụng phím Tab để hoàn thành việc gõ lệnh
bằng cách hoàn thành tên class hoặc tên tập tin.
Ví dụ :
java weka.cl<Tab>
Các gợi ý có thể là:
weka.classifiers
Trang 21
Tìm hiểu WEKA
weka.clusterers
6.4. Explorer
6.4.1 Giao diện người dùng
Khi cửa sổ Explorer được mở lần đầu tiên, tab đầu tiên được chọn và các tab còn
lại bị mờ. Điều này cho thấy sự cần thiết để mở dữ liệu trước khi bắt đầu khai thác
dữ liệu.
Gồm có các tab sau:
1. Preprocess. Chọn và định nghĩa dữ liệu đang hoạt động.
2. Classify. Huấn luyện và kiểm tra các mẫu đang được phân lớp hay cho phép
truy hồi.
3. Cluster. Gom cụm dữ liệu
4. Associate. Tìm luật kết hợp cho dữ liệu.
5. Select attributes. Chọn các thuộc tính quan trọng nhật trong dữ liệu.
6. Visualize. Xem sự tương tác 2 chiều giữa các mảnh dữ liệu
Trang 22
Tìm hiểu WEKA
6.4.2 Preprocessing
6.4.3 Nạp dữ liệu
Có 4 nút lệnh cho phép nạp dữ liệu vào chương trình:
1. Open file : mở ra một hộp thoại cho phép chọn tập tin dữ liệu đã được lưu trữ
trong máy tính.
2. Open URL Cho phép nhập vào một URL lưu trữ dữ liệu.
3. Open DB Đọc dữ liệu từ cơ sở dữ liệu.
4. Generate Cho phép tạo ra một file dữ liệu định dạng ARFF từ nhiều loại dữ
liệu khác nhau.
Trang 23
Tìm hiểu WEKA
Chọn open file…có thể đọc được nhiều định dạng dữ liệu khác nhau: ARFF,
CSV, C4.5 hoặc là những tập tin lưu trữ tuần tự các đối tượng dưới dạng dữ liệu.
Tập tin ARFF có phần mở rộng là arff, CSV có phần mở rộng là csv, C4.5 có định
dạng data và có .names cho phần mở rộng, các tập tin lưu trữ thể hiện của đối
tượng với phần mở rộng bsi.
Ví dụ: chọn tập tin weather.arff
Khung Atributes cho phép chọn các thuộc tính trong dữ liệu để sử dụng cho
chương trình. Ví dụ: chọn bốn thuộc tính: outlook, temperature, windy và play.
Trang 24
Tìm hiểu WEKA
6.4.4 Classify
Chọn tab Classify để phân lớp dữ liệu
Trang 25