四、 結果與討論
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%。