Thực nghiệm các thuật toán

Một phần của tài liệu MỘT SỐ PHƢƠNG PHÁP LAI GHÉP TRONG RÚT GỌN THUỘC TÍNH THEO TIẾP CẬN TẬP THÔ MỜ (Trang 75 - 79)

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 xa 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.

Một phần của tài liệu MỘT SỐ PHƢƠNG PHÁP LAI GHÉP TRONG RÚT GỌN THUỘC TÍNH THEO TIẾP CẬN TẬP THÔ MỜ (Trang 75 - 79)

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

(117 trang)