Thuật toán cây quyết định J48 (Decision Trees)

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân tích mức độ an toàn của ứng dụng android dựa trên học máy (Trang 47 - 50)

CHƯƠNG 2 : GIỚI THIỆU HỌC MÁY VÀ CÁC MÔ HÌNH HỌC MÁY

2.3 Các bước học máy

2.3.1 Thuật toán cây quyết định J48 (Decision Trees)

J48 [2] là thực thi của thuật toán cây quyết định J48 trong Weka[3].

1) Cấu trúc

Cấu trúc của thuật toán được thể hiện đúng với tên gọi, nó là một cấu trúc phân nhánh cây

Nhóm những trường hợp có cùng một lớp thuộc tính về cùng một nhóm, mỗi nhóm sẽ được đánh dấu nhãn riêng để phân thành một nhánh cây riêng.

Thông tin chi tiết ở mỗi nhánh được đem ra tính toán để thu về giá trị “gain”.

Tìm ra thuộc tính có khả năng phân hóa cao nhất ( tùy theo từng tiêu chí hướng tới).

2) Giá trị “Gain”

Đầu tiên, cần nắm được định nghĩa của “Entropy”. Trong thuật toán này, Entropy là phép đo giá trị biến ngẫu hay độ thay đổi của dữ liệu được cho. Nó được lưu lại dưới dạng bits. Giả dụ, đối với một giá trị “p”, Entropy sẽ được tính như sau:

Entropy(p) = -

Entropy điều hòa được tính với công thức:

Entropy(j|p) =

Cuối cùng, ta thu được giá trị “Gain”, giá trị này đại diện cho độ biến thiên giữa dữ liệu đầu vào và đầu ra. Nó chính là giá trị thay đổi giữa các giai đoạn của Entropy. Công thức được biểu diễn như sau:

Gain(p,j) = Entropy(p – Entropy(j|p))

Nguyên tắc phân nhánh của cây quyết định J48

Giả sử có A mẫu lành tính (a) và B mẫu phần mềm độc hại (b) trong lớp xác nhận mã độc, với tổng số mẫu bằng T. Nhóm mẫu này sẽ được chia thêm thành hai nhóm khác nhau dựa trên cơ sở là điểm biến của entropy và giá trị Gain của nhóm. Hai nhóm được tách ra làm 2 phía với: x mẫu lành tính và y mẫu mã độc thuộc vế trái (left), (A-x) mẫu lành tính và (B-y) thuộc vế phải. Entropy và Gain lúc này có thể được tính với 2 công thức như dưới dây:

Entropy bef = - * log( - * log( )

Entropyright = - ( * log( - *

log( )

Entropyaft = * Entropy left + * Entropy right Information gain = Entropy bef - Entropy aft

Đưa bộ dữ liệu vào trong Weka ta thu được kết quả như sau: Thời gian để xây dựng mô hình: 0,08 giây

Trường hợp phân loại chính xác (503) 83,2781%

Trường hợp phân loại không chính xác (101) 16,7219%

TPR: 0.833; FPR: 0.235; Precision: 0.849; Recall: 0.833; ROC Area: 0.833 Confusion Matrix: TP: 152; FN: 89

Hình 2.1 : Kết quả thuật toán Cây quyết định

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân tích mức độ an toàn của ứng dụng android dựa trên học máy (Trang 47 - 50)

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

(70 trang)