Kiến Trúc Thư Viện Weka - 123doc
Có thể bạn quan tâm
3.2 Giới thiệu về cơng cụ Weka, cấu hình và ứng dụng trong hỗ trợ chẩn đốn bệnh
3.2.3 Kiến trúc thư viện Weka
Để thuận tiện cho việc sử dụng của người dùng, kiến trúc thư viện của Weka được xây dựng với hơn 600 lớp và được tổ chức thành 10 gĩi (package), trong đĩ, mỗi package sẽ thực hiện một nhiệm vụ chức năng riêng biệt trong quá trình khai thác dữ liệu. Để người dùng cĩ thể tự xây dựng ứng dụng của bản thân mình thì người dùng cĩ thể trực tiếp sử dụng những package này để xây dựng các chương trình. Weka cĩ một số lượng lớn các cơng cụ hồi quy và phân loại. Một số cơng cụ hồi quy phổ biến là:
● M5Rules (thuật tốn M5' được trình bày dưới dạng hàm tốn học khơng cĩ cây) ● DecisionStump (giống như M5' nhưng với một đầu ra số duy nhất trong mỗi nút) ● M5P (tách miền thành các vùng nhị phân kế tiếp và sau đĩ phù hợp với các mơ hình tuyến tính cho mỗi nút cây)
● RandomForest (một số cây mơ hình kết hợp) ● RepTree (một số cây mơ hình kết hợp) ● ZeroR (giá trị trung bình của kết quả đầu ra)
● DecisionRules (chia tách dữ liệu thành nhiều vùng dựa trên một biến độc lập và cung cấp một giá trị đầu ra cho mỗi phạm vi)
● LinearRegression
● Sự hồi quy vector hỗ trợ
● SimpleLinearRegression (sử dụng một biến chặn và chỉ 1 biến đầu vào cho dữ liệu đa biến)
● MultiLayerPerceptron (mạng nơron) ● GaussianProcesses
kê (Statistical tests) giữa các mơ hình học máy ● KnowledgeFlow
Mơi trường cho phép bạn tương tác đồ hoạ kiểu kéo/thả để thiết kế các bước (các thành phần) của một thí nghiệm
3.2.5 Định dạng dữ liệu của Weka
Weka hỗ trợ khá nhiều định dạng như: ● ARFF: *.arff
● CVS files: *.cvs
● C4.5 files: *.name, *.data ● XRFF files: *.xrff
Trong đĩ, ARFF là định dạng chính được sử dụng phổ biến nhất trong Weka. ARFF là định dạng được sử dụng chính trong Weka, được biểu diễn dưới một dạng file text cĩ thể đọc được một cách đơn giản bằng các chương trình như notepad… mà khơng cần phải cĩ chương trình chuyên dụng. Các dữ liệu trong file là giá trị thuộc tính của các thể hiện (instance) cĩ chung tập hợp các thuộc tính. ARFF dễ thao tác và dễ hiểu, người dùng cĩ thể tự tạo cho mình một file ARFF khi hiểu về những quy định chuẩn của nĩ. Tuy nhiên, vì là định dạng chuyên dụng cho mỗi chương trình Weka nên những ứng dụng khác khơng thể đọc được nĩ. Do đĩ, khi sử dụng kết hợp Weka với các chương trình khác thì người dùng buộc phải xây dựng các module để chuyển kiểu dữ liệu từ ARFF sang kiểu dữ liệu tương ứng với chương trình đĩ. Cấu trúc tập tin *.ARFF bao gồm các thành phần:
● Header: chứa khai báo quan hệ, danh sách các thuộc tính (tên, kiểu dữ liệu). ● Data: gồm nhiều dịng, mỗi dịng thể hiện giá trị của các thuộc tính cho một mẫu.
● Các kiểu dữ liệu được hỗ trợ trong ARFF bao gồm: - numeric: là kiểu dữ liệu số, gồm real và integer - nominal: là kiểu dữ liệu danh sách.
- string: là kiểu dữ liệu dạng chuỗi
- date: kiểu dữ liệu thời gian (ngày tháng năm, giờ phút giây…)
Các dịng bắt đầu bằng % là nhận xét. @RELATION, @ATTRIBUTE và Khai báo @DATA khơng phân biệt chữ hoa chữ thường
3.2.6 Các bước chức năng phân lớp (Classify)
Các bước thực hiện:
● Bước 1: Tại tab Preprocess, chọn tập dữ liệu và thực hiện tiền xử lý dữ liệu
Hình 3.8: Biểu diễn chọn tap Classify để phân loại
● Bước 2: Chọn thuật tốn phân loại và xác định tham số
● Bước 3: Chọn kiểu test và tập dữ liệu test nếu cĩ
Hình 3.10: Biểu diễn chọn kiểu test
Sau khi em chọn tập dữ liệu, thuật tốn phân loại và xác định số, chọn kiểu test, và tập dữ liệu test nếu cần chạy thuật tốn phân loại.
Hình 3.12: Bảng lưu thơng tin
● Bước 5: Ghi nhận kết quả
3.2.7 Mơ tả chức năng phân lớp (Classify)
Phân tích kết quả: Trong hình 3.14 trên là màn hình kết quả biểu diễn cho xem xét kết quả sau khi chạy:
● Running Information: Là thơng tin về mơ hình học, tên quan hệ, số mẫu, thuộc tính và kiểu test
Hình 3.14 : Giải thích Running Information
● Classifier model (Full training set): Cho biết mơ hình phân loại được xây dựng dựa trên cả tập huấn luyện
Hình 3.16 : Giải thích xem xét tổng kết số liệu thống kê tập dữ liệu
● Độ chính xác chi tiết cho từng phân lớp
Hình 3.17: Độ chính xác chi tiết cho từng phân lớp
● Confusion matrix: Cho biết bao nhiêu mẫu được gán vào từng lớp. Các phần tử của ma trận thể hiện số mẫu test cĩ lớp thật sự là dịng và lớp dự đoạn là cột
Hình 3.18: Confusion matrix của bộ phân loại dữ liệu BreastCancer
3.3 Phân tích, đánh giá kết quả thực nghiệm
Trong luận văn này, em sẽ phân tích, đánh giá kết quả thực nghiệm (Classification) trên tập dữ liệu BreastCancer. Đây là tập dữ liệu mơ tả các đặc tính của bệnh ung thư vú, cùng với nhãn phân loại cĩ bị bệnh hay khơng bị bệnh. Các thuật tốn được sử dụng gồm: Nạve Bayes, Support Vector Machines, Decision tree (J48), Nearest neighbor. Bơ cơng cụ Weka được sử dụng để xây dựng và huấn luyện mơ hình phân tích dự đốn.
Mơ hình phân loại dự đốn đề xuất trong đề tài này được hiển thị chi tiết qua hình dưới đây:
Hình 3.19: Sơ đồ tổng thể mơ hình phân lớp dự đốn bệnh ung thư (breast cancer)
3.3.1 Thực nghiệm
Để so sánh hiệu quả của các phương pháp SVM, NB, J48 và k-NN, em đã tiến hành một thử nghiệm tập trung vào đánh giá cả hiệu quả và hiệu quả của các thuật tốn. Chính xác hơn, các câu hỏi nghiên cứu đặt ra cho thử nghiệm là: Thuật tốn nào khai thác hiệu quả tốt hơn? Thuật tốn nào hiệu quả hơn? Cái mà thuật tốn cung cấp độ chính xác cao hơn?
3.3.1.1 Mơi trường thử nghiệm
Tất cả các thử nghiệm trên bộ phân loại được mơ tả trong luận văn này được thực hiện bằng cách sử dụng các thư viện từ Weka mơi trường học máy. WEKA chứa một bộ sưu tập các thuật tốn học máy để xử lý trước dữ liệu, phân loại, hồi quy, phân cụm và các quy tắc kết hợp. Các kỹ thuật học máy được triển khai trong WEKA được áp dụng cho nhiều vấn đề trong thế giới thực. Chương trình cung cấp một khuơn khổ được xác định rõ ràng cho người thử nghiệm và nhà phát triển để xây dựng và đánh giá mơ hình của họ.
1 Sample code number Mã số mẫu danh (ID number)
2 Clump Thickness Độ dày cụm 1 – 10
3 Uniformity of Cell Size Tính đồng nhất của kích thước tế bào 1 – 10 4 Uniformity of Cell Shape Tính đồng nhất của hình dạng tế bào 1 – 10
5 Marginal Adhesion Kết dính biên 1 – 10
6 Single Epithelial Cell
Size Kích thước tế bào biểu mơ đơn 1 – 10
7 Bare Nuclei Hạt nhân trần 1 – 10
8 Bland Chromatin Chất nhiễm sắc nhạt 1 – 10
9 Normal Nucleoli Nucloeli bình thường 1 – 10
10 Mitoses
Sự phân bào cĩ tơ
(sự phân bào trong đĩ 1 tế bào được phân chia thành 2 tế bào nhỏ hơn cĩ cùng số lượng nhiễm sắc thể với tế bào gốc)
1 – 10 11 Class Phân lớp 2: benign - ác tính; 4: malignant – Lành tính
3.3.2 Thực hiện phân lớp bằng thuật tốn Nạve Bayes
Kịch bản 1: Thực hiện huấn luyện trong chế độ phân lớp Percentage split đề xác
định tỉ lệ phân chia, trong thực nghiệm này em xác định tỉ lệ 80%, cĩ nghĩa là chia 80% tập huấn luyện (tập trian), 20% tập kiểm tra (tập test). Đề đạt hiệu quả phân lớp như sau:
Nạve Bayes phân loại chính xác 134 (95.7143 %) phân loại khơng chính xác 6 (4.2857 %) ● Đánh giá về phần tách thử nghiệm cho Nạve Bayes
Bảng 3.5: Tĩm tắt cho Nạve Bayes (Kịch bản 1)
NB
Thống kê Kappa 0.9075
Sai số trung bình tuyệt đối 0.0434 Lỗi bình phương trung bình gốc 0.2067 Sai số tuyệt đối tương đối 9.5354 % Lỗi bình phương tương đối gốc 43.1196 %
Tổng số phiên bản 140
● Độ chính xác chi tiết theo lớp cho Nạve Bayes
Bảng 3.6: Các thước đo độ chính xác của thuật tốn Nạve Bayes (kịch bản 1)
TP FP Precision Recall F-Measure MCC ROC PRC Class
Nạve Bayes 0.956 0.040 0.977 0.956 0.966 0.908 0.944 0.997 Lành tính 0.960 0.044 0.923 0.960 0.941 0.908 0.990 0.971 Ác Tính Weighted Avg 0.957 0.042 0.958 0.957 0.957 0.908 0.993 0.988 ● Ma trận nhầm lẫn (Confusion matrix) Bảng 3.7: Ma trận nhầm lẫn (kịch bản 1) Phân loại Lành tính Ác tính NB Phiên họp1 86 4 Phiên họp2 2 48
Kịch bản 2: Thực nghiệm huấn luyện trong chế độ phân Cross-validation. Tập
dữ liệu sẽ được chia đều k tập (folds) cĩ kích thước xấp xỉ nhau và bộ phân loại học được sẽ được đánh giá bởi phương pháp Cross-validation. Trong thực nghiệm này em xác định chọn fold = 10, để đạt hiệu quả phân lớp như sau:
Nạve Bayes
Sai số trung bình tuyệt đối 0.0403 Lỗi bình phương trung bình gốc 0.1983 Sai số tuyệt đối tương đối 8.926 % Lỗi bình phương tương đối gốc 41.7119 %
Tổng số phiên bản 699
● Độ chính xác chi tiết theo lớp cho Nạve Bayes
Bảng 3.10: Các thước đo độ chính xác của thuật tốn Nạve Bayes (kịch bản 2)
TP FP Precision Recall F- Measure MCC ROC PRC Class NB 0.952 0.025 0.986 0.952 0.969 0.914 0.987 0.995 Lành tính 0.975 0.048 0.914 0.975 0.944 0.914 0.983 0.942 Ác tính Weighted Avg 0.960 0.033 0.962 0.960 0.960 0.914 0.986 0.977 ● Ma trận nhầm lẫn (Confusion matrix) Bảng 3.11: Ma trận nhầm lẫn của NB (kịch bản 2) Phân loại Lành tính Ác tính NB Phiên họp1 436 22 Phiên họp2 6 235
3.3.3 Thực hiện phân lớp bằng thuật tốn K-Nerrest neighbor
Thuật tốn hỗ trợ cả phân lớp và hồi quy. Nĩ cũng được gọi là KNN cho ngắn gọn. Nĩ hoạt động bằng cách lưu trữ tồn bộ tập dữ liệu huấn luyện và truy vấn nĩ để xác định vị trí của các mẫu đào tạo tương tự nhất khi đưa ra dự đốn. Như vậy, khơng
cĩ mơ hình nào ngồi tập dữ liệu huấn luyện thơ và phép tính duy nhất được thực hiện là truy vấn bộ dữ liệu huấn luyện khi yêu cầu dự đốn.
Theo Cấu hình Weka cho thuật tốn k-NN em được xác định giá trị tham số K (số K là số láng giềng gần nhất ) K = 1 và dùng khoảng cách Euclidean để tính khoảng cách giữa các trường hợp, điều này tốt cho dữ liệu số cĩ cùng tỷ lệ. khoảng cách Manhattan là tốt để sử dụng nếu thuộc tính khác nhau về các biện pháp hoặc loại.
Kịch bản 1: Thực hiện huấn luyện trong chế độ phân lớp Percentage split đề xác
định tỉ lệ phân chia, trong thực nghiệm này em xác định tỉ lệ 80%, cĩ nghĩa là chia 80% tập huấn luyện (tập trian), 20% tập kiểm tra (tập test). Đề đạt hiệu quả phân lớp như sau:
Bảng 3.12: Độ chính xác của thuật tốn k-NN (kịch bản 1) K-NN phân loại chính xác 134 (95.7143 %)
phân loại khơng chính xác 6 (4.2857 %) ● Đánh giá về phần tách thử nghiệm cho k-NN
Bảng 3.13: Tĩm tắt cho k-NN (kịch bản 1)
K-NN
Thống kê Kappa 0.9067
Sai số trung bình tuyệt đối 0.0445 Lỗi bình phương trung bình gốc 0.2067 Sai số tuyệt đối tương đối 9.7789 % Lỗi bình phương tương đối gốc 43.1086 %
Tổng số phiên bản 140
● Độ chính xác chi tiết theo lớp cho k-NN
Bảng 3.14: Các thước đo độ chính xác của thuật tốn k-NN (kịch bản 1)
TP FP Precision Recall F-Measure MCC ROC PRC Class
k-NN 0.967 0.060 0.967 0.967 0.967 0.907 0.953 0.956 Lành tính 0.940 0.033 0.940 0.940 0.940 0.907 0.953 0.95 Ác tính Weighted Avg 0.957 0.050 0.957 0.957 0.957 0.907 0.953 0.938
dữ liệu sẽ được chia đều k tập (folds) cĩ kích thước xấp xỉ nhau và bộ phân loại học được sẽ được đánh giá bởi phương pháp Cross-validation. Trong thực nghiệm này em xác định chọn fold = 10, để đạt hiệu quả phân lớp như sau:
Bảng 3.16: Độ chính xác của thuật tốn k-NN (kịch bản 2) K-NN
phân loại chính xác 665 (95.1359 %) phân loại khơng chính xác 34 (4.8641 %) ● Đánh giá về phần tách thử nghiệm cho k-NN
Bảng 3.17: Tĩm tắt cho k-NN (kịch bản 2)
K-NN
Thống kê Kappa 0.8919
Sai số trung bình tuyệt đối 0.0501
Lỗi bình phương trung bình gốc 0.2202
Sai số tuyệt đối tương đối 11.077 %
Lỗi bình phương tương đối gốc 46.3291 %
Tổng số phiên bản 699
● Độ chính xác chi tiết theo lớp cho k-NN
Bảng 3.18: Các thước đo độ chính xác của thuật tốn k-NN (kịch bản 2)
TP FP Precision Recall F-Measure MCC ROC PRC Class
k-NN 0.967 0.079 0.959 0.967 0.963 0.892 0.945 0.952 Lành tính 0.921 0.03 0.937 0.921 0.929 0.892 0.945 0.888 Ác tính Weighted Avg 0.921 0.03 0.951 0.951 0.951 0.892 0.945 0.930
● Ma trận nhầm lẫn (Confusion matrix) Bảng 3.19: Ma trận nhầm lẫn của (kịch bản 2) K-NN Phân loại Lành tính Ác tính Phiên họp1 433 15 Phiên họp2 19 22
3.3.4 Thực hiện phân lớp bằng thuật tốn Support Vector Machines
Tham số C, được gọi là tham số độ phức tạp trong Weka kiểm sốt mức độ linh hoạt của quy trình vẽ đường phân tách các lớp cĩ thể. Giá trị 0 cho phép khơng vi phạm ký quỹ, trong khi mặc định là 1.
Một tham số chính trong SVM là loại Kernel sẽ sử dụng. Hạt nhân đơn giản nhất là hạt nhân tuyến tính phân tách dữ liệu bằng một đường thẳng hoặc siêu phẳng. Mặc định trong Weka là một hạt nhân đa thức sẽ phân tích các lớp bằng cách sử dụng một đường cong hoặc uốn lượn, đa thức càng cao, càng lung lay (giá trị số mũ).
Một hạt nhân phổ biến và mạnh mẽ là kernel RBF hoặc Radial Basis Function kernel cĩ khả năng học các đa giác khép kín và các hình dạng phức tạp để phân tách các lớp.
Đĩ là một ý tưởng tốt để thử một bộ các giá trị hạt nhân và C (Độ phức tạp) khác nhau về vấn đề của bạn và xem cái gì hoạt động tốt nhất.
Kịch bản 1: Thực hiện huấn luyện trong chế độ phân lớp Percentage split đề xác
định tỉ lệ phân chia, trong thực nghiệm này em xác định tỉ lệ 80%, cĩ nghĩa là chia 80% tập huấn luyện (tập trian), 20% tập kiểm tra (tập test). Đề đạt hiệu quả phân lớp như sau:
Bảng 3.20: Độ chính xác của thuật tốn SVM (kịch bản 1)
SVM phân loại chính xác 135 (96.4286 %) phân loại khơng chính xác 5 (3.5714 %) ● Đánh giá về phần tách thử nghiệm cho SVM
Bảng 3.21: Tĩm tắt cho SVM (kịch bản 1)
SVM
Thống kê Kappa 0.9226
Sai số trung bình tuyệt đối 0.0357 Lỗi bình phương trung bình gốc 0.189 Sai số tuyệt đối tương đối 7.8505 %
SVM 0.967 0.040 0.978 0.967 0.972 0.923 0.963 0.966 tính 0.960 0.33 0.941 0.960 0.950 0.923 0.963 0.918 Ác tính Weighted Avg 0.964 0.038 0.965 0.964 0.964 0.923 0.963 0.949 ● Ma trận nhầm lẫn (Confusion matrix) Bảng 3.23: Ma trận nhầm lẫn của (kịch bản 1) SVM Phân loại Lành tính Ác tính Phiên họp1 87 3 Phiên họp2 2 48
Kịch bản 2: Thực nghiệm huấn luyện trong chế độ phân Cross-validation. Tập
dữ liệu sẽ được chia đều k tập (folds) cĩ kích thước xấp xỉ nhau và bộ phân loại học được sẽ được đánh giá bởi phương pháp Cross-validation. Trong thực nghiệm này em xác định chọn fold = 10, để đạt hiệu quả phân lớp như sau:
Bảng 3.24: Độ chính xác của thuật tốn SVM (kịch bản 2)
SVM phân loại chính xác 676 ( 96.7096 %)
phân loại khơng chính xác 23 ( 3.2904 %)
● Đánh giá về phần tách thử nghiệm cho SVM
Bảng 3.25: Tĩm tắt cho SVM (kịch bản 2)
SVM
Thống kê Kappa 0.9274
Sai số trung bình tuyệt đối 0.0329
Lỗi bình phương trung bình gốc 0.1814
Sai số tuyệt đối tương đối 7.2803 %
Lỗi bình phương tương đối gốc 38,1642 %
● Độ chính xác chi tiết theo lớp cho SVM
Bảng 3.26: Các thước đo độ chính xác của thuật tốn SVM (kịch bản 2)
TP FP Precision Recall F-Measure MCC ROC PRC Class
SVM 0.972 0.041 0.978 0.972 0.975 0.927 0.965 0.969 Lành tính 0.959 0.028 0.947 0.959 0.953 0.927 0.965 0.922 Ác tính Weighted Avg 0.967 0.037 0.967 0.967 0.967 0.927 0.965 0.953 Ma trận nhầm lẫn (Confusion matrix) Bảng 3.27: Ma trận nhầm lẫn của (kịch bản 2) Phân loại Lành tính Ác tính SVM Phiên họp1 445 13 Phiên họp2 10 231
3.3.5 Thực hiện phân lớp bằng thuật tốn Decision tree (J48)
Kịch bản 1: Thực hiện huấn luyện trong chế độ phân lớp Percentage split đề xác
định tỉ lệ phân chia, trong thực nghiệm này em xác định tỉ lệ 80%, cĩ nghĩa là chia 80% tập huấn luyện (tập trian), 20% tập kiểm tra (tập test). Đề đạt hiệu quả phân lớp như sau:
Bảng 3.28: Độ chính xác của thuật tốn J48 (kịch bản 1)
Từ khóa » Trúc Svm
-
Đi Dự Đám Cưới Trúc Diễn Viên SVM Cùng Đức Chủ Tịch Và Anh ...
-
Troll Diễn Viên SVM ( P4 ) / Trúc SVM Đòi Ly Dị Thịnh Ngáo Và Cái ...
-
Trúc Ninh Đỗ | Facebook
-
Giới Thiệu Về Support Vector Machine (SVM) - Viblo
-
Đầu Giảm Tốc đồng Trục SVM
-
KHÁI QUÁT HÓA PHƯƠNG PHÁP ĐIỀU CHẾ VECTOR KHÔNG ...
-
SVM TV - TV360
-
Mô Hình Hai Giai đoạn Dự đoán Giá Cổ Phiểu Với K-means Và Fuzzy-svm
-
Đánh Giá Các Phương Pháp điều Chế SinPWM, SVM Cho Biến Tần ...
-
Mạch điều Khiển Ngoài SVM Trục X-Y, Z-A Máy CNC A20B-2101-089
-
Đầu Giảm Tốc đồng Trục SVM - Motor điện Cơ
-
TÓM TẮT - Tap Chi Y Hoc Thanh Pho Ho Chi Minh - UMP
-
Bài 38 - Các Kiến Trúc CNN Hiện đại - Khoa Học Dữ Liệu
-
Quỳnh Anh Svm