3. Các nội dung nghiên cứu của luận văn
3.2.1. Môi trường cài đặt
Công cụ được cài đặt trên môi trường hệ điều hành Windows 10 máy có cấu hình như sau (bảng 3.1):
48
Bảng 3.1 Bảng yêu cầu chức năng
Phần cứng Phần mềm và môi trường phát triển
CPU Core(TM) i5- 1135G7 @ 2.40GHz
RAM 8GB SSD 256 GB
HĐH: Windows 10 IDE: Spyder Anacoda Môi trường: Python 3
Thư viện hỗ trợ: Sklearn, Pickle, Pefile
Yêu cầu các phần mềm hỗ trợ (minh họa bảng 3.2)
Bảng 3.2 Bảng các phần mềm hỗ trợ
STT Tên Giấy phép Địa chỉ tải về
1 Python 3.8 GPL https://www.python.org/ 2 Anacoda Anaconda Inc https://repo.anaconda.com/archive/Anacond a3-2021.05-Windows-x86_64.exe 3.2.2. Thử nghiệm Các bước thực hiện
Bước 1: Chạy file Get_benign_file.py. Bước 2: Chạy file Feature_extraction.py. Bước 3: Chạy file Training.py.
Bước 4: Chạy file Savedmodel.py. Bước 5: Chạy Using_model.py.
Phương pháp huấn luyện và mẫu thử nghiệm.
Phương pháp đánh giá: Hold-out method (80% cho Training và 20% cho Testing).
49
Báo cáo thử nghiệm và đánh giá kết quả sử dụng kết hợp các mô hình và thuật toán sau (Hình 3.4):
Hình 3.4 Phương pháp chuẩn hóa, lựa chọn thuộc tính và mô hình học máy
3.3. Đánh giá kết quả
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ữ liệu” (hình 3.6).
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.