Phân tích kết quả thực nghiệm

Một phần của tài liệu Nghiên cứu ứng dụng kỹ thuật BoostMetric nhằm tăng hiệu quả phân lớp dữ liệu lớn (Trang 41)

Chương 3 Thực nghiệm 3.1 Môi trường và thiết kế thực nghiệm

3.3. Phân tích kết quả thực nghiệm

3.3.1. So sánh độ chính xác của các bộ phân lớp: BoostMetric+WkNN,BoostMetric+kNN, Kernel WkNN và WkNN BoostMetric+kNN, Kernel WkNN và WkNN

Bảng 3.2 và bảng 3.3 (tương ứng lần lượt với k = 5, và k = 7) dưới đây biểu thị tỉ lệ lỗi khi chạy các bộ phân lớp: BoostMetric+WkNN, BoostMetric+kNN, Kernel WkNN và WkNN. Giá trị ghi trong các bảng là giá trị trung bình của 10 lần chạy.

Bảng 3.2: So sánh tỉ lệ lỗi (%) khi chạy thực nghiệm các bộ phân lớp: BoostMetric+5NN, W5NN, Kernel W5NN và BoostMetric+W5NN

Bảng 3.3: So sánh tỉ lệ lỗi (%) khi chạy thực nghiệm các bộ phân lớp: BoostMetric+7NN, W7NN, Kernel W7NN và BoostMetric+W7NN

Nhìn vào hai bảng 3.2 và 3.3, ta thấy bộ phân lớp BoostMetric+WkNN cho kết quả tốt hơn các bộ phân lớp còn lại đối với tất các bộ dữ liệu được sử dụng. Cụ thể, BoostMetric+WkNN có tỉ lệ lỗi nhỏ hơn WkNN và Kernel WkNN trên tất cả các bộ dữ liệu. Chỉ duy nhất BoostMetric+kNN cho kết quả tương đương BoostMetric+WkNN trên bộ dữ liệu Liver Disorders với k = 7, song nó lại có độ chính xác kém hơn trong các trường hợp còn lại. STT Bộ dữ liệu BoostMetric +5NN W5NN Kernel W5NN BoostMetric +W5NN 1 Ionosphere 8.95 12.38 13.34 8 2 Letters 3.17 4.87 5.05 2.81 3 Libras Movement 22.25 18.25 18.25 15.08 4 Liver Disorders 28.9 34.9 33.5 28.6 5 Sonar 16.35 15.71 17.94 14.29 6 Vehicle 20.16 30 38.27 19.96 7 Twin Peaks 0.55 3.35 0.84 0.48 8 USPS 2.71 4.38 3.33 2.38 STT Bộ dữ liệu BoostMetric +7NN W7NN Kernel W7NN BoostMetric +W7NN 1 Ionosphere 10.29 12.1 13.43 8.67 2 Letters 3.32 4.77 5.02 2.69 3 Libras Movement 26.25 18.33 19 16.58 4 Liver Disorders 28.9 35.2 33.3 28.9 5 Sonar 15.87 16.03 18.89 14.13 6 Vehicle 20.04 29.37 38.54 19.88 7 Twin Peaks 0.84 3.26 0.83 0.71 8 USPS 2.8 4.37 3.28 2.4

Hình 3.1 dưới đây thể hiện độ chính xác khi phân lớp các bộ dữ liệu trong bảng 3.1 của bốn bộ phân lớp: BoostMetric+WkNN, BoostMetric+kNN, Kernel WkNN, và WkNN. Mỗi biểu đồ con trong hình 3.1 tương ứng với một bộ dữ liệu sử dụng. Đường kẻ thẳng đứng giữa mỗi cột trong các biểu đồ biểu diễn độ lệch chuẩn của bộ phân lớp với bộ dữ liệu tương ứng. Tôi vẽ các biểu đồ trong cùng một hình và có tỷ lệ giống nhau để tiện so sánh độ chính xác của các bộ phân lớp với các bộ dữ liệu khác nhau. Giá trị được mô tả trong các biểu đồ là giá trị trung bình của 10 lần chạy.

Kernel WkNN WkNN BoostMetric+kNN

BoostMetric+WkNN

Hình 3.1: So sánh độ chính xác của bốn bộ phân lớp: BoostMetric+WkNN, BoostMetric+kNN, Kernel WkNN và WkNN với các bộ dữ liệu sử dụng

