天天看點

資料标注流程(二)資料清洗

作者:資料标注星球

資料标注幹貨/新鮮AI資訊盡在——

公衆号【資料标注星球】

在了解資料清洗之前,我們需要弄清楚為什麼要進行資料清洗?

資料清洗技術是提高資料品質的有效方法。資料清洗作為資料預進行中至關重要的環節,清洗後資料的品質很大程度上決定了AI算法的有效性。

什麼是資料清洗

資料清洗是發現并糾正資料檔案中可識别的錯誤的一道程式,包括檢查資料一緻性,處理無效值和缺失值等。

因為資料倉庫中的資料是面向某一主題的資料的集合,這些資料從多個業務系統中抽取而來而且包含曆史資料,這樣就避免不了有的資料是錯誤資料、有的資料互相之間有沖突,這些錯誤的或有沖突的資料顯然是我們不想要的,稱為“髒資料”。我們要按照一定的規則把“髒資料”進行“清洗”。

資料清洗的目的在于删除重複資訊、糾正存在的錯誤,并提供資料一緻性。

資料标注流程(二)資料清洗

需要清洗的資料及清洗方法

· 資料缺失

資料缺失的産生的原因主要分為機械原因和人為原因

機械原因:由于機械原因導緻的資料收集或儲存的失敗造成的資料缺失

人為原因:由于人的主觀失誤、曆史局限或有意隐瞞造成的資料缺失

不同的資料存儲和環境中對于缺失值的表示不同

清洗方法:

- 删除缺失值

當樣本數很多的時候,并且出現缺失值的樣本在整個的樣本的比例相對較小,這種情況下,我們可以使用最簡單有效的方法處理缺失值的情況。那就是将出現有缺失值的樣本直接丢棄。這是一種很常用的政策。

- 均值填補法

根據缺失值的屬性相關系數最大的那個屬性把資料分成幾個組,然後分别計算每個組的均值,把這些均值放入到缺失的數值裡面就可以了。

- 熱卡填補法

對于一個包含缺失值的變量,熱卡填充法的做法是:在資料庫中找到一個與它最相似的對象,然後用這個相似對象的值來進行填充。不同的問題可能會選用不同的标準來對相似進行判定。最常見的是使用相關系數矩陣來确定哪個變量(如變量Y)與缺失值所在變量(如變量X)最相關。然後把所有變量按Y的取值大小進行排序。

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

· 有噪聲

異常值:超過有明确取值範圍的資料

離群點:通過對資料分析、可視化或者聚類方法檢測離群點,根據情況判斷決定是否要去除該資料

清洗方法:

- 分箱法

分箱方法通過考察資料的“近鄰”(即,周圍的值)來光滑有序資料值。這些有序的值被分布到一些“桶”或箱中。由于分箱方法考察近鄰的值,是以它進行局部光滑。

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

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

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

一般而言,寬度越大,光滑效果越明顯。箱也可以是等寬的,其中每個箱值的區間範圍是個常量。分箱也可以作為一種離散化技術使用。

- 回歸法

可以用一個函數拟合資料來光滑資料。線性回歸涉及找出拟合兩個屬性(或變量)的“最佳”直線,使得一個屬性能夠預測另一個。多線性回歸是線性回歸的擴充,它涉及多于兩個屬性,并且資料拟合到一個多元面。使用回歸,找出适合資料的數學方程式,能夠幫助消除噪聲。

· 資料不一緻

邏輯錯誤:比如年齡與生日不符

資料類型:相同資料的資料類型不一緻

清洗方法:

不一緻資料的清洗在某些情況下可以參照其他材料使用人工進行修改,可以借助工具來找到違反限制的資料。

例如:如果知道資料的函數依賴關系,通過函數關系修改屬性值。但是大部分的不一緻情況都需要進行資料變換,即定義一系列的變換糾正資料,也有很多商業工具提供資料變換的功能,例如資料遷移工具和ETL工具等,但是這些功能都是有限的。

· 重複值資料

資料本身存在或資料清洗後可能會産生的重複值

清洗方法:

重複值的存在會影響後續模型訓練的品質,造成計算及存儲浪費。這裡要注意的是去除重複值的操作一般在最後進行。

常用的資料清洗工具

工具一:Excel

Excel是目前最流行的一款個人計算機資料處理軟體電子表格軟體。适用于小規模資料、資料屬性較多的情況。如果不考慮性能和資料量,可以處理大部分資料相關的處理工作。

資料标注流程(二)資料清洗

工具二:VBA(Visual Basic宏語言)

VBA主要用于擴充Windows的應用功能,也可以說是應用程式視覺化的Basic腳本。VBA可以使現有的應用程式自動化,并通過自定義建立解決問題的方案。它是一種Excel可以識别的語言,可以實作Excel中沒有提供的功能。

資料标注流程(二)資料清洗

工具三:Python

Python是一種面向對象、直譯式計算機程式設計語言,也是一種功能強大的通用程式設計語言,适合與大規模的資料處理。Python語言簡潔、易讀、可擴充。它最初被設計用來編寫自動化腳本。它越來越多地被用來開發獨立的大型項目,因為版本不斷更新,語言新功能也在增加。

資料标注流程(二)資料清洗

資料清洗是資料标注中非常重要的一步,其重要性不容忽視。使用合适的工具可以使資料清洗更加高效友善。

公衆号【資料标注星球】,歡迎交流學習~

繼續閱讀