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 Naïve Bayes
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 naive bayes và cross-validation là 10
1. Use training set. Sự phân loại một cách tự động cách nó dự đoán các lớp dựa
trên các thể hiện đã được huấn luyện.
2. Supplied test set. Sự phân loại một cách tự động dự đoán các lớp của một tập
các thể hiện được nạp từ một file. Nhấp vào nút Set… để chọn một file cho việc kiểm định.
3. Cross-validation. Sự phân loại được tự động bằng cross-validation, sử dụng
một số các vùng được nhập vào trong một field text.
Trang 46
Mô tả dữ liệu
Danh sách thuộc tính Mở file Arff
4. Percentage split. Sự phân loại được tự động cách nó dự đoán một tỷ lệ phần
trăm của dữ liệu được sử dụng cho việc kiểm định. Một lượng dữ liệu phụ thuộc vào giá trị được nhập vào ô %.
Trong ví dụ bài thuyết trình này, chọn cross-validation folds 10
Hình 11. Kết quả hiển thị với phân lớp với naïve bayes
Hãy nhìn kết quả hiển thị sau khi chúng ta cuộc xuống phần dưới như hình vẽ: === Run information === Scheme:weka.classifiers.bayes.NaiveBayes Relation: weather Instances: 14 Attributes: 5 outlook
temperature humidity windy play
Test mode:10-fold cross-validation
=== Classifier model (full training set) ===
Naive Bayes Classifier
Class Attribute yes no (0.63) (0.38) [ kết quả 1] outlook sunny 3.0 4.0 overcast 5.0 1.0 rainy 4.0 3.0 [total] 12.0 8.0 temperature mean 72.9697 74.8364 std. dev. 5.2304 7.384 Trang 48
weight sum 9 5 precision 1.9091 1.9091 humidity mean 78.8395 86.1111 std. dev. 9.8023 9.2424 weight sum 9 5 precision 3.4444 3.4444 windy TRUE 4.0 4.0 FALSE 7.0 3.0 [total] 11.0 7.0
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.1026
Mean absolute error 0.4649 Root mean squared error 0.543 Relative absolute error 97.6254 % Root relative squared error 110.051 %
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.889 0.8 0.667 0.889 0.762 0.444 yes 0.2 0.111 0.5 0.2 0.286 0.444 no Weighted Avg. 0.643 0.554 0.607 0.643 0.592 0.444 === Confusion Matrix === a b <-- classified as 8 1 | a = yes 4 1 | b = no [Kết quả 2] Giải thích kết quả
Kết quả 1: tại Attributes phân lớp play yes là 0.63 và no là 0.38 Kết quả 2:
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 12 mẫu dữ liệu được phân vào lớp a, và 2 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ó 8 mẫu nên được phân vào lớp b và 1 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ó 4 mẫu lẽ ra thuộc lớp b mà Weka lại phân nó vào lớp a, và 1 mẫu lẽ ra thuộc lớp a mà Weka lại phân nó vào lớp b.
III.5. Phân lớp với Weka API