Data Cleaning 介紹
作為一個資料分析人員,我們都應該記住拿到任何資料,都不要直接去相信資料沒有任何問題,而要我們盡我們所能地清理拿到的資料。
為什麼需要 Data cleaning ?
由於產生資料或是轉移資料時皆有可能造成資料格式錯誤或導致資料遺失等問題發生,因此在做資料分析資料,我們最好先透過 Data cleaning 的方式將資料前置處理,以方便正確地做資料分析。
什麼是 Data cleaning ?
Data cleansing, data cleaning or data scrubbing is the process of detecting and correcting (or removing) corrupt or inaccurate records from a record set,table, or database. —— https://en.wikipedia.org/wiki/Scripting_language
簡言之,重複檢查與修正每筆 Data 的欄位,處理 Missing Value、移除重複的 Data…等,使每筆資料的形式與值,皆符合之後 Data 分析所預期的資料格式。
我們要怎麼評估資料的品質好壞?
提供以下 5 個可以評估指標:
- Validity:確認是否每筆資料皆與 Data 制定的 schema 一致。(Data type、Missing value、Unique field、Range、Regular expression、constraints…)
- Accuracy:資料所標示的值是否合理正確。(需透過其他資料驗證,例如確認資料的「地址」欄位確實存在於現實生活中。)
- Completeness:資料是否完整。(需要透過其他資料驗證,例如:可以透過資料庫不同 Table 的比對。)
- Consistency:資料欄位之間若有關聯,彼此之間是否一致,而不產生矛盾。(例如:由於地址與區碼存在關聯性,所以我們可以驗證兩者是否一致。)
- Uniformity:每筆資料相同欄位所使用的單位是否統一。
Data cleaning 的流程
- 檢驗資料(Audit your Data):先透過程式去做一些基本驗證,或是用統計方法找出一些問題,例如:偵測異常值(outlier)
- 規劃如何清理資料 :從上一步驟的結果,思考如何 clean data,可以先從 造成 Data 出現問題的原因著手,然後定義要如何修正,最後,設計一些 test 去確保順利 clean data。
- 執行該計畫(Execute the plan)
- 手動修正(Manually correct):有些問題可能無法用程式去驗證或修正,此時若有辦法的話最好透過人工的方式,觀察與手動修正服份 Data。
- 重複 1~4 驗證。
本文為 Udacity 線上課程 學習摘要:
https://www.udacity.com/course/data-wrangling-with-mongodb--ud032