Kiến trúc thư viện Weka

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer) (Trang 50)

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)

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer) (Trang 50)

Tải bản đầy đủ (PDF)

(78 trang)