Chương III. Giới Thiệu Weka Và Khả Năng Phân Lớp Của Nó
Phân lớp với thuật toán C4.8
Sau khi nạp dữ liệu, chọn Tab classify để chọn các mô hình phân loại. Ở đây ta sẽ sử dụng mô hình phân lớp của cây quyết định (Decision tree) là J48.
Trang 40
Mô tả dữ liệu
Danh sách thuộc tính Mở file Arff
Hình 8. Kết quả bài toán phân lớp
Việc lựa chọn thuật toán nào để có một mô hình tốt phụ thuộc rất nhiều yếu tố, trong đó cấu trúc của dataset có ý nghĩa quan trọng đến việc lựa chọn thuật toán. Ví dụ thuật toán cây hồi qui phân loại (CART – Classification And Regression Tree) và J48 cho kết quả tốt trên các dữ liệu kiểu số (Numerical Data), trong khi đó thuật toán ID3 cho kết quả tốt đối với dữ liệu định danh (nominal Data).
Giải thích kết quả
Weka sẽ xuất ra một loạt các thông tin sau khi hoàn thành việc phân lớp. Trong ví dụ đang xét, kết quả xuất ra như sau :
=== Run information === Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: weather Instances: 14 Chọn phương pháp phân lớp ID3, J48… Chọn số fold
Thuộc tính phân lớp là play
Attributes: 5 outlook temperature humidity windy play
Test mode: 10-fold cross-validation
=== Classifier model (full training set) === 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) Number of Leaves : 5 Size of the tree : 8
Time taken to build model: 0 seconds === Stratified cross-validation === === Summary ===
Correctly Classified Instances 9 64.2857 % Incorrectly Classified Instances 5 35.7143 % Kappa statistic 0.186
K&B Relative Info Score 501.6781 %
K&B Information Score 4.871 bits 0.3479 bits/instance Class complexity | order 0 13.7612 bits 0.9829 bits/instance Class complexity | scheme 1082 bits 77.2857 bits/instance Complexity improvement (Sf) -1068.2388 bits -76.3028
bits/instance
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
Accuracy: Độ chính xác.
number of correctly classi ed instances aaccuracy
number of instances
= ð
( ) number of correctly classi ed instances of class X precision X
number of instances classi ed as belonging to class X
= ð
ð
( ) number of correctly classi ed instances of class X recall X
number of instances in class X
= ð
Confusion matrix: Ma trận nhầm lẫn
Confusion matrices (ma trận nhầm lẫn) rất hữu dụng để đánh giá hiệu suất của một bộ phân lớp. Weka sẽ xuất ra Confusion matrix như sau:
=== Confusion Matrix === a b <-- classified as
7 2 | a = yes 3 2 | b = no
Weka cố gắng phân lớp các mẫu dữ liệu vào hai lớp có thể : yes hay no.
Để đơn giản, Weka thay thế a bằng ‘yes’, và b bằng ‘no’. Các cột mô tả số mẫu dữ liệu được phân lớp bởi class đó.
Vì vậy, cột đầu tiên chỉ ra rằng có tổng cộng 10 mẫu dữ liệu được phân vào lớp a, và 4 mẫu dữ liệu được phân vào lớp b.
Các hàng thể hiện các mẫu thực sự thuộc về class đó. Vì vậy ma trận trên cho ta biết số mẫu được phân lớp chính xác hoặc không chính xác.
Trong ma trận trên, ta có thể thấy rằng có 7 mẫu nên được phân vào lớp b và 2 mẫu nên được phân vào lớp a, các mẫu này đã được phân lớp chính xác. Tuy vậy, có 3 mẫu lẽ ra thuộc lớp b mà Weka lại phân nó vào lớp a, và 2 mẫu lẽ ra thuộc lớp a mà Weka lại phân nó vào lớp b.
Click phải trên kết quả trong khung Result list, chọn visualize tree, sẽ mở ra một cửa sổ hiển thị cây quyết định.
Phân lớp với thuật toán Naïve Bayes