本系列文有什麼營養嗎?
好的延續昨日話題,
我們要開始逐步審視所有資料處理的過程了。
首先,我們必須先將要討論的範圍框架出來。
舉例來說,如果我要討論一道料理「蘿蔔排骨湯」是怎麼製作出來的,往前,我總不能一起頭就去管到蘿蔔該如何生長、蘿蔔生長的土地該如何肥沃、豬隻成長的農場乾不乾淨……;往後,也不該馬上討論誰吃了這碗湯,吃完之後有沒有拉肚子,還願不願意再喝?
因此,以「蘿蔔排骨湯」的範圍來說,往前,蘿蔔已經生長完了,只是可能還在農地上,豬也已經養大了,只是可能還在農場裡;往後,我只管到「蘿蔔排骨湯」端上桌,誰吃了肚子舒不舒服我就暫且不論。
X.蘿蔔該如何生長?
X.蘿蔔生長的土地肥沃嗎?
X.豬的農場乾不乾淨?
O.蘿蔔已經生長完在農地上
O.豬已經養大還在農場裡
O.如何把食材送進廚師手裡?
O.食材該如何被處理?
O.將一碗蘿蔔排骨湯端上桌
X.喝湯的人有沒有烙賽?
X.喝湯的人來砸店後該如何精進廚藝?
同理套用到資料領域,往前,資料都已經存在了,只是可能還散落在世界各個角落;往後,將資料歸納出一個有價值的具體結論,已經算暫時完工,誰拿了具體結論去執行、去做後面的事、後面的事有沒有真的因此做好,暫且不論。
「暫且不論」意思是我們先不談,而不是不會談。
要把一件事說明清楚,總有先後順序,讓我們一個一個慢慢來。
可以發現,我們已經將整個「資料生命週期」切了兩刀,變成三個階段:
A. 資料誕生與成長過程(蘿蔔和豬誕生及被養大的過程)
B. 資料收集與處理過程(蘿蔔和豬被送廚師手裡,最後做出湯的過程)
C. 資料產生的後續影響(喝湯的人有沒有掛急診的過程)
顯然,我們要針對B階段,再細分為各個步驟。
我們一樣拿蘿蔔排骨湯說明:
B-1. 蘿蔔和豬必須被送到同一個地方,例如市場,這兩項食材才有機會被一起備料。
B-2. 新鮮蘿蔔上有些土,豬要送電宰也會沾上糞便血汙,所以少不了清洗、清潔的過程。
B-3. 要做「蘿蔔排骨湯」,不會整根蘿蔔和整隻豬丟下去熬吧?所以,必須針對原生材料做一些處理,例如將蘿蔔削皮切塊、只取大小適中的豬肋骨。對廚師來說,處理蘿蔔還簡單,但豬總不會是自己動手殺吧?從此可看出根據不同食材,會有不同的前置作業。
B-4. 終於有了準備好的食材,下一步呢?就是廚師能大展身手的階段,做個最簡單的蘿蔔排骨湯,也可以突然轉念做個大菜「蒜香蘿蔔燉排骨」,或是廚師的徒弟突然跑來要求說:「師傅,感謝你幫我把食材準備好,這菜簡單,後面就讓我自己來吧!」
由上可發現,前3步驟是必須的,但第4步驟有非常多種可能性,所以我們明天開始會先詳細討論B-1~B-3步驟,以資料領域相對應的就是:「資料匯入(ETL: Extract, Transform, Load)」、「資料清洗(Data Cleansing)」、「資料採礦(Data Mining)」。
或許從此開始,會有些人不太認同,或覺得與自己過往認知不太相同。然而,資料科學從2010年發展至今接近10年,仍沒能發展成專業學科,甚至成為一門大學通識課程,這顯示了這領域不只是在專有名詞,甚至是處理過程,都因發展多元化而無法收斂,進而無法產生一個主幹而受人學習。
小馬無意也無權否決多元化的各種想法各種手法各種套路,只是想從中收斂出一個普遍能廣為人接受的說法與解釋,並期待能進而發展成可受人學習的基礎觀念。就像是武俠小說中的五行拳,是一門非常普通的拳法,但卻最廣為大眾所學一般,僅此為志。