研究資料清理方法對KNN分類器鑑別含雜訊心臟病資料之影響
楊偉修
DOI:10.6283/JOCSG.2016.4.2.289
下載PDF檔 ( 已下載次數:1558)
中文摘要 k最近鄰演算法(k Nearest Neighbor Algorithm,簡稱kNN)一種非常簡單且直覺化的樣式辨識方法,由於該法操作簡單,所以已廣泛且有效的應用於各種領域之辨識問題上。該法辨識未知類別測試資料的過程,是將測試資料與一組已知類別的訓練資料進行相似度比對,也就是先計算測試資料與所有訓練資料間的距離,然後取距離最接近測試資料的k個鄰近點,統計各類別的訓練點數,最後以得票數最多的類別作為測試資料之預測類別。所以選取不同的k值也會產生不同的分類結果,但如何選取最佳的k值,至今依然沒有適當的方法來預先決定,因此設定k=1是最簡單且常見的分類規則(簡稱1NN),可是當訓練資料中含有誤判案例(又稱為類別雜訊)時,1NN分類器亦是最易受類別雜訊影響的分類器。
為了獲得更高品質的訓練資料,已有許多研究發展出各種雜訊清理或資料編輯方法,而以kNN為基礎的編輯方法,則以ENN (Edited Nearest Neighbour)、RENN (Repeated ENN)與AENN (All-k-NN)三種方法,屬於最簡單、有效且常被使用的雜訊清理方法,三種方法在使用時,都必須先指定一個k值作為判定標準。ENN清理方法(Wilson, 1972)是在訓練資料中隨機挑出一筆資料當作測試資料,並對剩下的其他訓練資料以kNN演算法計算,如果挑出的資料無法按照預先指定的k值成功分類,則將該筆資料視為雜訊並予以刪除。Tomek於1976年提出RENN與AENN清理方法(Tomek, 1976),其中RENN方法則是重複執行ENN清理方法,直到所有訓練點都能以剩下的訓練點成功分類為止。AENN清理方法則是按照指定的k值,刪除訓練資料中無法同時以1NN、2NN、…、kNN演算法成功分類的資料,若AENN清理方法指定的k=1,則清理結果與ENN(k=1)相同。
心臟病是中老年人中常見的一種慢性疾病,於醫學上又稱為心肌梗塞(myocardial infarction),通常是冠狀動脈疾病的結果。而心血管疾病已經連續蟬聯國人十大死因第二或第三名,相較於癌症,心血管疾病較無明顯病徵所以常被忽略,而發病時是較猛烈且易致命的,因此是中老年人不可忽視的重大疾病之一。在資料探勘領域中,近年來已有許多以心臟病為主題的研究,但這些研究中鮮少考慮雜訊資料對於判別此疾病的影響。而當所獲得之資料品質不佳,並以此含有雜訊的訓練資料建立分類器,一定會減低分類器的功能。有鑑於此,如何應用有效的雜訊清理方法,建立高品質的訓練資料,進而改進分類器的雜訊容忍度與鑑別準確率,則成為本研究的主要目的。