Mục lục BÁO CÁO ĐỒ ÁN KHAI PHÁ DỮ LIỆU 1 Giáo viên hướng dẫn: Hồ Nhật Quang 1 Sinh Viên: Nguyễn Thị Thu Thảo 1 Lớp: CNPM 6 1 A. Mở đầu: 2 B. Bài toán tìm luật phân lớp: 3 C. Mô tả tập dữ liệu Sunburn – Rám nắng: 3 D. Yêu cầu của Bài Toán: 4 1. Khởi động Weka: 4 E. Áp dụng thuật toán cây quyết định J48 để huấn luyện tập dữ liệu mới: 7 F. Áp dụng thuật toán ID3 để huấn luyện tập dữ liệu mới: 12 G. So sánh kết quả giữa thuật toán J48 và thuật toán ID3: 16 A. Mở đầu: o Xây dựng hệ thống phân lớp là một yêu cầu khai phá dữ liệu.Nhờ các luật phân lớp ta có thể rút ra các đặc tính chung của đối tượng thuộc cùng một lớp hoặc có thể dự báo nhằm xếp lớp các đối tượng sẽ gặp phải trong tương lai. Có rất nhiều thuật toán tìm luật phân lớp như: Tìm luật phân lớp từ cây quyết định J48, cây định danh ID3 hay một số thuật toán khác… o Các thuật toán tìm luật phân lớp có các bước sau: • Tìm tập phổ biến từ CSDL • Tạo đồ thị liên kết dựa trên luật kết hợp • Phân hoạch đồ thị theo ngưỡng để thu được các cụm từ miền liên thông
Trang 1Cộng hòa xã hội chủ nghĩa Việt Nam Độc lập – Tự do – Hạnh phúc
BÁO CÁO ĐỒ ÁN KHAI PHÁ DỮ LIỆU
Đề Tài:
Sử dụng phần mềm Weka khai phá bộ dữ liệu SUNBURN với
thuật toán phân lớp
Giáo viên hướng dẫn: Hồ Nhật Quang
Sinh Viên: Nguyễn Thị Thu Thảo Lớp: CNPM 6
Trang 2Mục lục
A.Mở đầu: 2
B.Bài toán tìm luật phân lớp: 3
C.Mô tả tập dữ liệu Sunburn – Rám nắng: 3
D.Yêu cầu của Bài Toán: 4
1.Khởi động Weka: 4
E.Áp dụng thuật toán cây quyết định J48 để huấn luyện tập dữ liệu mới: 7
F.Áp dụng thuật toán ID3 để huấn luyện tập dữ liệu mới: 12
G.So sánh kết quả giữa thuật toán J48 và thuật toán ID3: 16
A Mở đầu:
các luật phân lớp ta có thể rút ra các đặc tính chung của đối tượng thuộc cùng một lớp hoặc có thể dự báo nhằm xếp lớp các đối tượng
sẽ gặp phải trong tương lai Có rất nhiều thuật toán tìm luật phân
Trang 3lớp như: Tìm luật phân lớp từ cây quyết định J48, cây định danh ID3 hay một số thuật toán khác…
o Các thuật toán tìm luật phân lớp có các bước sau:
liên thông
cụ để phân lớp cho tập dữ liệu Sunburn.arff.
thuộc trường ĐH Waitako, NZ khởi xướng và được sự đóng góp của rất nhiều các nhà nghiên cứu trên thế giới
triển có thể tích lợp vào môi trường của nó
B Bài toán tìm luật phân lớp:
Cho CSDL phân lớp r được tạo từ R trong đó có chứa thuộc tính quyết định và một ngưỡng ErrorT phản ánh mức độ sai số của các luật phân lớp.Tìm các luật phân lớp X Y sao cho lỗi của phân lớp
Error (X Y) =< ErrorT
C Mô tả tập dữ liệu Sunburn – Rám nắng:
Tập dữ liệu Sunburn.arff thu thập được qua việc khảo sát rám nắng dựa
vào tóc, chiều cao, cân nặng, dùng thuốc để xác định người đó có bị rám nắng hay không?
có trong tập dữ liệu
Trang 4• Bảng miêu tả tên thuộc tính, kiểu dữ liệu và các giá trị của từng thuộc tính:
STT Tên thuộc tính Kiểu dữ liệu Các giá trị
5 burned Nomina Burned, none
STT Tên thuộc tính Kiểu dữ liệu Các giá trị
5 Rám nắng Nomina Bị rám nắng, Không bị
D Yêu cầu của Bài Toán:
Sử dụng 1 trong các thuật toán cây quyết định do Weka cung cấp (ID3, J48…) để huấn luyện tập dữ liệu
1 Khởi động Weka:
Khởi động Weka Explorer / Preprocess / Open file / chọn CSDL Sunburn.arff
Trang 5Cửa sổ Preprocess sẽ hiện ra:
Trang 7E Áp dụng thuật toán cây quyết định J48 để huấn luyện tập dữ liệu mới:
o Cây quyết định từ kết quả sau khi chạy thuật toán:
o Thuật toán J48 được lựa chọn và đã không xảy ra vấn đề gì
o Kết quả chạy khi thiết lập sử dụng tất cả những dữ liệu đào tạo:
Kết quả:
=== Run information ===
Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2
Trang 8Relation: sunburn
Instances: 8
Attributes: 5
hair
height
weight
lotion
burned
Test mode: evaluate on training data
=== Classifier model (full training set) ===
J48 pruned tree
-lotion = yes: none (3.0)
lotion = no: burned (5.0/2.0)
Size of the tree : 3
Time taken to build model: 0.01 seconds
=== Evaluation on training set ===
=== Summary ===
Correctly Classified Instances 6 75 %
Incorrectly Classified Instances 2 25 %
Kappa statistic 0.5294
Mean absolute error 0.3
Root mean squared error 0.3873
Trang 9Relative absolute error 63.1579 %
Root relative squared error 79.8935 %
Total Number of Instances 8
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class
1 0.4 0.6 1 0.75 0.8 burned
0.6 0 1 0.6 0.75 0.8 none
Weighted Avg 0.75 0.15 0.85 0.75 0.75 0.8
=== Confusion Matrix ===
a b < classified as
3 0 | a = burned
2 3 | b = none
Đánh giá:
50% dữ liệu còn lại
Kết quả:
Trang 10=== Run information ===
Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2
Relation: sunburn
Instances: 8
Attributes: 5
hair
height
weight
lotion
burned
Test mode: split 50.0% train, remainder test
=== Classifier model (full training set) ===
J48 pruned tree
-lotion = yes: none (3.0)
lotion = no: burned (5.0/2.0)
Size of the tree : 3
Time taken to build model: 0.01 seconds
=== Evaluation on test split ===
=== Summary ===
Correctly Classified Instances 2 50 %
Incorrectly Classified Instances 2 50 %
Kappa statistic 0
Trang 11Mean absolute error 0.5
Root mean squared error 0.559
Relative absolute error 100 %
Root relative squared error 106.066 %
Total Number of Instances 4
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class
0 0 0 0 0 0.5 burned
1 1 0.5 1 0.667 0.5 none
Weighted Avg 0.5 0.5 0.25 0.5 0.333 0.5
=== Confusion Matrix ===
a b < classified as
0 2 | a = burned
0 2 | b = none
Đánh giá:
o Từ 2 kết quả trên ta nhận thấy:
Kết quả chạy khi thiết lập sử dụng tất cả những dữ liệu đào tạo tối
ưu hơn khi thiết lập sử dụng Percentage split với 50% vì tỉ lệ phân lớp đúng là 75% và số mẫu test là 6
Trang 12F Áp dụng thuật toán ID3 để huấn luyện tập dữ liệu mới:
o Kết quả chạy khi thiết lập sử dụng tất cả những dữ liệu đào tạo:
Kết quả:
=== Run information ===
Scheme: weka.classifiers.trees.Id3
Relation: sunburn
Instances: 8
Attributes: 5
hair
height
weight
lotion
burned
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Id3
hair = blonde
| lotion = yes: none
Trang 13| lotion = no: burned
hair = brown: none
hair = red: burned
Time taken to build model: 0 seconds
=== Evaluation on training set ===
=== Summary ===
Correctly Classified Instances 8 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 8
=== Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure ROC Area Class 1 0 1 1 1 1 burned 1 0 1 1 1 1 none Weighted Avg 1 0 1 1 1 1
=== Confusion Matrix ===
a b < classified as
3 0 | a = burned
0 5 | b = none
Trang 14Đánh giá:
o Kết quả chạy khi thiết lập sử dụng 90% dữ liệu đào tạo, test 10%
dữ liệu đào tạo còn lại:
Kết quả:
=== Run information ===
Scheme: weka.classifiers.trees.Id3
Relation: sunburn
Instances: 8
Attributes: 5
hair
height
weight
lotion
burned
Test mode: split 90.0% train, remainder test
=== Classifier model (full training set) ===
Id3
Trang 15hair = blonde
| lotion = yes: none
| lotion = no: burned
hair = brown: none
hair = red: burned
Time taken to build model: 0 seconds
=== Evaluation on test split ===
=== Summary ===
Correctly Classified Instances 1 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 1
=== Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0 0 0 0 0 ? burned 1 0 1 1 1 ? none Weighted Avg 1 0 1 1 1 0
=== Confusion Matrix ===
a b < classified as
0 0 | a = burned
Trang 160 1 | b = none
Đánh giá:
o Tổng kết thuật toán ID3:
Sau khi chạy thuật toán theo phương pháp ID3 thì nếu sử dụng tất
cả những dữ liệu đào tạo sẽ cho hiệu quả phân lớp cao nhất là 100% với số mẫu test là 8
G.So sánh kết quả giữa thuật toán J48 và thuật toán ID3:
cho hiệu quả phân lớp tốt, nhưng không phải hiệu quả nhất bởi vì
số mẫu test và tỉ lệ phân lớp của thuật toán J48 là 6 và 75% Còn số mẫu test và tỉ lệ phân lớp của thuật toán ID3 là 8 – 100%
Percentage split sẽ đạt được hiểu quả phân lớp cao và tôí ưu nhất