Nhìn vào biểu đồ con ứng với bộ dữ liệu Libras Movement, ta thấy bộ phân lớp BoostMetric+WkNN có độ chính xác cao nhất, và cao hơn đáng kể so với bộ phân lớp BoostMetric+kNN (84.92% so với 77.75%). Với bộ dữ liệu này, BoostMetric+WkNN cũng là bộ phân lớp hoạt động ổn định nhất, khi có độ lệch chuẩn thấp hơn độ lệch chuẩn của ba bộ phân lớp còn lại (2.31 so với 2.71 của WkNN, 3 của Kernel WkNN và 3.22 của BoostMetric+kNN). Với ba bộ dữ liệu có kích thước tương đối lớn là Letters, Twin Peaks và USPS, bộ phân lớp BoostMetric+WkNN đều có độ chính xác tốt nhất. Mặc dù nhìn trên các biểu đồ con tương ứng ta thấy độ chính xác giữa các bộ phân lớp chênh nhau không nhiều (với bộ dữ liệu Letters, BoostMetric+WkNN cao hơn BoostMetric+kNN 0.48%, cao hơn WkNN 2.08%, cao hơn Kernel WkNN 2.33%), nhưng do số mẫu kiểm chứng của mỗi bộ dữ liệu là khá lớn (6000 của Letters và Twin Peaks, 2790 của USPS) nên kết quả thu được cũng là rất đáng quý. Thêm nữa, độ lệch chuẩn của BoostMetric+WkNN trong ba bộ dữ liệu này đều thấp hơn độ lệch chuẩn của các bộ phân lớp còn lại. Với các bộ dữ liệu Ionosphere và Sonar, tuy bộ phân lớp BoostMetric+WkNN không có giá trị độ lệch chuẩn thấp nhất nhưng do độ lệch chuẩn của nó so với độ lệch chuẩn tốt nhất của bộ phân lớp WkNN chênh nhau khá nhỏ (trên dưới 1 đơn vị), nên ta vẫn chọn BoostMetric+WkNN là bộ phân lớp tốt nhất đối với hai bộ dữ liệu này.

Kernel WkNN có độ chính xác cao hơn WkNN trên ba bộ dữ liệu USPS, Liver Disorders, và Twin Peaks, nhưng lại kém hơn với các bộ dữ liệu còn lại. Kernel WkNN hoạt động kém hơn hẳn BoostMetric+WkNN khi không lần nào cho độ chính xác tương đương hoặc lớn hơn. Đặc biệt với bộ dữ liệu Vehicle thì Kernel WkNN là bộ phân lớp tồi nhất, và kém chính xác hơn BoostMetric+WkNN tới 18.39%.

Ta xét chi tiết kết quả 10 lần chạy của bốn bộ phân lớp với lần lượt từng bộ dữ liệu được mô tả trong hình 3.2 sau:

Kernel WkNN WkNN BoostMetric+kNN

BoostMetric+WkNN

Hình 3.2: So sánh chi tiết 10 lần chạy của bốn bộ phân lớp: BoostMetric+WkNN, BoostMetric+kNN, Kernel WkNN và WkNN với các bộ dữ liệu sử dụng

Quan sát hai biểu đồ con trong hình 3.2 ứng với các bộ dữ liệu Vehicle và Liver Disorders, ta nhận thấy rõ tác dụng của việc sử dụng BoostMetric để cải tiến hiệu quả phân lớp của thuật toán WkNN. Với hai bộ dữ liệu này, bộ phân lớp BoostMetric+WkNN đều đạt độ chính xác cao hơn hẳn bộ phân lớp WkNN. Cụ thể, đối với bộ dữ liệu Vehicle, BoostMetric+WkNN luôn có độ chính xác cao hơn WkNN khoảng trên dưới 10% tại tất cả các lần chạy. Còn đối với bộ dữ liệu Liver Disorders, BoostMetric+WkNN có độ chính xác cao hơn WkNN dao động từ 3% đến 8% trong cả 10 lần chạy (trung bình cao hơn 6.3%). Ngoài ra, chỉ trừ trường hợp với bộ dữ liệu Sonar là các bộ phân lớp có đường biểu diễn lên xuống tương đối phức tạp (xét trung bình thì BoostMetric+WkNN vẫn tốt nhất), còn lại đối với các bộ dữ liệu khác thì BoostMetric+WkNN luôn duy trì độ chính xác tốt hơn so với WkNN và Kernel WkNN tại hầu hết các lần chạy.

Kết quả này khẳng định tính đúng đắn của việc kết hợp BoostMetric và WkNN. Bộ phân lớp BoostMetric+WkNN luôn đạt độ chính xác cao hơn ba bộ phân lớp WkNN, BoostMetric+kNN, và Kernel WkNN trên tất cả các bộ dữ liệu sử dụng, và tỏ ra vượt trội trên một số bộ dữ liệu.

3.3.2. So sánh độ chính xác của các bộ phân lớp: BoostMetric+WkNN,Random Forest và SVM Random Forest và SVM

Bảng 3.4 dưới đây so sánh tỉ lệ lỗi của các bộ phân lớp BoostMetric+WkNN, Random Forest, và SVM khi chạy với các bộ dữ liệu được mô tả ở bảng 3.1. Các giá trị ghi trong bảng là giá trị trung bình của 10 lần chạy.

BoostMetric+WkNN SVM Random Forest

Bảng 3.4: So sánh tỉ lệ lỗi (%) khi chạy thực nghiệm các bộ phân lớp: BoostMetric+WkNN, Random Forest và SVM

STT Bộ dữ liệu Random Forest SVM BoostMetric+WkNN

1 Ionosphere 7.24 6.48 8 2 Letters 3.9 3.53 2.69 3 Libras Movement 24.33 21.09 15.08 4 Liver Disorders 26.9 29.1 28.6 5 Sonar 18.89 17.46 14.13 6 Vehicle 25.67 20.24 19.88 7 Twin Peaks 0.22 0.76 0.48 8 USPS 3.68 2.68 2.38

Theo bảng 3.4 trên ta thấy bộ phân lớp BoostMetric+WkNN đạt kết quả tốt nhất với đa số các bộ dữ liệu sử dụng trong thực nghiệm. BoostMetric+WkNN chỉ kém hơn SVM khi chạy với bộ dữ liệu Ionosphere, và kém hơn Random Forest khi chạy với ba bộ dữ liệu Ionosphere, Liver Disorders, và Twin Peaks. Tuy nhiên với những bộ dữ liệu này, BoostMetric+WkNN chỉ thua với khoảng cách chênh lệch khá nhỏ nếu so với những bộ dữ liệu còn lại.

Hình 3.3 dưới đây thể hiện độ chính xác khi phân lớp các bộ dữ liệu trong bảng 3.1 của ba bộ phân lớp: BoostMetric+WkNN, Random Forest, và SVM. Mỗi biểu đồ con trong hình 3.3 tương ứng với một bộ dữ liệu sử dụng. Đường kẻ thẳng đứng giữa mỗi cột trong các biểu đồ biểu diễn độ lệch chuẩn của bộ phân lớp với bộ dữ liệu tương ứng. Giá trị được mô tả trong các biểu đồ là giá trị trung bình của 10 lần chạy.

Hình 3.3: So sánh độ chính xác của ba bộ phân lớp:

Nhìn vào hình 3.3 ta thấy với bộ dữ liệu Vehicle, hai bộ phân lớp BoostMetric+WkNN và SVM cho độ chính xác gần tương đương nhau (80.12% của BoostMetric+WkNN so với 79.76% của SVM). Trong khi đó, bộ phân lớp Random Forest cho kết quả kém nhất, có độ chính xác nhỏ hơn đáng kể với 74.33%. Đáng chú ý, quan sát hai biểu đồ con ứng với hai bộ dữ liệu Libras Movement và Sonar, ta thấy độ chính xác của BoostMetric+WkNN so với hai bộ phân lớp còn lại có sự chênh lệch rõ rệt. Với bộ dữ liệu Libras Movement, BoostMetric+WkNN cho kết quả tốt hơn 6.01% so với SVM, và tốt hơn 9.25% so với Random Forest. Còn với bộ dữ liệu Sonar thì BoostMetric+WkNN chính xác hơn 3.33% so với SVM, và 4.76% so với Random Forest. Với hai bộ dữ liệu có kích thước tương đối lớn là Letters và USPS, BoostMetric+WkNN đều có độ chính xác cao hơn SVM và Random Forest. Tuy % độ chính xác giữa các bộ phân lớp chênh nhau không nhiều nhưng do hai bộ dữ liệu này có kích thước khá lớn nên số mẫu bị phán đoán sai với BoostMetric+WkNN sẽ ít hơn hẳn SVM và Random Forest. Ngoài ra, khi hoạt động với các bộ dữ liệu Letters, Liver Disorders, Libras Movement và USPS thì BoostMetric+WkNN đều có độ lệch chuẩn nhỏ nhất.

Ta xét chi tiết kết quả 10 lần chạy của ba bộ phân lớp với lần lượt từng bộ dữ liệu được mô tả trong hình 3.4 sau:

BoostMetric+WkNN SVM Random Forest

Hình 3.4: So sánh chi tiết 10 lần chạy của ba bộ phân lớp:

BoostMetric+WkNN, Random Forest và SVM với các bộ dữ liệu sử dụng

Quan sát hình 3.4 ta thấy bộ phân lớp BoostMetric+WkNN hoạt động khá ổn định với các bộ dữ liệu Libras Movement, Sonar, Letters, và USPS khi luôn có độ chính xác cao nhất tại hầu hết các lần chạy. Ngoài ra với bộ dữ liệu Twin Peaks, BoostMetric+WkNN luôn tốt hơn SVM tại cả 10 lần chạy. Còn với bộ dữ liệu Vehicle, BoostMetric+WkNN luôn tốt hơn Random Forest trong tất cả các lần chạy.

Một phần của tài liệu Nghiên cứu ứng dụng kỹ thuật BoostMetric nhằm tăng hiệu quả phân lớp dữ liệu lớn (Trang 41)

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

(58 trang)
w