經常使用數據清洗方法大盤點

本文來自網易雲社區算法


數據清洗是將重複、多餘的數據篩選清除,將缺失的數據補充完整,將錯誤的數據糾正或者刪除,最後整理成爲咱們能夠進一步加工、使用的數據。數據庫

所謂的數據清洗,也就是ETL處理,包含抽取Extract、轉換Transform、加載load這三大法寶。在大數據挖掘過程當中,面對的至少是G級別的數據量,包括用戶基本數據、行爲數據、交易數據、資金流數據以及第三方的數據等等。選擇正確的方式來清洗特徵數據極爲重要,除了讓你可以事半功倍,還至少可以保證在方案上是可行的。安全

數據清洗的通常步驟:分析數據、缺失值處理、異常值處理、去重處理、噪音數據處理。在大數據生態圈,有不少來源的數據ETL工具,可是對於公司內部來講,穩定性、安全性和成本都是必須考慮的。數據結構


對於數據值缺失的處理,一般使用的方法有下面幾種:運維

一、刪除缺失值函數

當樣本數不少的時候,而且出現缺失值的樣本在整個的樣本的比例相對較小,這種狀況下,咱們可使用最簡單有效的方法處理缺失值的狀況。那就是將出現有缺失值的樣本直接丟棄。這是一種很經常使用的策略。工具

二、均值填補法性能

根據缺失值的屬性相關係數最大的那個屬性把數據分紅幾個組,而後分別計算每一個組的均值,把這些均值放入到缺失的數值裏面就能夠了。學習

三、熱卡填補法大數據

對於一個包含缺失值的變量,熱卡填充法的作法是:在數據庫中找到一個與它最類似的對象,而後用這個類似對象的值來進行填充。不一樣的問題可能會選用不一樣的標準來對類似進行斷定。最多見的是使用相關係數矩陣來肯定哪一個變量(如變量Y)與缺失值所在變量(如變量X)最相關。而後把全部變量按Y的取值大小進行排序。那麼變量X的缺失值就能夠用排在缺失值前的那個個案的數據來代替了。

還有相似於最近距離決定填補法、迴歸填補法、多重填補方法、K-最近鄰法、有序最近鄰法、基於貝葉斯的方法等。


異常值一般被稱爲「離羣點」,對於異常值的處理,一般使用的方法有下面幾種:

一、簡單的統計分析

拿到數據後能夠對數據進行一個簡單的描述性統計分析,譬如最大最小值能夠用來判斷這個變量的取值是否超過了合理的範圍,如客戶的年齡爲-20歲或200歲,顯然是不合常理的,爲異常值。

二、3∂原則

若是數據服從正態分佈,在3∂原則下,異常值爲一組測定值中與平均值的誤差超過3倍標準差的值。若是數據服從正態分佈,距離平均值3∂以外的值出現的機率爲P(|x-u| > 3∂) <= 0.003,屬於極個別的小几率事件。若是數據不服從正態分佈,也能夠用遠離平均值的多少倍標準差來描述。

三、箱型圖分析

箱型圖提供了識別異常值的一個標準:若是一個值小於QL01.5IQR或大於OU-1.5IQR的值,則被稱爲異常值。QL爲下四分位數,表示所有觀察值中有四分之一的數據取值比它小;QU爲上四分位數,表示所有觀察值中有四分之一的數據取值比它大;IQR爲四分位數間距,是上四分位數QU與下四分位數QL的差值,包含了所有觀察值的一半。箱型圖判斷異常值的方法以四分位數和四分位距爲基礎,四分位數具備魯棒性:25%的數據能夠變得任意遠而且不會干擾四分位數,因此異常值不能對這個標準施加影響。所以箱型圖識別異常值比較客觀,在識別異常值時有必定的優越性。

四、基於模型檢測

首先創建一個數據模型,異常是那些同模型不能完美擬合的對象;若是模型是簇的集合,則異常是不顯著屬於任何簇的對象;在使用迴歸模型時,異常是相對遠離預測值的對象

