數據清洗的方法


數據挖掘中常用的數據清洗方法有哪些?

原文鏈接:https://www.zhihu.com/question/22077960

 

從兩個角度看,數據清洗一是為了解決數據質量問題,,二是讓數據更適合做挖掘。不同的目的下分不同的情況,也都有相應的解決方式和方法。

包括缺失值處理、異常值處理、重復值處理、空值填充、統一單位、是否標准化處理、是否刪除無必要的變量、是否排序、是否進行主成分或因子分析等等。

  1. 解決數據質量問題

    解決數據的各種問題,包括但不限於:

    1. 數據的完整性----例如人的屬性中缺少性別、籍貫、年齡等
    2. 數據的唯一性----例如不同來源的數據出現重復的情況
    3. 數據的權威性----例如同一個指標出現多個來源的數據,且數值不一樣
    4. 數據的合法性----例如獲取的數據與常識不符,年齡大於150歲
    5. 數據的一致性----例如不同來源的不同指標,實際內涵是一樣的,或是同一指標內涵不一致

數據清洗的結果是對各種臟數據進行對應方式的處理,得到標准的、干凈的、連續的數據,提供給數據統計、數據挖掘等使用。

那么為了解決以上的各種問題,我們需要不同的手段和方法來一一處理。

每種問題都有各種情況,每種情況適用不同的處理方法,具體如下:

1.1解決數據的完整性問題:(數據缺失,那么補上就好了)

補數據有什么方法?

  1. 通過其他信息補全,例如使用身份證號碼推算性別、籍貫、出生日期、年齡等等。
  2. 通過前后數據補全,例如時間序列缺數據了,可以使用前后的均值,缺的多了,可以使用平滑等處理,記得Matlab還是什么工具可以自動補全
  3. 實在補不全的,雖然很可惜,但也必須要剔除。但是不要刪掉,沒准以后可以用得上

1.2解決數據的唯一性問題(解題思路:去除重復記錄,只保留一條。)

去重的方法有:

  1. 按主鍵去重,用sql或者excel"去除重復記錄"即可,
  2. 按規則去重,編寫一系列的規則,對重復情況復雜的數據進行去重。例如不同渠道來的客戶數據,可以通過相同的關鍵信息進行匹配,合並去重。

1.3解決數據的權威型問題

解題思路:用最權威的個渠道的數據

方法:

  1. 對不同渠道設定權威級別,例如:在家里,首先得相信媳婦說的。。

1.4解決數據的合法性問題

解題思路:設定判定規則

  1. 設定強制合法規則,凡是不在此規則范圍內的,強制設為最大值,或者判為無效,剔除

    字段類型合法規則:日期字段格式為"2010-10-10"

    字段內容合法規則:性別 in (男、女、未知);出生日期<=今天

  2. 設定警告規則,凡是不在此規則范圍內的,進行警告,然后人工處理

    警告規則:年齡》110

  3. 離群值人工特殊處理,使用分箱、聚類、回歸、等方式發現離群值

1.5解決數據的一致性問題

解題思路:建立數據體系,包含但不限於:

  1. 指標體系(度量)
  2. 維度
  3. 單位
  4. 頻度
  5. 數據
  1. 讓數據更適合做挖掘或展示

    目標包括但不限於:

    1. 高緯度----不適合挖掘
    2. 維度太低----不適合挖掘
    3. 無關信息----減少存儲
    4. 字段冗余----一個字段是其他字段計算出來的,會造成相關系數為1或者主成因分析異常
    5. 多指標數值、單位不同----如GDP與城鎮居民人均收入數值相差過大

    2.1解決高緯度問題

    解題思路:降維,方法包括但不限於:

    1. 主成分分析
    2. 隨機森林

    2.2解決維度低或缺少維度問題

    解題思路:抽象,方法包括但不限於:

    1. 各種匯總,平均、加總、最大、最小
    2. 各種離散化,聚類等

    2.3解決無關信息和字段冗余(解決方法:剔除字段)

    2.4解決多指標數值、單位不同問題

    解決方法:歸一化

  2. 如何刪除重復項

    由於各種原因,數據中可能存在重復記錄或重復字段(列),對於這些重復項目(行和列)需要做去重處理。對於重復項的判斷,基本思想是"排序和合並",先將數據庫中的記錄按一定規則排序,然后通過比較鄰近記錄是否相似來檢測記錄是否重復。這里面其實包含了兩個操作,一是排序,二是計算相似度。

常見的排序算法:

插入排序、冒泡排序、選擇排序、快速排序、堆排序、歸並排序、基數排序、希爾排序

常見判斷相似度的算法:

基本的字段匹配算法、標准化歐氏距離、漢明距離、夾角余弦、曼哈頓距離、歐氏距離、切比雪夫距離、相關系數、信息熵等等

對於重復的數據項,盡量需要經過業務確認並進行整理提取出規則。在清洗轉換階段,對於重復數據項盡量不要輕易做出刪除決策,尤其不能將重要的或有業務意義的數據過濾掉,校驗和重復確認的工作必不可少


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM