• 沒有找到結果。

整體學習演算法之結果比較

四、 結果與討論

4.2 實驗結果與討論

4.2.2 整體學習演算法之結果比較

22.0 22.6 22.7 23.6 24.6 Positive F-score

#

31.0* 33.6 32.4 9.7〒※ 33.2 Negative Recall 56.2〒※ 45.6 39.2* 94.9〒※ 61.1 Negative Precision

#

83.7* 85.4 85.8 81.3# 85.0 Negative F-score 67.1〒※ 58.9 48.8 87.6〒※ 70.4 Geometric Mean

# Positive Precision

〒※

22.8 22.2 19.5* 21.9 24.0 Positive F-score

*

31.2〒※ 33.5# 26.1〒※ 8.9〒※ 32.5 Negative Recall

#

58.0〒※ 43.6 42.4 95.2〒※ 61.7 Negative Precision

〒※

84.2*# 85.7 84.8 81.3 84.5 Negative F-score

*#

68.5〒※ 57.4 45.9*# 87.7〒※ 70.9 Geometric Mean

〒※

55.4 54.3 29.2〒※ 19.7〒※ 55.5 Overall Accuracy

我們以決策樹為基礎演算法,使用 bagging、bagging +stacking、random forest、random forest + stacking 和 AdaBoost 五種整體學習演算法(ensemble learning algorithm)。另外,

因為在 PCA 裝置參數設定調整預測分析上,有類別不平衡(class imbalance)的問題,所 以 還 搭 配 了 減 少 多 數 類 別 取 樣 法 (under sampling) 和 增 加 少 數 類 別 取 樣 法 (over sampling),因此除上述五種整體學習演算法外,還使用了 bagging + over sampling、

bagging + under sampling、AdaBoost + over sampling、AdaBoost + under sampling 和

40

DataBoost-IM 五種方法,共十種整體學習演算法。在兩種預測分析上,我們比較分析各 種整體學習演算法之優劣。

4.2.2.1 總劑量預測

表 15 為總劑量預測分別使用五種整體學習演算法(ensemble learning algorithm)之結 果。在該預測分析中,其中表現最好的整體學習演算法為 C4.5 再配合 bagging。我們利 用 paired t-test 比較 bagging 和其餘方法的準確度,如果該差異之 p-value 小於 0.05 即在 表 15 上的該值標記星號”*”,並用”〒”標記 p-value 小於 0.001 之該演算法。從表 15 可看出,在整體準確度的表現上,C4.5 配合 bagging 的確優於其餘的整體學習演算法,

而且都有顯著差異。然而,在所有的整體學習演算法中,高劑量(high dose)的 recall 和 precision 的表現都比一般劑量(medium dose)和低劑量(low dose)來的差,我們推測有可能 是因為高劑量的資料數量較少,我們的資料中三種類別的資料個數分別為:399(低劑 量)、551(一般劑量)、149(高劑量),高劑量的資料確實比另外兩個類別來得少。

41 Random Forest

Stacking

C4.5 AdaBoost

“low dose” Recall 77.4 84.3 84.7 80.1 80.3 79.2

“medium dose”

Recall

“medium dose”

Precision

Overall Accuracy

72.8 80.9 79.9 77.4 75.9 75.1

註:與 Bagging 之比較:* 表示 p-value < 0.05,〒表示 p-value < 0.001。

4.2.2.2 PCA 劑量預測

使用五種整體學習演算法(ensemble learning algorithm)對 PCA 劑量作預測之結果如 表 16。在該預測分析中,C4.5 再配合 bagging 為其中表現最好的整體學習演算法。我 們利用 paired t-test 比較 bagging 和其餘方法的準確度,在表 16 上以星號”*”標記差異 之 p-value 小於 0.05 之該演算法,若其 p-value 小於 0.001 則以”〒”標記之。從表 16 可看出,在整體準確度的表現上,C4.5 配合 bagging 的確優於其餘的整體學習演算法,

而且都有顯著差異。

42 Random Forest

Stacking

C4.5 AdaBoost

“low dose” Recall 76.9 84.3 81.0* 95.4 87.6 79.0

“medium dose”

Recall

“medium dose”

Precision

Overall Accuracy

64.1 73.1 71.0* 70.6 69.4 66.1

註:與 Bagging 之比較:* 表示 p-value < 0.05,〒表示 p-value < 0.001。

4.2.2.3 PCA 裝置參數設定調整預測

表 17 為 PCA 裝置參數設定調整使用整體學習演算法(ensemble learning algorithm) 之預測結果,除了 bagging、bagging + stacking、random forest、random forest + stacking 和 AdaBoost 五種整體學習演算法,還使用了 bagging + over sampling、bagging + under sampling、AdaBoost + over sampling、AdaBoost + under sampling 和 DataBoost-IM 五種方 法,共十種整體學習演算法。其中 bagging + under sampling 演算法在 positive F-score 和 幾何平均(geometric mean)的表現上都是最好的。我們利用 paired t-test 比較 bagging + under sampling 和其餘演算法,假若 bagging + under sampling 與其他演算法的預測準確 值有明顯差異,且其 p-value 小於 0.05,我們以星號”*”標記之,而 p-value 小於 0.001 者,則以”〒”標記之。從表 17 可看出,bagging + under sampling 與其餘演算法相較,

