數據挖掘中經常使用的數據清洗方法有哪些? 算法
原文連接:https://www.zhihu.com/question/22077960 sql
從兩個角度看,數據清洗一是爲了解決數據質量問題,,二是讓數據更適合作挖掘。不一樣的目的下分不一樣的狀況,也都有相應的解決方式和方法。 數據庫
包括缺失值處理、異常值處理、重複值處理、空值填充、統一單位、是否標準化處理、是否刪除無必要的變量、是否排序、是否進行主成分或因子分析等等。 工具
解決數據的各類問題,包括但不限於: spa
數據清洗的結果是對各類髒數據進行對應方式的處理,獲得標準的、乾淨的、連續的數據,提供給數據統計、數據挖掘等使用。 excel
那麼爲了解決以上的各類問題,咱們須要不一樣的手段和方法來一一處理。 排序
每種問題都有各類狀況,每種狀況適用不一樣的處理方法,具體以下: get
1.1解決數據的完整性問題:(數據缺失,那麼補上就行了) 數據挖掘
補數據有什麼方法? io
1.2解決數據的惟一性問題(解題思路:去除重複記錄,只保留一條。)
去重的方法有:
1.3解決數據的權威型問題
解題思路:用最權威的個渠道的數據
方法:
1.4解決數據的合法性問題
解題思路:設定斷定規則
字段類型合法規則:日期字段格式爲"2010-10-10"
字段內容合法規則:性別 in (男、女、未知);出生日期<=今天
警告規則:年齡》110
1.5解決數據的一致性問題
解題思路:創建數據體系,包含但不限於:
目標包括但不限於:
2.1解決高緯度問題
解題思路:降維,方法包括但不限於:
2.2解決維度低或缺乏維度問題
解題思路:抽象,方法包括但不限於:
2.3解決無關信息和字段冗餘(解決方法:剔除字段)
2.4解決多指標數值、單位不一樣問題
解決方法:歸一化
因爲各類緣由,數據中可能存在重複記錄或重複字段(列),對於這些重複項目(行和列)須要作去重處理。對於重複項的判斷,基本思想是"排序和合並",先將數據庫中的記錄按必定規則排序,而後經過比較鄰近記錄是否類似來檢測記錄是否重複。這裏面其實包含了兩個操做,一是排序,二是計算類似度。
常見的排序算法:
插入排序、冒泡排序、選擇排序、快速排序、堆排序、歸併排序、基數排序、希爾排序
常見判斷類似度的算法:
基本的字段匹配算法、標準化歐氏距離、漢明距離、夾角餘弦、曼哈頓距離、歐氏距離、切比雪夫距離、相關係數、信息熵等等
對於重複的數據項,儘可能須要通過業務確認並進行整理提取出規則。在清洗轉換階段,對於重複數據項儘可能不要輕易作出刪除決策,尤爲不能將重要的或有業務意義的數據過濾掉,校驗和重複確認的工做必不可少