資料清洗:缺失值,異常值,重複值的處理
一、資料列缺失的4種處理辦法
1.丟棄
直接刪除帶有缺失值的行記錄或列記錄,減少缺失資料記錄對總體資料的影響。以下場景不宜採用此辦法:
(1)資料集總體中存在大量的資料記錄不完整情況且比例較大(超過10%),刪除會損失許多有用資訊
(2)帶缺失值的資料記錄大量存在著明顯的資料分布規律和特徵,例如:帶缺失值的資料的目標標籤集中在某一類或某幾類, 刪除會導致模型過擬合或分類不準確
2、補全
(1)統計法:對於數值型的資料,使用均值,加權均值,中位數等方法補全,對於分型別資料,使用類別眾數最多的值補足
(2)模型法:如果帶有缺失值的列是數值變數,採用回歸模型補全,如果是分類變數,採用分類模型補全
(3)專家補全:對於少量且有重要意義的資料記錄,專家補足是重要辦法
(4)其他:隨機法,特殊值法,多重填補
3、真值轉換法
把資料缺失也看作一種規律
例:很多資料庫無法對會員的性別進行補足,又捨不得將其丟棄,可將男、女、未知從乙個變數的多個值分布狀態轉換為多個變數的真值分布狀態。
轉換前:性別(男,女,未知)
轉換後:性別_男(值域1或0),性別_女(值域1或0),性別_未知(值域1或0)
4、不處理
這種思路主要看後期的資料分析和建模應用,很多模型對缺失值有容忍度或靈活的處理方法,常見的能自動處理缺失值的模型包括:knn,決策樹,隨機森林,神經網路,樸素貝葉斯等
處理思路:
(1)忽略,確實值不參與距離計算,例如knn
(2)將缺失值作為分布的狀態,並參與到建模過程,例如各種決策樹及其變體
二、不要輕易拋棄異常資料
異常資料是資料分布的常態,處於特定分布區域或範圍之外的資料通常被定義為異常或「噪音」,產生噪音的原因很多,例如業務運營操作,資料採集問題,資料同步問題,對異常資料處理之前要分辨哪些是真正的異常資料,資料異常的狀態看分為兩種:
(1)「偽異常」,是由於業務特定運營動作產生,其實是正常反映業務狀態,而不是資料本身的異常規律
(2)「真異常」,客觀的反映了資料本身分布異常的個案
以下幾種情況下,無需對異常值做拋棄處理
1、異常值反映了業務運營結果
例如:公司的a商品正常情況下日銷量為1000臺左右,由於昨日**導致總銷量達到10000臺,由於備貨不足導致今日銷量下降到100臺,這種情況下,10000和100都正常反映了業務運營的結果,而非異常資料
2、異常檢測模型
異常檢測模型針對整體樣本中的異常資料進行分析和挖掘以便找到其中的異常個案和規律,這種資料應用圍繞異常值展開,因此不能拋棄。異常檢測模型常用於客戶異常識別,信用卡欺詐,藥物變異識別,惡劣氣象**,流量作弊檢測,網路入侵檢測等,這種情況下,異常資料本身是目標資料,如果處理掉將損失關鍵資訊。
3、包容異常值的資料模型
如果資料演算法和模型對異常值不敏感,那麼不處理也不會對模型造成負面影響,例如在決策樹中,異常值本身就可以作為一種**節點。
三、資料重複就需要去重嗎
資料集中的重複值包括以下兩種情況:
(1)資料值完全相同的多條資料記錄
(2)資料主體相同但匹配到的唯一屬性值不同
一下幾種情況,不建議去重:
1、重複的記錄用於分析演變規律
2、重複的記錄用於樣本不均衡處理
3、重複的記錄用於檢測業務規則問題
傳授人生經驗(預處理)
軒神與奇牛是師徒,也是k友,經常打2k,可奇牛老是不故意放水讓軒神輸,於是軒神決定給奇 牛傳授點人生經驗以作補償。軒神拿出其珍藏多年的人生經驗打造了n個經驗球並連成一串,每一 個球裡都含著一定量的人生經驗。好玩的是,你打破乙個球,你沒法獲得裡面的人生經驗,而只 能獲得打破的那個球兩邊球的經驗絕對值差...
經驗總結 資料預處理經驗總結1
1.對於特徵較多的df,進行資料預處理時需要對每個特徵變數進行相關處理,為了避免混亂,可以df.info 後將輸出複製到sublime,然後在sublime中針對每個特徵變數進行處理方式標註 非python 只是為了展示在sublime中的效果 action type 30697 non null ...
資料預處理
現實世界中資料大體上都是不完整,不一致的髒資料,無法直接進行資料探勘,或挖掘結果差強人意。為了提前資料探勘的質量產生了資料預處理技術。資料預處理有多種方法 資料清理,資料整合,資料變換,資料歸約等。這些資料處理技術在資料探勘之前使用,大大提高了資料探勘模式的質量,降低實際挖掘所需要的時間。一 資料清...