Thuật toán câyquyết định không gian mở rộng từ ID3

Một phần của tài liệu Nghiên cứu một số kĩ thuật khai phá dữ liệu không gian sử dụng cây quyết định (Trang 45 - 47)

Bộ dữ liệu không gian bao gồm một tập các Layer, tất cả các Feature trong một Layer có cùng một cấu trúc hình học. Có hai nhóm Layer: Các Layer mô tả và một Layer mục tiêu (hay còn gọi là Layer tham chiếu). Layer mục tiêu có một số thuộc tính bao gồm một thuộc tính mục tiêu lƣu trữ các lớp mục tiêu. Mỗi một Layer mô tả có một vài thuộc tính. Một trong số những thuộc tính là một thuộc tính dự đoán phân loại các Tuple trong bộ dữ liệu thành các lớp mục tiêu. Thuộc tính mục tiêu và thuộc tính dự đoán là ở dạng phi số (các giá trị rời rạc). Các Feature (vùng, đƣờng hay điểm) trong Layer mục tiêu cùng với các Feature trong các Layermô tả để tạo ra tập hợp các Tuble. Mỗi giá trị trong một Tuple tƣơng ứng với giá trị của các Layer này. Hai Layer khác nhau đƣợc liên kết để tạo một Layer mới sử dụng một quan hệ không gian. Một quan hệ giữa hai Layer tạo ra một độ đo không gian cho Layer mới. Những giá trị đo đạc không gian đƣợc sử dụng trong công thức tính cho độ lợi thông tin không gian.

Xây dựng cây quyết định không gian nhƣ mô tả sau dựa trên cơ sở học thuật toán ID3 do Quinlan đề xuất năm 1986 [10]. Thuật toán ID3 tính độ lợi thông tin để định nghĩa lớp phân chia cho bộ dữ liệu. Trong thuật toán cây quyết định không gian, định nghĩa độ lợi thông tin không gian để chọn một Layer mô tả L mà cho phân chia tốt

Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ nhất bộ dữ liệu không gian tùy theo giá trị của thuộc tính dự đoán trong Layer L. Với mục tiêu này, nhƣ[11], ta vận dụng độ đo đạc không gian để tính toán.

Cho một bộ dữ liệu D là một tập huấn luyện các Tuple đã đƣợc gán nhãn lớp. Trong thuật toán cây quyết định phi không gian, chúng ta tính toán khả năng một tuple nào đó trong D thuộc về lớp Ci và nó đƣợc đánh giá bởi giá trị |Ci, D| / |D| trong đó, |D| là số các Tuple trong D và |Ci, D| là số các Tuple của lớp Ci trong D ([8]).

Trong bộ dữ liệu nghiên cứu của Sitanggang và các cộng sự năm 2011, chứa một số lớp trong đó có một lớp mục tiêu chứa các nhãn lớp. Tất cả các đối tƣợng trong Layer mục tiêu đƣợc biểu diễn dạng điểm. Số các Tuple trong bộ dữ liệu tƣơng đƣơng với số các đối tƣợng trong Layer mục tiêu bởi mỗi Tuple đƣợc tạo bởi quan hệ giữa các Feature trong Layer mục tiêu với các Feature trong các Layer mô tả. Một Feature trong Layer mục tiêu liên kết đúng một Tuple trong bộ dữ liệu.

Entropy:

Gọi một thuộc tính mục tiêu C trong Layer mục tiêu S có l class (ví dụ: c1, c2,, ..., cl). Entropy cho S biểu diễn thông tin mong đợi cần để xác định lớp trong số cácTuple và đƣợc định nghĩa nhƣ sau:

H(S) = - *log2

SpatMes(S) biểu diễn độ đo không gian của Layer S.

Gọi một thuộc tính mô tả V trong một Layer mô tả L có q giá trị (ví dụ, v1, v2, ..., vq). Ta phân vùng các đối tƣợng trong Layer mục tiêu S theo Layer Ltheo đó ta có một tập các Layer L(vi, S) cho mỗi giá trị của vi trong L. Giá trị Entropy mong đợi cho việc phân chia theo thuộc tính mô tả V trong Layer L có q giá trịđƣợc cho bởi công thức sau:

H(S|L) = *H(L(vi, S))

H(S|L) mô tả lƣợng thông tin cần (sau khi phân vùng) để đạt đƣợc một sự phân lớp chính xác.

Độ lợi thông tin không gian:

Độ lợi thông tin không gian cho Layer L đƣợc cho bởi biểu thức sau: Gain(L) = H(S) - H(S|L)

Gain(L) cho biết mức độ thông tin mà đạt đƣợc từ phân nhánh trên Layer L. Layer L với độ lợi thông tin cao nhất (Gain(L)), đƣợc chọn là Layer phân lớp ở nút N. Những đối tƣợng trong một bộ dữ liệu đƣợc phân vùng tùy theo Layer L.

Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/

Thuật toán cây quyết định không gian:

Thuật toán: Generate_SDT Input:

a. Bộ dữ liệu không gian D, là một tập các Tuple huấn luyện và các nhãn lớp liên kết. Những Tuple này đƣợc tạo từ tập các Layer,P, sử dụng quan hệ không gian.

b. Một Layer mục tiêu S∊P với một thuộc tính mục tiêu C.

c. Một tập khác rỗng các Layer mô tả L⊆P và L L có một thuộc tính dự

đoán V.P = S ∪L.

d. SJR trên tập hợp Layer P, SJR(P). Output: Một cây quyết định không gian Method:

1. Tạo một node N;

2. Iftồn tại duy nhất một Layer mô tả trong Lthen

3. return N nhƣ một nút lá đƣợc gán nhãn với một lớp bầu chọn trong D; // bầu ra lớp từ lớp có số lƣợng nhiều nhất trong tập dữ liệu D 4. endif

5. If các đối tƣợng trong D thuộc cùng một lớp c then 6. return N nhƣ một nút lá đƣợc gán nhãn với lớp c; 7. endif

8. Sử dụng layer_selection_method(D, L, SJR(P)) để tìm Layer phân lớp

"tốt nhất", L*;

9. Gán nhãn Node N với L*;

10. Phân chia D theo Layer L* thành {D(v1), ..., D(vm)}, D(vi) là nhánh thứ i của Layer L* và vi, ..., vm là các giá trị của thuộc tính dự đoán V trong L*; 11. L = L - {L*}; (adsbygoogle = window.adsbygoogle || []).push({});

12. for each D(vi), i = 1, 2, ..., m do

13. let Ni = Generate_SDT(D(vi), L, SJR(P));

14. Gắn Node Ni vào N và gán nhãn cạnh với một giá trị đƣợc chọn của thuộc tính dự đoán V trong L*.

endfor.

Đầu vào của thuật toán đƣợc chia thành 2 nhóm:

- Một tập hợp các Layer chứa đựng một số Layer mô tả và một Layer mục tiêu có lớp gán nhãn cho các Tuple trong một bộ dữ liệu.

- SJRs lƣu giữ thông tin đo đạc không gian cho các Features giữa hai Layer. Thuật toán tạo ra một cây bằng cách chọn Layer tốt nhất để tách bộ dữ liệu thành các phân vùng nhỏ hơn, tinh khiết hơn (Tinh khiết nhất khi các Tuple trong phân vùng đều thuộc về cùng một lớp).

Một phần của tài liệu Nghiên cứu một số kĩ thuật khai phá dữ liệu không gian sử dụng cây quyết định (Trang 45 - 47)