Weka_Classification-1
Document Sample


Trường Đại học Khoa học Tự nhiên
Khoa Công nghệ Thông tin
Môn học Trí tuệ nhân tạo
Tài liệu hướng dẫn sử dụng Weka
CHỨC NĂNG PHÂN LỚP
Nhóm GVHDTH:
NNThảo, NHMinh, VTHưng, QKGia
NỘI DUNG TRÌNH BÀY
Giới thiệu chức năng phân lớp
Một số bộ phân lớp phổ biến
Cây quyết định ID3
NaiveBayes
Tổng kết
2
NỘI DUNG TRÌNH BÀY
Giới thiệu chức năng phân lớp
Một số bộ phân lớp phổ biến
Cây quyết định ID3
NaiveBayes
Tổng kết
3
PHÂN LỚP LÀ GÌ?
Phân lớp (classify) là một nhiệm vụ khai thác dữ liệu, trong đó: cho
trước một tập hợp các lớp, tìm cách gán một mẫu mới vào phân lớp
sao cho có độ chính xác cao nhất có thể.
Ví dụ:
Dự đoán khối u là u lành hay u ác.
Phân loại văn bản theo chủ đề tin tức, thể thao, giáo dục...
Weka hỗ trợ phân lớp trong phần chức năng Explorer của nhóm
chức năng Applications.
4
PHÂN LỚP VỚI WEKA
5
PHÂN LỚP VỚI WEKA
Đây là chức năng cho phép người
dùng chọn lựa một trong các thuật toán
phân lớp đã cài đặt sẵn để áp dụng lên
dữ liệu.
Bước 1: nhấn nút Choose để mở
hộp thoại chọn thuật toán.
6
PHÂN LỚP VỚI WEKA
Đây là chức năng cho phép người
dùng chọn lựa một trong các thuật
toán phân lớp đã cài đặt sẵn để áp
dụng lên dữ liệu.
Bước 2: nhấn vào ô chữ hiển
thị thuật toán để mở hộp thoại
chọn tham số.
7
PHÂN LỚP VỚI WEKA
Đây là chức năng cho phép người dùng chọn lựa một trong các
thuật toán phân lớp đã cài đặt sẵn để áp dụng lên dữ liệu.
Bước 1: nhấn nút Choose để mở hộp thoại chọn thuật toán.
Bước 2: nhấn vào ô chữ hiển thị thuật toán để mở hộp thoại
chọn tham số.
Bước 3: nhấn nút Start để chạy thuật toán với dữ liệu hiện có.
8
PHÂN LỚP VỚI WEKA
Đây là dữ liệu thu được sau khi thực hiện thành công, gồm thông tin
về tập dữ liệu, mô hình phân lớp (cây quyết định, giá trị xác suất…),
kết quả dự đoán trên tập dữ liệu kiểm thử và số liệu thống kê.
9
PHÂN LỚP VỚI WEKA
Đây là bảng lưu lại thông tin các lần chạy. Ta có thể ghi lại kết quả
chạy thuật toán sang tập tin để lưu trữ.
10
PHÂN LỚP VỚI WEKA
Đây là bảng chọn lựa chế độ kiểm thử để đánh giá hiệu quả của bộ
phân lớp đã được xây dựng.
Use training set: sử dụng tập
huấn luyện làm tập kiểm thử.
11
PHÂN LỚP VỚI WEKA
Đây là bảng chọn lựa chế độ kiểm thử để đánh giá hiệu quả của bộ
phân lớp đã được xây dựng.
Supplied test set: chỉ định tập dữ
liệu mới làm tập kiểm thử.
12
PHÂN LỚP VỚI WEKA
Đây là bảng chọn lựa chế độ kiểm thử để đánh giá hiệu quả của bộ
phân lớp đã được xây dựng.
Cross-validation: kiểm thử bằng
phương pháp cross-validation.
13
PHÂN LỚP VỚI WEKA
Đây là bảng chọn lựa chế độ kiểm thử để đánh giá hiệu quả của bộ
phân lớp đã được xây dựng.
Percentage split: chia tập dữ liệu
ban đầu thành tập huấn luyện và
tập kiểm thử theo tỉ lệ %.
14
PHÂN LỚP VỚI WEKA
Các lựa chọn tiện ích khác.
Lựa chọn thuộc tính
phân lớp
Lựa chọn xuất kết quả
15
NỘI DUNG TRÌNH BÀY
Giới thiệu chức năng phân lớp
Một số bộ phân lớp phổ biến
Cây quyết định ID3
NaiveBayes
Tổng kết
16
CÁC THUẬT TOÁN PHÂN LỚP
Weka hỗ trợ tương đối đa dạng các thuật toán phân lớp.
Các thuật toán được chia thành nhiều nhóm dựa theo tính chất hoạt
động, có thể kể đến một số đại diện như:
Bayes: mạng Bayes, NaiveBayes…
Functions: SVM, hàm hồi qui…
Trees: ID3, J48…
Rules: các phương pháp khai thác dựa trên luật
17
CÂY QUYẾT ĐỊNH
Là mô hình phân lớp dạng cây sao cho bắt đầu từ một số thuộc tính
nào đó (nút trung gian) có thể đi đến quyết định phân lớp cho một
mẫu (nút lá).
Ví dụ: ID3, J48…
18
CÁC BƯỚC THỰC HIỆN
19
PHÂN TÍCH KẾT QUẢ
Thông tin tóm tắt về lượt chạy: thuật toán sử dụng, dữ liệu đầu vào
(tên, các thuộc tính…), kiểu test.
=== Run information ===
Scheme: weka.classifiers.trees.Id3 ……………..
Relation: weather.symbolic
Instances: 14 Tên thuật toán
Attributes: 5 Tham số đi kèm
outlook
temperature
humidity
windy
play
Test mode: evaluate on training data
20
PHÂN TÍCH KẾT QUẢ
Cây quyết định được xây dựng từ thuật toán ID3 và dữ liệu weather.
=== Classifier model (full training set) ===
Id3
outlook = sunny
| humidity = high: no
| humidity = normal: yes
outlook = overcast: yes
outlook = rainy
| windy = TRUE: no
| windy = FALSE: yes
Time taken to build model: 0 seconds
21
PHÂN TÍCH KẾT QUẢ
So sánh kết quả dự đoán của từng mẫu so với thực tế. Để khởi
động chức năng này, chọn More options Output predictions.
=== Predictions on test data ===
inst#, thực sự dự báo error probability distribution
1 2:no 2:no 0 *1
2 1:yes 1:yes *1 0
3 2:no 2:no 0 *1
4 1:yes 1:yes *1 0
5 2:no 1:yes + *1 0
6 1:yes 1:yes *1 0
7 2:no 2:no 0 *1
8 1:yes 2:no + 0 *1
22
PHÂN TÍCH KẾT QUẢ
Thống kê về tỉ lệ phân lớp đúng/sai, kèm theo một số thông số về
những độ đo lỗi phổ biến.
=== Tóm tắt thống kê ===
Trường hợp phân lớp đúng 12 85.7143 %
Trường hợp phân lớp sai 2 14.2857 %
Kappa statistic 0.6889
Mean absolute error 0.1429
Root mean squared error 0.378
Relative absolute error 30 %
Root relative squared error 76.6097 %
Total Number of Instances 14
23
PHÂN TÍCH KẾT QUẢ
Confusion matrix thể hiện phân bố các lớp do Weka dự đoán so với
thực tế. Cột chỉ số mẫu phân bố về lớp tương ứng do Weka thực
hiện, dòng chỉ số mẫu thuộc về lớp tương ứng trong thực tế.
Ví dụ: Cột a có 9 mẫu Weka phân lớp 9 mẫu thuộc lớp a, nhưng
9 mẫu này thuộc hai dòng a = yes (8) và b = no (1) Weka phân
lớp sai 1 mẫu.
=== Confusion Matrix ===
a b <-- classified as
8 1 | a = yes
1 4 | b = no
24
NAÏVE BAYES
Là mô hình phân lớp dựa trên xác suất thống kê theo định lý Bayes.
Trong Weka, chúng ta quan tâm đến dạng Bayes đơn giản nhất, đó
là NaiveBayesSimple.
Cách sử dụng: tương tự các bước thực hiện trong Cây quyết định
ID3. nhưng thay vì đầu ra là mô hình cây quyết định thì sẽ là các giá
trị xác suất.
25
PHÂN TÍCH KẾT QUẢ
=== Classifier model (full training set) ===
N(Play = yes)+1
N(outlook = sunny play = yes)+1
Naive Bayes (simple) N+n n: tổng số lớp
N+m m: tổng số giá trị
Class yes: P(C) = 0.625
Attribute outlook
sunny overcast rainy
0.25 0.41666667 0.33333333 Làm trơn Laplace
………………..
Class no: P(C) = 0.375
………
Time taken to build model: 0 seconds
26
NỘI DUNG TRÌNH BÀY
Giới thiệu chức năng phân lớp
Một số bộ phân lớp phổ biến
Cây quyết định ID3
NaiveBayes
Tổng kết
27
TỔNG KẾT
Phân lớp (classify) được hỗ trợ trong chức năng Explorer của
Weka. Đây là chức năng giúp người dùng phân lớp dữ liệu dựa trên
quá trình gồm 2 bước:
Huấn luyện: xây dựng bộ phân lớp dựa trên dữ liệu huấn luyện
đã được phân lớp sẵn.
Dự đoán: sử dụng bộ phân lớp để quyết định một mẫu mới
thuộc về phân lớp nào.
Một số bộ phân lớp phổ biến: Cây quyết định (ID3, J48),
NaiveBayes, kNN….
28
Get documents about "