1. 程式人生 > >搞定資料清洗,你只需要這幾招

搞定資料清洗,你只需要這幾招

資料清洗是資料分析過程中不可或缺的一個環節,通過資料清洗,可以統一資料的格式,減少資料存在的多種問題,以提高分析過程的效率並且使分析結果有所保證。

在收集資料或者中,我們獲取到的資料可能是這樣的:

亦或是這樣的:

還可能是這樣的:

這個時候我們需要進行的步驟就是資料清洗,資料清洗的物件主要是:缺失值、異常值、重複值和噪音處理。

缺  失  值

粗糙資料中由於缺少資訊而造成的資料的聚類、分組、刪失或截斷被稱為【缺失值】。

它指的是現有資料集中某個或某些屬性的值是不完全的。

處理缺失值的方法有:

直接刪除(Delete directly)

適用於樣本較大的情況,樣本較小時,可能會影響最終的分析結果 。

估算(Estimation)

資料均勻,均值法填充;資料分佈傾斜,中位數填充;根據資料的分佈情況,可以採用均值、中位數、或者眾數進行資料填充。

3插補法(Interpolation method)

·隨機插補法:從總體中隨機抽取某幾個樣本代替缺失樣本。

·多重填補法:包含m個插補值的向量代替每一個缺失值的過程,要求m大於等於20。m個完整資料集合能從插補向量中建立。

·熱平臺插補:在非缺失資料集中找到一個與缺失值所在樣本相似的樣本,利用其中的觀測值對缺失值進行插補。

·拉格朗日插值法和牛頓插值法:兩者都是通過給定n+1個互異的插值節點,讓你求一條n次代數曲線近似地表示待插值的函式曲線。

建模法(Modeling method)

·迴歸:基於完整的資料集,建立迴歸方程。

將已知屬性值代入方程來估計未知屬性值,以估計值來進行空值得填充。

·極大似然估計:基於缺失型別為隨機缺失得條件下,假設模型對於完整的樣本是正確的,通過觀測資料的邊際分佈可以對缺失資料進行極大似然估計。

·貝葉斯、隨機森林、決策樹:建立模型對缺失值進行預測。

異  常  值

指一組測定值中與平均值的偏差超過兩倍標準差的測定值。

與平均值的偏差超過三倍標準差的測定值,稱為【高度異常的異常值】。

處理異常值的方法:

不處理(Do not deal with)

若演算法對異常值不敏感,則可以不處理;

演算法對異常值敏感,如kmeans,knn之類的一些基於距離計算的一些演算法,則最好不要用這種方法,

平均值替代(Average override)

利用平均值來代替異常值,損失資訊小,簡單高效。

視為缺失值(Considered missing values)

將異常值視為缺失值來處理,採用處理缺失值的方法來處理異常值

重複資料

資料中存在相同的資料,稱為【重複資料】。

|去重(Duplicate removal)

資料集中的重複值包括以下兩種情況:

·資料值完全相同的多條資料記錄。

·資料主體相同但匹配到的唯一屬性值不同。

當資料集中的重複值是第一種情況時,直接去重即可,如果是第二種情況,需要根據屬性的性質來決定是否去除。

噪音處理

資料中存在著錯誤或異常(偏離期望值)的資料,稱為【噪音資料】。

這些資料對資料的分析造成了干擾。

處理噪音的方法:

分箱法(Split-Box method)

將待處理的資料按照一定的規則放入箱子中,考察每一個箱子中的資料,根據各個箱子的情況採取方法進行資料處理。

-分箱方法:

· 等深分箱法:按記錄行數分箱,每箱具有相同的記錄數

· 等寬分箱法:每個箱的區間範圍是一個常量,根據區間 範圍分箱

· 使用者自定義區間

· 最小熵:使各區間分組內的記錄具有最小熵

-分箱後對資料進行平滑處理:

· 均值平滑:對同一箱值中的資料求平均值,箱內的資料用平均值代替。

· 中位數平滑:取中位數,箱內資料用中位數來代替。

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

  一般而言,寬度越大,光滑效果越明顯。

迴歸(Regression method)

利用函式擬合數據來光滑資料。

·單線性迴歸:找出擬合兩個屬性(或變數)的“最佳”直線,使得一個屬效能夠預測另一個。

·多線性迴歸:它涉及多於兩個屬性,並且資料擬合到一個多維面。

使用迴歸,找出適合資料的數學方程式,能夠幫助消除噪聲。

聚類(Clustering)

將物理的或抽象物件的集合分組為不同簇(一組資料物件的集合),找出並清除落在簇之外的孤立點,這些孤立點就是噪聲。

 最後,在進行清洗之前,一定一定不能把忘了儲存你的源資料!

點選關注,探索資料科學之旅

公眾號ID

DataCastle-VIP