SAS 機器學習 (4)

教學目標

初步了解 SAS Visual Data Mining and Machine Learning 產生機器學習模型的基本概念,此篇主要為學習筆記。

重點概念

首先當預測中使用其中一個輸入是遺漏值時應該怎麼做呢?對於許多機器學習的任務,遺漏值可能在理論上和實際上皆會存在問題,特別是當變數中存在遺漏值。當遺漏值出現在在輸入資料中隨機輸入,則我們可以在 Model Studio 中新增專案設定的顧問選項設定當變數的遺漏值的比例大於最大遺漏百分比則會被拒絕,雖然不會對於模型造成偏差,但是從訓練資料中刪除大量遺漏值,將會降低預測模型的準確性。至於保留與遺漏值相關的資訊, 包括遺漏值本身,理論上將能夠提高模型預測的準確性,但是資料中遺漏值的問題幾乎始終存在,當面對輸入變數中有遺漏值,則我們必須考慮是否隨機分配遺漏值或是否以某種方式預測遺漏值,像是我們會以平均值進行設算,當遺漏是非隨機時,則估算遺漏值將會依賴於輸入或條件,這就可能會是一個更複雜的問題。

接著我們提到遺漏值會影響預測模型的準確性,為何呢?試想若有 k 個輸入變數隨機遺漏值的比率為 p,則就僅會有 ( 1 – p ) 的 k 次方機率的資料是可用於分析,例如當發生遺漏值的機率為 1% ,則若有 100 個輸入變數,則僅有 37% 的資料可用於分析,當發生遺漏值的機率為 5% ,則若有 100 個輸入變數,則僅有 1% 的資料可用於分析,因此當發生遺漏值的機率越大將會導致可用於分析的資料快速減少,除此之外遺漏值還會影響預測評分的計算,預測評分主要會基於預測公式,但是若有遺漏值將會導致無法正常計算。

再來在 SAS Visual Data Mining and Machine Learning 中管理遺漏值主要有六種解決方式,分別為:

  1. 單純貝氏 (Naïve Bayes)
  2. 決策樹 (Decision trees)
  3. 遺失指標 (Missing indicators)
  4. 設算 (Imputation)
  5. 分箱 (Binning)
  6. 評分遺失資料 (Scoring missing data)

其中設算主要是取代資料集中的遺漏值,簡單的設算主要包括用平均值取代輸入變數中的遺漏值,當遺漏值為非隨機的變數時,則設算可能無效,則我們將會建立遺漏指標,並且在模型中用於推算變數,這種做法可以改善結果,即使在變數是正態分佈和遺漏值很少的情況下也是如此。

最後我們針對遺漏值的問題先歸至遺漏資料的主題,針對遺漏資料的主題主要會面臨偏差和資訊損失的挑戰,此時面對偏差的挑戰我們主要會透過設算節點中的設算方式來解決遺漏資料的問題,而面對資訊損失的挑戰我們主要會透過轉換節點中的分箱方式來解決遺漏資料的問題,至於實務上我們為了避免資訊損失,所以會透過轉換節點中的分箱方式,將輸入變數透過函數進行轉換,通常應用轉換將會使得資料更能夠滿足需要應用的建模演算法之假設。

相關資源