皆有顯著差異,表示 bagging + under sampling 演算法在該預測分析上,確實是比其餘演 算法來得好。

在 該 預 測 分 析 中 , 因 有 類 別 不 平 衡 (class imbalance) 之 問 題 , 我 們 使 用 k-nearest-neighbor 演 算 法 刪 除 資 料 中 的 雜 訊 (noise) , 對 資 料 進 行 資 料 清 理 (data

43

cleaning)。資料清理後,兩種類別的資料比例,從 81%(negative class):19%(positive class) 降為 65%(negative class):35%(positive class),表示資料清理可改善類別不平衡之程度。

表 18 為資料清理後十種整體學習演算法的預測結果,從表 17 和表 18 可以看出,所有 的整體學習演算法資料清理後在 positive F-score 和幾何平均的表現上都優於未做資料清 理的結果。針對相同的演算法,我們將未做資料清理和已做資料清理的結果做 paired t-test 檢定,若其差異之 p-value 小於 0.05,則在表 18 該演算法的結果上標記”#”,並 以”※”標記 p-value 小於 0.001 之該演算法。從表 18 得知,所有的方法中,除了 AdaBoost + under sampling 外,其餘的演算法在採用資料清理之後,其預測準確值皆顯著提升。我 們的實驗證明,利用 k-nearest-neighbor 演算法執行資料清理(data cleaning),對提高分類 的準確度確實是有幫助的。

此外,在使用過資料清理的所有演算法中,針對 positive F-score 和幾何平均 (geometric mean),其中表現最好的演算法為 bagging + under sampling,我們同樣使用 paired t-test,將其與其他方法做比較,於表 18 中,以星號”*”標記 p-value 小於 0.05 之比較結果,並以”〒”標記 p-value 小於 0.001 之結果,表 18 之結果顯示,bagging + under sampling 演算法,在使用過資料清理(data cleaning)之後,其預測分析的表現上確 實優於其餘的演算法。

在 4.2.1.4 中提到,五種單一的學習演算法中,表現最好之演算法為 ANN(類神經網 路) + over sampling 以及 Naive Bayes(簡單貝氏分類器) + over sampling,我們將這兩種方 法的結果和整體演算法中表現最好之 bagging + under sampling 演算法之結果相互比較。

比較結果如表 19,同樣以 paired t-test 檢定做比較,且在表 19 中,以星號”*”標記 p-value 小於 0.05 之結果,同樣地,以”〒”標記 p-value 小於 0.001 之結果,其中 bagging + under sampling 搭配資料清理,在 positive F-score 和幾何平均(geometric mean)的表現皆 優於 ANN + over sampling 和 Naive Bayes + over sampling,雖然 positive F-score 僅些微 的獲勝,但我們從 negative F-score 的角度來看的話,可以發現 bagging + under sampling 搭配資料清理,明顯優於另外兩種演算法,表示 ANN + over sampling 和 Naive Bayes + over sampling 在提升少數類別(positive class)預測準確度的同時,犧牲了較多的多數類別

44

(negative class)之預測準確度。大多數在解決類別不平衡的問題時,為了改善少數類別 (minority class)的預測準確度,多數類別(majority class)通常會因此被犧牲而降低其預測 準確度,雖然在此問題中,少數類別較受到關注,其準確度為我們想要改善之重點,但 也不希望在提升少數類別的預測準確度的同時,犧牲掉太多的多數類別之預測準確度。

然而,bagging + under sampling 搭配資料清理除了可提升少數類別的預測準確度外,在 多數類別的準確度的部分,相較於 ANN + over sampling 和 Naive Bayes + over sampling 也並未降低太多。

45

註:與 Bagging Under Sampling 之比較:* 表示 p-value < 0.05,〒表示 p-value < 0.001。

46

47 表 19. 學習演算法和整體學習演算法表現較佳者之相互比較 PCA 裝置調整設定預測(%) C4.5 Bagging

Under Sampling

Naive Bayes Over sampling

ANN Over Sampling

Positive Recall 54.4 62.1* 67.8

Positive Precision

26.2 24.2* 24.8

Positive F-score 35.2 34.3* 34.7

Negative Recall 64.0 53.4 48.4

Negative Precision

85.7 85.9 84.2

Negative F-score 73.1 65.1 57.7

Geometric Mean

59.0 56.3 50.2

Overall Accuracy

62.1 55.0 52.1

註:與 Bagging Under Sampling 之比較:* 表示 p-value < 0.05,〒表示 p-value < 0.001。

*

在總劑量預測分析中,bagging 演算法在整體準確度(overall accuracy)的表現上是最 好的。而利用 bagging 演算法,在 10-fold 交叉驗證中,因為每一次驗證都會產生 200 組 訓練資料集合,由這 200 個資料集合,我們可以產生 200 棵決策樹,因此,10 個 folds 總共會產生 2000 棵決策樹,以根部(root)為第一層,我們統計第一到第五層中,被決策 樹挑選為節點(node)的頻率為前十名之屬性,表 20 為統計結果,數字表示該屬性在該 層中的出現頻率,例如:contidose_24hr 在這 2000 棵決策樹中,被挑選為根部的頻率有 74.8%,為出現次數最高之屬性,而出現頻率第二名的屬性則是 contidose_23hr,有 18.4%。