Phân lớp dựa trên TANB

Một phần của tài liệu TÍCH HỢP THÔNG TIN KHÔNG THUẦN NHẤT VỀ NGỮ NGHĨA TRONG MÔI TRƯỜNG PHÂN TÁN (Trang 74)

Xây dựng mô hình TANB cho các nguồn dữ liệu

Dựa trên các thủ tục xây dựng cây bao trùm cực đại, TANB cho các nguồn dữ liệu, tác giả đã xây dựng TANB cho các nguồn dữ liệu ADULT, CARS, NURSERY.

ADULT

Để xây dựng được mô hình TANB cho nguồn dữ liệu ADULT, điều đầu tiên cần thực hiện đó là xây dựng cây bao trùm cực đại dựa trên nguồn dữ liệu huấn luyện.

Cây bao trùm cực đại (thuật toán Kruskal)

Cây bao trùm cực đại là cây có tổng trọng số của các cung là lớn nhất, trong đó, các cung là các thuộc tính của nguồn dữ liệu, trọng số của các cung là giá trị của hàm thông tin hỗ trợ (mutual information function) (đã được trình bày cụ thể ở chương 3) của hai thuộc tính (mã nguồn của thuật toán xây dựng cây bao trùm cực đại được lưu trữ trong CreateTree.java).

Input:

Danh sách các cạnh đã được sắp xếp theo thứ tự giảm dần của trọng số (các điểm đầu là các thuộc tính, trọng số là giá trị của hàm thông tin hỗ trợ của hai thuộc tính tương ứng).

Output:

Danh sách các cạnh tạo nên cây bao trùm cực đại.

Thuật toán:

1. Khởi tạo một cây rỗng.

2. Lấy một cạnh từ danh sách (theo thứ tự đã được sắp xếp giảm dần).

- Thêm vào cây nếu không tạo thành chu trình.

- Loại bỏ nếu tạo thành chu trình trong cây

3. Nếu số cạnh được chọn bằng số đỉnh – 1 hoặc hết cạnh thì dừng thuật toán. Ngược lại, quay lại bước 2.

Sau khi thực hiện chương trình với dữ liệu huấn luyện gồm 11.500 bản ghi, cây bao trùm cực đại biểu diễn sự hỗ trợ thông tin của các thuộc tính được biểu diễn như sau (Hình 4.2).

Hình 4.2. Cây bao trùm cực đại được xây dựng trên nguồn dữ liệu ADULT.

Mô hình TANB cho nguồn dữ liệu ADULT

Dựa trên cây bao trùm cực đại đã được xây dựng ở bước trên, bằng cách thêm thuộc tính class và thêm các cung đi ra từ thuộc tính class, ta có được mô hình TANB cho nguồn dữ liệu ADULT (Hình 4.3)

CARS

Sử dụng thuật toán Kruskal cho nguồn dữ liệu huấn luyện CARS, ta thu được cây bao trùm cực đại thể hiện mối liên hệ giữa các thuộc tính trong nguồn dữ liệu.

Hình 4.4. Cây trùm cực đại được xây dựng dựa trên nguồn dữ liệu CARS

NURSERY

Thực hiện thuật toán Kruskal nhằm xây dựng cây bao trùm cực đại cho nguồn dữ liệu NURSERY với 8.640 bản ghi, kết quả như sau (Hình 4.6):

Hình 4.6. Cây bao trùm cực đại của nguồn dữ liệu NURSERY

Phân lớp TANB cho các nguồn dữ liệu

Dựa trên mô hình TANB của các nguồn dữ liệu, tính xác suất của các lớp dữ liệu đối với các bản ghi kiểm thử. Một đặc điểm khác của TANB đối với Naive Bayes (đã được mô tả chi tiết ở trong chương 3) đó là các thuộc tính không chỉ phụ thuộc vào thuộc tính lớp mà còn phụ thuộc vào các thuộc tính khác.

Ví dụ 4.1:

Khi tính xác suất cho các thuộc tính class của nguồn dữ liệu CARS, ta thực hiện như sau (Hình 4.5):

1 2 3 4 5 6 1 2 1 3 2 4 6 5 6 6 1 P(C)×P(X ,X ,X ,X ,X ,X |C)= P(C)×P(X |C)×P(X |X ,C) ×P(X |X ,C)×P(X |X ,C)×P(X |X ,C)×P(X |X ,C) Trong đó: 1 2 3 4 5 6

X : buying X : maint X : door X : person X : lugboot X : safety C = {unacc, acc, good, vgood}

Quá trình phân lớp dữ liệu dựa trên TANB tương tự với phương pháp dựa trên Naive Bayes, chỉ có khác ở công thức tính xác suất cho các giá trị thuộc tính lớp.

Kết quả của phân lớp tập trung TANB cho các nguồn dữ liệu được thể hiện chi tiết trong bảng 4.6. Trong đó, nguồn dữ liệu ADULT với dữ liệu huấn luyện gồm 11.500 bản ghi, dữ liệu kiểm thử gồm 1.532 bản ghi, phân lớp đúng được 1.200 bản ghi, phân lớp không đúng 332 bản ghi, đạt độ chính xác 78,36%.

Nguồn dữ liệu CARS, với dữ liệu huấn luyện gồm 1.152 bản ghi, dữ liệu kiểm thử gồm 576 bản ghi, phân lớp đúng được 377 bản ghi, phân lớp sai 199 bản ghi, đạt độ chính xác 65,56%. Nguồn dữ liệu NURSERY, với dữ liệu huấn luyện gồm 8.640 bản ghi, dữ liệu kiểm thử gồm 4.320 bản ghi, phân lớp đúng 3.102 bản ghi, phân lớp sai 1.218 bản ghi, đạt độ chính xác 71,80%.

Tên nguồn dữ liệu Dữ liệu huấn luyện Dữ liệu kiểm thử Độ chính xác (%) Đúng Không đúng ADULT 11.500 1.532 78,36 1.200 332 CARS 1.152 576 65,56 377 199 NURSERY 8.640 4.320 71,80 3.102 1.218 Bảng 4.6. Kết quả phân lớp TANB cho các nguồn dữ liệu.

4.4 Phân lớp dữ liệu phân tán

Một phần của tài liệu TÍCH HỢP THÔNG TIN KHÔNG THUẦN NHẤT VỀ NGỮ NGHĨA TRONG MÔI TRƯỜNG PHÂN TÁN (Trang 74)