在現今資料報炸時代,資料容易受到遺漏值或不一致性影響。這樣的影響會導致數據的品質降低,以至於對探勘結果會有不好的影響。因此資料前處裡是一個很重要的步驟,這將影響著數據研究結果。當今有許多資料前處裡的技術,像是資料清理、資料整合、降維和資料轉換等等。
為何需要前處裡
簡單來說就是要當前資料有價值的去被應用。
資料品質由許多要素組成:
- 正確性
- 刻意輸入不正確值或設備故障
- 人為不小心錯誤輸入
- 完整性
- 客戶填寫的資料非所有都填寫
- 某些資訊可能沒有其它欄位資訊
- 一致性
- 格式不一樣等
- 時效性
- 資料的某些訊息需要在某個時間才會被輸入
- 可信度
- 資料有多少程度被使用者信賴
- 可解讀性
- 資料能否被使用者所解讀
然而前三項是現今大型資料庫或倉儲時常遇到的問題。
資料前處裡任務
資料清理
清除資料中雜訊,修復不一致性。
遺漏值
- 忽略該值值組
- 人工補遺漏值
- 使用一個長數值代替遺漏值
- 使用屬性的平均值或中位數等來填補遺漏值
- 使用同一類別的樣本平均值或中位數等來填補遺漏值
- 使用迴歸或決策樹等決定該遺漏值
避免遺漏值的方法最好是定義好規則。
雜訊資料
分箱法 對資料做排序,並指定分箱個數,在使用平均值或邊界方法來平滑數據。
迴歸 找出能夠切分資料點的線獲曲面。
離群值分析 藉由分群。
資料整合
從不同來源的資料合並成連貫一致的資料庫。可能不同資料庫輸入同一性質的值,但欄位名稱不一致,或者輸入值不一樣。然而有些資訊也許從多個欄位來取得,這在做整合時,同時也減少資料的冗長。
而資料冗於性可透過卡方檢定或相關係數與共變異數等檢測。
降維
降低資料的特徵大小。其技術包含資料壓縮(主成分分析等)、刪除不必要欄位或從資料的特徵推倒更強大的屬性集合等。其中特徵減少可以使用像是隨機森林、迴歸等。
屬性子集合可透過以下演算法實現
- 逐步向前選取(stepwise forward selection)
- 逐步向後刪除(stepwise backward elimination)
- 合併向前選取與向後刪除(combination of forward selection and backward elimination)
- 決策樹歸納(decision tree induction)
資料轉換
正規化或標準化數據,這動作是在神經網路或是集群等演算法上需要執行的動作。當此動作未使用時,會因為特徵值有大有小,導致值較大的特徵影響整個演算法的運算,而較小值則不影響。
常見方式有以下
- min-max normalization
- z-score normalization
- normalization by decimal scaling
- 等等