iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 4
0
Everything on Azure

Azure Machine Learning Studio系列 第 4

Azure Machine Learning Studio 資料前處理 - 缺失值、空值 Clean Missing Data

提供給機器學習訓練的資料,必須先經過整合(若有多個資料集的情況)、資料格式轉換、處理缺失值及不一致的資料,確保資料是正確、乾淨一致的,避免 Garbage in, garbage out 問題,導致訓練出的模型結果預測不佳。
許多的資料集可能因為調查的對象拒絕回答、監控服務異常未抓取到數據等原因,所以包含缺失值,針對這些缺失值可以試著判別是否有特殊意義,可能在某特定情況下,這欄位有較大機會留空之類,若是此種情況,最好是標記成特殊值,或額外建立欄位表示值缺失,一起加入建模,但也有可能只是單純缺失值,是不重要、無意義的,這時需要透過移除或替代值來處理,在 Azure Machine Learning Studio 中,我們可以透過 Summarize Data 來查看每個欄位的資料是否還有缺失值,並使用 Clean Missing Data 來處理。

Clean Missing Data 清理缺失值

位置:Data Transformation / Manipulation / Clean Missing Data
清理方式有以下幾種:

  1. 取代
    (1). Replace using MICE (Multivariate Imputation using Chained Equations) 多重插補
    (2). Custom subtitution value 自訂值
    (3). Replace with mean 平均數
    (4). Replace with median 中位數
    (5). Replace with mode 眾數
    (6). Replace using Probabilistic PCA 概率
  2. 刪除
    (1). Remove entire row 刪除該筆資料
    (2). Remove entire column 刪除該欄位

https://ithelp.ithome.com.tw/upload/images/20181015/20111935y5o4TghbdH.png

步驟1:使用 Summarize Data 查看是否有缺失值

(1) 以汽車資料集為例,新增"Summarize Data"統計資料,將資料集輸出接至 Summarize Data 的輸入並執行
位置:Statistical Functions / Summarize Data
https://ithelp.ithome.com.tw/upload/images/20181015/20111935cNqYWBP16h.png

(2) 執行完成後,查看統計結果
https://ithelp.ithome.com.tw/upload/images/20181015/20111935FrHPnBsf5N.png

(3) 可以看到有些欄位的"Missing Value Count"有值,代表這些欄位有缺失值,其中 normalized-losses 欄位有 41 筆缺失值、num-of-doors 欄位有 2 筆缺失值
https://ithelp.ithome.com.tw/upload/images/20181015/20111935lI2t0QAc3O.png

步驟2:使用 Clean Missing Data 清理缺失值

(4) 新增"Clean Missing Data"清理缺失值,將資料集的輸出接至 Clean Missing Data 的輸入,接著選擇有缺失值的欄位,若不選代表全部欄位一起處理
位置:Data Transformation / Manipulation / Clean Missing Data
https://ithelp.ithome.com.tw/upload/images/20181015/20111935TDh5YBfMfj.png

(5) 剛剛有看到"num-of-doors"幾門汽車的這個欄位有 2 筆缺失值,所以選擇此欄位
https://ithelp.ithome.com.tw/upload/images/20181015/20111935nes6gLSFDI.png

(6) 接著選擇缺失值的清理方法
https://ithelp.ithome.com.tw/upload/images/20181015/20111935EE4K5atqHs.png

(7) 在選擇缺失值清理方式前可以先參考其他 203 筆無缺失值的資料值,以這個資料集為例,只有看到雙門跟四門的車子資料,這種情況,我就不會選擇用mean(平均數)、median(中位數)來取代缺失值,因為會導致資料變成特殊值,另外因為這個資料是字串,如果要使用平均數或中位數,必須先轉換資料型態,在這邊選擇用mode(眾數)處理,2 筆缺失值會用"four"取代
https://ithelp.ithome.com.tw/upload/images/20181015/20111935Zcx8Wa0aKy.png

(8) 選擇缺失值清理方法"Replace with mode"以眾數取代
https://ithelp.ithome.com.tw/upload/images/20181015/20111935fgfsJWn9D4.png

步驟3:使用 Summarize Data 檢查清理缺失值結果

(9) 清理完後,可以再使用 Summarize Data 確認是否還有其他的缺失值要做處理
https://ithelp.ithome.com.tw/upload/images/20181015/20111935D0YbCRkMJJ.png

(10) 可以看到 num-of-doors 欄位缺失值資料數變為 0 筆,代表此欄位已無缺失值,接著可以再繼續處理其他的欄位,重複執行相同步驟一直到所有欄位的 Missing Value Count 皆為 0 時,代表處理完所有的缺失值資料了
https://ithelp.ithome.com.tw/upload/images/20181015/20111935kkQVySTjQz.png


上一篇
Azure Machine Learning Studio 資料前處理 - 資料格式轉換 Data Format Conversions
下一篇
Azure Machine Learning Studio 資料前處理 - 重複值 Remove Duplicate Rows、離群值 Clip Values
系列文
Azure Machine Learning Studio30

尚未有邦友留言

立即登入留言