Chương 2. RÚT GỌN THUỘC TÍNH TRONG BẢNG QUYẾT ĐỊNH SỬ DỤNG ĐỘ PHỤ THUỘC MỜ VÀ KHOẢNG CÁCH MỜ
2.3. Rút gọn thuộc tính sử dụng khoảng cách mờ
2.3.5. Thực nghiệm các thuật toán
Theo hướng tiếp cận filter, các tác giả trong công trình [18] đã xây dựng một độ đo khoảng cách phân hoạch mờ và xây dựng thuật toán filter tìm tập rút gọn sử dụng khoảng cách phân hoạch mờ, gọi là thuật toán FPDAR (Fuzzy Partition Distance based Attribute Reduction). Các tác giả trong [18] cũng chỉ ra bằng thực nghiệm thuật toán FPDAR hiệu quả hơn các thuật toán sử dụng miền dương mờ và entropy mờ về thời gian thực hiện và độ chính xác phân lớp. Hơn nữa, công thức khoảng cách phân hoạch mờ trong [18] đơn giản hơn công thức khoảng cách Jaccard mờ trong [3] nên thuật toán FPDAR hiệu quả hơn thuật toán trong [3] về thời gian thực hiện.
Theo hướng tiếp cận filter-wrapper, gần đây Zhang và các cộng sự [91] đề xuất thuật toán filter-wrapper FEBAR (Fuzzy Entropy Based Attribute Reduction) tìm tập rút gọn xấp xỉ sử dụng độ đo -entropy mờ, là cải tiến của độ đo entropy mờ trong [45, 70, 71]. Để tính -entropy mờ cần mất chi phí tính hệ số dựa vào miền dương mờ. Do đó, chi phí thời gian của FEBAR sẽ tăng lên.
Mục tiêu của thực nghiệm là:
1) So sánh thuật toán filter-wrapper đề xuất FW_FDAR với thuật toán filter- wrapper FEBAR trong [91] về thời gian thực hiện và độ chính xác phân lớp.
2) So sánh thuật toán filter-wrapper đề xuất FW_FDAR với thuật toán filter FPDAR trong [18] về số thuộc tính tập rút gọn, thời gian thực hiện và độ chính xác phân lớp.
2.3.5.2. Số liệu thực nghiệm và môi trường thực nghiệm
Việc thực nghiệm được thực hiện trên 8 bộ dữ liệu mẫu lấy từ kho dữ liệu UCI [103] cho ở Bảng 2.8. Trên mỗi bộ dữ liệu, với mỗi thuộc tính a có miền giá trị thực, chúng tôi chuẩn hóa về miền [0, 1] như sau với xiU
min
max min
i i
a x a
a x a a
với max(a), min(a) là giá trị lớn nhất, nhỏ nhất trên miền giá trị thuộc tính a. Chúng tôi sử dụng quan hệ tương đương mờ Ra trên thuộc tính a trong [91] như sau
, 1
a i j i j
R x x a x a x với x xi, jU
Với các thuộc tính a có miền giá trị định danh (nominal) hoặc phân loại (catergorized), chúng tôi sử dụng quan hệ tương đương Ra , với x xi, jU
1,
,
0,
i j
a i j
a x a x R x x
otherwise
Bảng 2.8. Bộ dữ liệu thử nghiệm thuật toán FW_FDAR
STT Bộ dữ liệu Mô tả Số đối tượng
Số thuộc tính điều kiện
Số lớp quyết định Tất
cả
Thuộc tính định danh (nominal)
Thuộc tính thực (Real- valued)
1 Lympho Lymphography 148 18 18 0 2
2 Wine Wine 178 13 0 13 3
3 Libra Libras movement 360 90 0 90 15
4 WDBC Wisconsin
diagnostic breast cancer
569 30 0 30 2
5 Horse Horse colic 368 22 15 7 2
6 Heart Statlog (heart) 270 13 7 6 2
7 Credit Credit approval 690 15 9 6 2
8 German German credit data 1000 20 13 7 2
9 Magic04 MAGIC gamma telescope data 2004
19020 10 0 10 2
10 Page- blocks
Blocks Classification
5473 10 0 10 5
Với các thuật toán filter-wrapper FW_FDAR và FEBAR [91], chúng tôi sử dụng bộ phân lớp CART (cây phân lớp, hồ quy) để tính độ chính xác phân lớp trong giai đoạn wrapper. Với thuật toán filter FPDAR [18], chúng tôi cũng sử dụng bộ phân lớp CART để tính độ chính xác phân lớp sau khi tìm được tập rút gọn. Chúng tôi sử dụng phương pháp kiểm tra chéo 10-fold, nghĩa là bộ dữ liệu được chia thành 10 phần xấp xỉ bằng nhau, lấy ngẫu nhiên 1 phần làm bộ dữ liệu kiểm tra, 9 phần còn lại làm dữ liệu huấn luyện. Quá trình được lặp lại 10 lần. Độ chính xác phân lớp được biểu diễn bởi v trong đó v là giá trị độ chính xác trung bình (mean) của 10 lần lặp và là sai số chuẩn (standard error).
Công cụ lập trình thực nghiệm là ngôn ngữ lập trình C# và công cụ phân tích dữ liệu R. Môi trường thực nghiệm là máy tính PC với cấu hình Intel(R) Core(TM) i7-3770CPU @3.40 GHz, sử dụng hệ điều hành Windows 7, 32 bit.
2.3.5.3. Kết quả so sánh độ chính xác phân lớp
Kết quả so sánh độ chính xác phân lớp của 3 thuật toán được mô tả ở Bảng 2.9.
Trong đó, ký hiệu C là số thuộc tính của bộ dữ liệu ban đầu, B là số thuộc tính của tập rút gọn. Kết quả ở Bảng 2.9 cho thấy, so với thuật toán FPDAR sử dụng khoảng cách phân hoạch mờ theo tiếp cận filter, số thuộc tính tập rút gọn của thuật toán đề xuất FW_FDAR nhỏ hơn nhiều, đặc biệt là đối với các bộ dữ liệu Horse, Heart, Credit, German. Độ chính xác của FW_FDAR cao hơn FPDAR trên tất cả các bộ dữ liệu. Do đó, hiệu năng và tính khái quát hóa của tập luật phân lớp trên tập rút gọn của FW_FDAR cao hơn nhiều so với FPDAR. Với thuật toán filter-wrapper FEBAR [91] sử dụng -entropy mờ, số lượng thuộc tính tập rút gọn của FW_FDAR xấp xỉ FEBAR, độ chính xác phân lớp của FW_FDAR xấp xỉ FEBAR.
Như vậy, thuật toán đề xuất filter-wrapper FW_FDAR đáp ứng mục tiêu đặt ra là giảm thiểu số thuộc tính tập rút gọn, từ đó giảm thiểu độ phức tạp của mô hình mà vẫn cố gắng bảo toàn độ chính xác phân lớp (độ chính xác phân lớp còn cao hơn các phương pháp filter) so với các thuật toán filter khác.
Bảng 2.9. Độ chính xác phân lớp FW_FDAR, FEBAR, FPDAR
STT Bộ dữ liệu
Độ chính xác ban đầu
Thuật toán FW_FDAR
Thuật toán FEBAR [91]
Thuật toán FPDAR [18]
C Độ chính xác
B Độ chính xác
B Độ chính xác
B Độ chính xác
1 Lympho 18 0.776±
0.008
4 0.768 ± 0.085
4 0.768 ± 0.085
6 0.722 ± 0.062
2 Wine 13 0.910 ±
0.066
5 0.893 ± 0.072
5 0.893 ± 0.072
7 0.886 ± 0.058
3 Libra 90 0.566 ±
0.137
7 0.658 ± 0.077
8 0.605 ± 0.103
26 0.556 ± 0.205
4 WDBC 30 0.924 ±
0.037
4 0.968 ± 0.058
3 0.952 ± 0.027
6 0.925 ± 0.644
5 Horse 22 0.829 ±
0.085
5 0.816 ± 0.052
4 0.802 ± 0.066
12 0.798 ± 0.058
6 Heart 13 0.744 ±
0.072
3 0.803 ± 0.074
3 0.803 ± 0.074
12 0.752 ± 0.055
7 Credit 15 0.826 ±
0.052
3 0.865 ± 0.028
2 0.846 ± 0.048
14 0.820 ± 0.078
8 German 20 0.692 ±
0.030
6 0.716 ± 0.029
5 0.702 ± 0.043
11 0.684 ± 0.024
9 Magic04 10 0.754±
0.020
4 0.750 ± 0.018
4 0.752 ± 0.025
6 0.748 ± 0.026 10 Page-blocks 10 0.826±
0.015
4 0.834 ± 0.026
5 0.822 ± 0.018
7 0.818 ± 0.026 2.3.5.4. Kết quả so sánh thời gian thực hiện
Bảng 2.10 mô tả thời gian thực hiện của các thuật toán tính bằng giây (s).
Bảng 2.10. Thời gian thực hiện FW_FDAR, FEBAR, FPDAR
STT Bộ dữ liệu
Thuật toán FW_FDAR Thuật toán FEBAR [91] Thuật toán FPDAR [18]
Thủ tục Filer
Thủ tục Wrapper
Tổng cộng
Thủ tục Filer
Thủ tục Wrapper
Tổng cộng
1 Lympho 0.32 0.50 0.82 0.38 0.52 0.90 0.34
2 Wine 0.46 1.21 1.67 0.51 1.18 1.69 0.48
3 Libra 46.28 86.18 132,46 55.12 88.26 143.38 48.48
4 WDBC 20.15 8.74 28.89 26.38 8.22 34.60 22.32
5 Horse 4.85 2.68 7.53 5.26 2.65 7.91 4.98
6 Heart 1.22 1.52 2.74 1.45 1.78 3.23 1.26
7 Credit 16.58 3.42 20.00 19.26 3.98 23.24 18.02
8 German 52.48 8.64 61.12 71.22 8.28 79.50 54.65
9 Magic04 892.16 130.59 1022.75 997,48 131.27 1128.75 902.16 10 Page-blocks 96.54 22.26 118.80 109,72 23.08 132.80 98.28
Kết quả so sánh về thời gian thực hiện ở Bảng 2.10 cho thấy, thuật toán FW_FDAR có thời gian thực hiện nhỏ hơn đáng kể thuật toán FEBAR [91], chủ yếu là ở thủ tục filter tìm tập rút gọn. Nguyên nhân là thuật toán FEBAR phải tính miền dương mờ để xác định hệ số , hơn nữa thuật toán FEBAR phải tính toán các công thức logarit phức tạp trong công thức entropy Shannon. Tuy nhiên, các thuật toán theo tiếp cận filter-wrapper FW_FDAR và FEBAR [91] có thời gian thực hiện lớn hơn thuật toán theo tiếp cận filter FPDAR [18] vì phải thực hiện bộ phân lớp để tính độ chính xác của các tập rút gọn xấp xỉ trong giai đoạn wrapper.