數據清洗之我見

最近開會避免了很多爭吵,因為我突然發現一個加速討論的方法,就是別人問我問題的時候,我先問一句,你希望我回答什麼?然後再修正對方的預期,這樣很好很快。因為太多時候,解釋問題本身才是麻煩的事情。

所以如何進行數據清洗,我想更重要的是,你希望的回答是什麼呢?

我所了解的有兩類預期,一類是「買下SAS的DI套件,然後請他們來現場服務」/「用Amazon Mechine Learning」/"架設Spark自己寫代碼清理",或者更簡單些「導入Excel批量替換」;另一類預期是「缺失值填充」/「Standardlization"/「數據富集」/「有監督的抽樣」。

所以你可以看到,一個是側重於過程,另外一個則側重於結果。換句話說,是」進行清洗的工具「和」清洗的目標「。當然,工具是為目的而服務,所以我們先來談一談目的,這樣才可以根據目的來選擇工具。

數據清洗的目的

我覺得能點進來看這文章的,大概都聽過Garbage in, garbage out,對數據質量這事兒都有一定的認識。因此簡單說,數據清洗是一個提高數據質量的過程。不過這其實是個很坑爹的定義,因為數據質量實在是一個太抽象的定義,按照wiki上的定義:Data are generally considered high quality if, "they are fit for their intended uses in operations, decision making and planning." 你看,「fit for」,這就好比黃蓉特別fit for郭靖,楊過特別fit for小龍女。理解起來毫無問題,但是你寫個評價函數試試?分分鐘吐血。

因為所謂的「intended uses」就是多種多樣,玩貝葉斯分類器的希望最好不要有unique value,但有些聚類還最好去個重先;我就是要分析個用戶性取向的分布,但清洗工具的歸一的輸出只有F/M。

此外更麻煩的一點是,數據清洗本身來講是一個修改數據模型的過程。數據清洗一般都是按照固有的演算法+知識庫來對數據集進行清洗,實際上是假設數據集所代表的數據模型應該符合某種模式。這與「數據挖掘應該發掘出用戶所不知道的信息」這一目標是多少有些衝突的。比如一個數據集的性別比例是F:1/M:2/U:20, 按照最簡單的男女比例相等將所有的UNKNOWN設定為1:1的F:M, 則產生了一個F:M比為11:12的數據集。但這個數據集本身所描述的模型男女比例啟示就是1:2,而不是接近1:1。那麼這個數據清洗就是失敗的,正確的做法是應該將所有的U都抹掉,或者保持分布的前提下補足缺失。

所以啊,簡單講,數據清洗那就一勞動密集活動,數據源的採集過程,整理過程,應用的場景你都必須有著深入的了解。而且更加悲催的是,別人不會了解這個過程的艱辛,而是會一臉想當然的問,已經在資料庫的數值還能有錯?你花了那麼久在幹什麼?

所以竊以為,數據清洗的目的是非常靈活且多變的,實際上隨著對數據集本身的理解深入和最終分析的結果都可能導致清洗目的發生變化。換句話講,數據清洗是一個很需要敏捷的過程。

數據清洗的工具

因此,我們所需要的工具,突出的特點就是要:。完美的工具大概是數據源-預處理-分析工具-展示工具的高度集成,並提供秒級的響應能力,最好分析師手指一點散點圖隨指而變。各大廠商正在朝著這個方向努力,但目前ETL依然是瓶頸,也許私有雲架構會改善這一點?(2016 SGF上SAS推出了Viya,算是朝著這個方向前進了一步)。不僅清洗方案的部署/運行速度要快,方案的設計也必須快速。這兩點目前我所知的一般廠商都側重於前者,無論是自己架設高性能高吞吐的私有伺服器還是AWS EMR那種託管的服務,並不是遙不可及的目標,有大量的技術積累和框架可供選擇。但是清洗方案的設計工具,到目前我看並沒有哪家公司做的很好。這東西不是一個人看一個月書就可以搭出來的東西。

就我個人所最熟悉的SAS QKB,這個產品所針對的業務領域是極其狹窄的(我會告訴你們這東西的編輯器設計之初就明確了只支持北美?)實際上大概只有北美的聯繫人信息和產品數據這兩個domain是基本覆蓋的,其他locale有,但是只是相當基本的應用。這也和北美那邊有著豐富的客戶群體和使用環境是分不開的,中國沒人買,自然就沒動力;反過來沒動力搞新的就更沒人買,畢竟這東西真不便宜,好慘...

你們猜SAS這東西在業界什麼地位?

好吧其實是因為SAS憋大招放Viya了,從2年前這東西的升級就放緩了不少。不過你們也能看到,2年了沒怎麼升級還能在Leader象限,這領域裡的發展是有多慢...

竊以為,設計工具以後的發展方向必然走向共享,不會有一家公司能搞定所有的業務領域。實際上對於很多數據集的清洗方案(或者套路)都是相當固定的,一旦出現了業界標準就可以實現數據清洗模型的共享。只有當大量並且廉價的數據清洗模型基本覆蓋了所有領域,數據清洗才能脫離現在普遍的手工作坊式生產。

任重而道遠啊~

推薦閱讀:

大數據入門書籍有哪些(二)
大數據白皮書(2018)
大數據必備知識:數據的分類方式
Hive0.13到Hive2.1跨版本升級全姿勢
一份詳細的大數據學習路線圖

TAG:數據清洗 | 數據挖掘 | 大數據處理 |