Giải thuật xây dựng cây cô lập (iTree)

Một phần của tài liệu PHÁT HIỆN DỮLIỆU BẤT THƯỜNG VỚI RỪNG CÔ LẬP (Trang 44 - 45)

Mô tả giải thuật 2: Giải thuật 2 đi xây dựng cây cô lập, với 3 tham sốđầu vào bao gồm tập X gồm Ψ phần tử, chiều cao hiện tại e và chiều cao giới hạn L.

Giải thuật 2: iTree(X, e, L)

Đầu vào:

- X: tập dữ liệu đầu vào - e : chiều cao hiện tại của cây - L: chiều cao giới hạn

Đầu ra: Một cây cô lập (iTree)

Giải thuật:

1. if e≥L or |X|≤1 then

2. return exNode{Size  |X| } 3. else

4. Gọi Q là danh sách các thuộc tính trên X 5. chọn ngẫu nhiên một thuộc tính q ∈ Q

6. chọn ngẫu nhiên một điểm cắt p trong khoảng giá trị max và min của thuộc tính q trong tập X 7. Xl  filter(X, q<p)

8. Xr filter(X, q≥p)

9. return inNode { Left  iTree(Xl , e+1, L) 10. Right  iTree(Xr , e+1, L) 11. SplitAtt  q

12. SplitValue  p } 13.end if

Bước 1: Xét chiều cao hiện tại của cây nếu đã vượt quá chiều cao giới hạn hoặc số phần tử nhỏ hơn hoặc bằng 1 thì qua bước 2 ngược lại qua bước 3.

Bước 2: Trả về nút ngoài có kích thước bằng với số phần tử. Bước 3: Thực hiện các bước từ 4 13.

Bước 4: Chọn ngẫu nhiên một thuộc tính q=generator.nextInt(numAtt) Bước 5: Chọn ngẫu nhiên một giá trị cắt p trên thuộc tính q.

Bước 6: Chia tập X thành 2 tập con thoả mãn theo điều kiện sau: những thể hiện có giá trị tại thuộc tính q < giá trị cắt p sẽđược đưa vào tập con trái, ngược lại những thể hiện có giá trị tại thuộc tính q> giá trị cắt p sẽđược đưa vào tập con phải.

Bước 7: Trả về nút trong bao gồm cây con trái, cây con phải (được gọi đệ qui), thuộc tính cắt q và giá trị cắt p.

Cuối giai đoạn huấn luyện, một bộ các cây được trả về và nó sẵn sàng cho giai đoạn đánh giá.

Độ phức tạp của giai đoạn huấn luyện rừng cô lập iForest là O(t ΨΨΨΨ logΨΨΨΨ)

Một phần của tài liệu PHÁT HIỆN DỮLIỆU BẤT THƯỜNG VỚI RỪNG CÔ LẬP (Trang 44 - 45)