3. Các nội dung nghiên cứu của luận văn
3.3.1. Đánh giá kết quả sau thực nghiệm
Đánh giá Confusions Matrix.
Cách đơn giản và hay được sử dụng nhất là Accuracy (độ chính xác). Cách đánh giá này đơn giản tính tỉ lệ giữa số điểm được dự đoán đúng và tổng số điểm trong tập dữ liệu kiểm thử.
Accuracy = 𝑇𝑃+𝑇𝑁
𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁
Đánh giá Precision và Recall
Trong thực nghiệm đã thực hiện, số lượng các lớp không đồng đều, có chút chênh lệch. Với những trường hợp như vậy phép đo khá hiệu quả được sử dụng là Precision - Recall.
Precision = 𝑇𝑃
𝑇𝑃+𝐹𝑃 Recall = 𝑇𝑃
𝑇𝑃+𝐹𝑁
Precision và Recall đều là các số không âm nhỏ hơn hoặc bẳng một. Precision cao đồng nghĩa với việc độ chính xác của các điểm tìm được là cao. Recall cao đồng đồng nghĩa với việc True Positive Rate cao, tức tỉ lệ bỏ
50
sót các điểm thực sự positive là thấp. Từ hai đại lượng tính được ta có thể thấy mô hình phân lớp triển khai được là rất tốt.
Đánh giá F1-score
$F_1$ hay F1-score là harmonic mean của precision và recall. F1 – score có giá trị nằm trong nửa khoảng (0,1]. F1 càng cao, bộ phân lớp càng tốt. Khi cả recall và precision đều bằng 1 (tốt nhất có thể), F1 = 1.
2
𝐹1 =𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛1 + 𝑟𝑒𝑐𝑎𝑙𝑙1 hay F1 = 2 1 1
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 +𝑟𝑒𝑐𝑎𝑙𝑙1 = 2𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 .𝑟𝑒𝑐𝑎𝑙𝑙
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙
F1-score cao cho thấy chất lượng của mô hình cao.
Kết quả thử nghiệm với lựa chọn “Không biến đổi dữ liệu và không giảm
chiều dữ liệu” (hình 3.5).
Hình 3.5 Kết quảđánh giá không biến đổi và giảm chiều dữ liệu
Khi không biến đổi dữ liệu: Các thuật toán dạng cây quyết định cho hiệu quả khá tốt đặc biệt là RandomForest.
Mô hình có độ chính xác chung cao nhất là Randomforest với tham số là số lượng cây dự đoán n=100.
Các mô hình dựa trên khoảng cách như Logictic Regression, SVM cho hiệu quả chung khá thấp.
Kết quả thử nghiệm với lựa chọn “Biến đổi dữ liệu và không giảm chiều dữ
51
Hình 3.6 Kết quảđánh giá biến đổi và giảm chiều dữ liệu
Khi thực hiện đổi dữ liệu: Các thuật toán dạng cây quyết định vẫn cho hiệu quả khá tốt đặc biệt là RandomForest.
Mô hình có độ chính xác chung cao nhất là Randomforest với tham số là số lượng cây dự đoán n=100.
Các mô hình dựa trên khoảng cách như Logictic Regression, SVM cho hiệu quả chung cao hơn nhiều so với khi không thực hiện biến đổi dữ liệu.
Đánh giá kết quả với lựa chọn “Biến đổi dữ liệu và lựa chọn thuộc tính”
(hình 3.7).
Hình 3.7 Kết quảđánh giá biến đổi và lựa chọn thuộc tính dữ liệu
Khi thực hiện đổi dữ liệu: Các thuật toán dạng cây quyết định vẫn cho hiệu quả khá tốt đặc biệt là RandomForest.
52
Mô hình có độ chính xác chung cao nhất là Randomforest với tham số là số lượng cây dự đoán n=100.
Khi lựa chọn ít thuộc tính hơn, độ chính xác có giảm đôi chút so với cùng mô hình ban đầu.
Các mô hình dựa trên khoảng cách như Logictic Regression, SVM cho hiệu quả chung cao hơn nhiều so với khi không thực hiện biến đổi dữ liệu.
Bảng 3.3 Bảng tổng hợp kết quả thử nghiệm với thuật toán Random Forest
Kết luận
Mô hình Random Forest cho kết quả tốt nhất trong mọi trường hợp. Khi không sử dụng các phương pháp chuẩn hóa dữ liệu, độ chính xác của các mô hình không dựa trên khoảng cách như DS, RDF, … không ảnh hưởng nhiều nhưng các phương pháp dựa trên khoảng cách như Logistic Regression hay SVM ảnh hưởng rất lớn.
Khi lựa chọn thuộc tính và giảm chiều dữ liệu, độ chính xác của mô hình có giảm đi đôi chút so với việc sử dụng dữ liệu đầy đủ, nhưng tốc độ thực thi cao hơn.
Sử dụng mô hình để xây dựng chương trình quét mã độc thực tế
Sau quá trình huấn luyện, chọn mô hình RandomForest với n=100 để lưu lại sử dụng.
53
Sau khi chọn mô hình RandomForest n=100, lưu mô hình lại bằng thư viện pickle thành tệp classifier.pkl.
Kết quả thử nghiệm
100 file sạch được quét và cho kết quả: + 99 file được nhận dạng đúng là file sạch. + 1 file bị nhận nhầm thành mã độc.
99% phát hiện đúng. 300 mẫu mã độc:
+ 297 file được nhận dạng đúng là mã độc, 3 file bị nhận dạng nhầm hoặc bỏ sót.
99% phát hiện đúng.
Các trường hợp có thể xảy ra khi quét mã độc cụ thể. Trường hợp nhận dạng đúng mã độc.
Trường hợp tệp sạch nhận dạng thành mã độc.
Trường hợp nhận dạng đúng file sạch.
54