2012-12-20 96 views
0

我有一個運行KNN分析的proc判斷語句。當我設置k = 1時,它將一切分配給一個類別(如預期的那樣)。但是,當k> 1時,它會留下一些未指定的觀察值(將類別設置爲其他)。如何使用SAS中的Proc Discrim for KNN處理死鎖?

我假設這是兩個或多個類別的死鎖票的結果。我知道通過隨機選擇一個僵持的選票作爲答案,或者採取離得最近的僵持選票作爲答案的辦法可以解決這個問題。

此功能是否可用於proc判別?你如何告訴它如何處理死鎖?

乾杯!

回答

1

當最近鄰居的數目是兩個或更多時,假設將觀察值賦給「其他」類的結果來自賦予兩個或更多指定類的相同概率。您可以通過指定PROC DISCRIM語句選項OUT = SASdsn來編寫一個SAS輸出數據集,以瞭解過程對輸入觀察值的分類程度。該輸出數據集包含分配給每個指定類的概率。例如,對虹膜數據集使用兩個最近的鄰居(K = 2)會得出五個觀察值,該過程將其分類爲不明確的,對於分配到Versicolor或Virginica類的概率爲0.50。從輸出數據集中,您可以選擇這些不明確分類的觀測值,並在隨後的DATA步驟中隨機分配這些類別。或者,您可以比較用於將這些模糊分類的觀測值分類的變量的值與每個類別的這些值的平均值進行比較,可能是通過計算每個值的標準偏差標準化的平方距離+/-和分配觀察到「最接近」的班級。

+0

感謝您的支持,在單獨的數據步驟中處理它是個不錯的主意。很高興知道那裏沒有我錯過的選項。 – Ger