優缺點:1.有堅實的統計學理論基礎,當存在充分的數據和所用的檢驗類型的知識時,這些檢驗可能很是有效;2.對於多元數據,可用的選擇少一些,而且對於高維數據,這些檢測可能性不好。

五、基於距離

一般能夠在對象之間定義鄰近性度量,異常對象是那些遠離其餘對象的對象

優缺點:1.簡單;2.缺點:基於鄰近度的方法須要O(m2)時間,大數據集不適用;3.該方法對參數的選擇也是敏感的;4.不能處理具備不一樣密度區域的數據集,由於它使用全局閾值,不能考慮這種密度的變化。

六、基於密度

當一個點的局部密度顯著低於它的大部分近鄰時纔將其分類爲離羣點。適合非均勻分佈的數據。

優缺點:1.給出了對象是離羣點的定量度量,而且即便數據具備不一樣的區域也可以很好的處理;2.與基於距離的方法同樣,這些方法必然具備O(m2)的時間複雜度。對於低維數據使用特定的數據結構能夠達到O(mlogm);3.參數選擇困難。雖然算法經過觀察不一樣的k值,取得最大離羣點得分來處理該問題,可是,仍然須要選擇這些值的上下界。

七、基於聚類:

基於聚類的離羣點:一個對象是基於聚類的離羣點,若是該對象不強屬於任何簇。離羣點對初始聚類的影響:若是經過聚類檢測離羣點,則因爲離羣點影響聚類,存在一個問題:結構是否有效。爲了處理該問題,可使用以下方法:對象聚類,刪除離羣點,對象再次聚類(這個不能保證產生最優結果)。

優缺點:1.基於線性和接近線性複雜度(k均值)的聚類技術來發現離羣點多是高度有效的;2.簇的定義一般是離羣點的補,所以可能同時發現簇和離羣點;3.產生的離羣點集和它們的得分可能很是依賴所用的簇的個數和數據中離羣點的存在性;4.聚類算法產生的簇的質量對該算法產生的離羣點的質量影響很是大。


噪音,是被測量變量的隨機偏差或方差。對於噪音的處理,一般有下面的兩種方法:

一、分箱法

分箱方法經過考察數據的「近鄰」(即,周圍的值)來光滑有序數據值。這些有序的值被分佈到一些「桶」或箱中。因爲分箱方法考察近鄰的值,所以它進行局部光滑。

用箱均值光滑:箱中每個值被箱中的平均值替換。

用箱中位數平滑:箱中的每個值被箱中的中位數替換。

用箱邊界平滑:箱中的最大和最小值一樣被視爲邊界。箱中的每個值被最近的邊界值替換。

通常而言,寬度越大,光滑效果越明顯。箱也能夠是等寬的,其中每一個箱值的區間範圍是個常量。分箱也能夠做爲一種離散化技術使用.

二、迴歸法

能夠用一個函數擬合數據來光滑數據。線性迴歸涉及找出擬合兩個屬性(或變量)的「最佳」直線,使得一個屬性可以預測另外一個。多線性迴歸是線性迴歸的擴展,它涉及多於兩個屬性,而且數據擬合到一個多維面。使用迴歸,找出適合數據的數學方程式,可以幫助消除噪聲。



網易猛獁大數據平臺做爲一站式的應用開發和數據管理平臺,經過大數據開發套件,將數據開發、任務運維、自助分析、數據管理、項目管理等工做經過工做流的方式有效的串聯起來,提供敏捷易用的用戶操做界面,下降了大數據分析的使用門檻,顯著的提升了數據開發工程師和數據分析師的工做效率。猛獁大數據平臺在電商、音樂、雲課堂學習、企業工業製造等領域已普遍應用,基於持續的需求驅動,經過多行業的業務驗證,同時豐富全面的組件,提供完善的平臺能力,知足不一樣類型的業務需求。

相關文章
相關標籤/搜索