資料科學的思考流程 —「資料驅動」與「問題驅動」|專家論點【維元】
資料科學的流程基本原則就是:「從資料開始,透過一連串的過程發現隱藏在資料中的規則,利用這些規則完成一些有趣的應用。」大致的流程可以分為「取得資料
」、「資料前處理」、「
。 資料轉換
」、「資料分析」、「資料解釋」和「產生結果」
不過這個看似單一的流程,其實是需要重複不斷的嘗試、一層一層探索,最終才得以找到真正具有價值的黃金。
- 取得資料:從原始資料到決定存放資料庫的過程,一般來說會涉及到資料獲取(data acquisition)、資料爬蟲(data crawler)、資料庫管理(data management)、資料倉儲(data warehouse)等等議題。
- 資料前處理:對從資料庫根據規格(API、SQL)取出的資料集,進行資料清理(data cleaning)處理資料中包含的雜訊或錯誤訊息,或是想使用到多個資料集也會在這邊進行整併。
- 資料分析:可以分為兩個階段,探索性分析(Exploratory Data Analysis)與資料探勘/機器學習(Data Mining/Machine Learning),可以把探索性分析視為是一種前期的觀察,在經由資料探勘進行近一步地挖掘。
- 資料解釋:通常會透過資料視覺化的方式及圖表方式呈現前述的結果,運用一些可能的原因進行解釋,然後把這一整套東西串起來。
資料驅動與問題驅動
問題驅動
過去,我們在科學課本上有學過一個問題的解決流程,稱為問題驅動(Problem Driven)。基本上是透過專業知識的假設,將問題限縮在比較小的範圍下去解題。
包含觀察 -> 假設 -> 實驗 -> 證明 -> 結論的思考步驟。
資料驅動
不過以資科科學會從另不同的觀點切入,其流程大概是這樣。
資料科學前期不仰賴專業介入,單純地從資料上著手。不過也是因為這樣,會使得解題範圍變得很大,也因此存在幾個問題。
- 因為資料量過於龐大機器無法負荷,利用抽樣進行分析,可能會有抽樣誤差的問題出現。
- 一開始的資料集就有問題,造成 Garbage-in-Garbage-out 的現象。
不過一切仰賴的計算機運算技術的進步以及巨量資料概念的興起,使得資料驅動再度受到矚目。
統計學、資料探勘、機器學習
一般說到資料分析,我們會聯想到統計學、資料探勘與機器學習,也可以從資料科學的流程中,看見他們扮演一個承先啟後的角色。
資料分析可以是很簡單的算術,也可以是很複雜的數學模型。那究竟這幾個主題有什麼異同呢?以及他們又討論些什麼呢?這是 SAS 關於資料科學的一張解釋,大概呈現了幾個常見議題間錯中複雜的關係。
資料探勘與機器學習是從資工及人工智慧中發展而來的領域,透過非規則的方法去學習資料分布的關係。統計模型是統計學中利用這種變量去描述與結果的關係。
本質上來說,他們做的事情是差不多的,也互有重疊。差別大概就是一開始想要達成的目的不同(一個是想從資料找出東西,一個是從資料中學習規則),不過現在的發展大至上沒有不同了,也算是一組不可分割的學科。
統計方法用一個方程式去描述分類問題,將資料找出一個分割線將結果分成兩類。然而,從機器學習的方法找出來的是一圈一圈的等曲線,看起來似乎可以得到更廣泛的結果,而不只是簡單的分類問題。統計模型是基於嚴格的限制下去進行的,稱為假設檢定,這也是與機器學習方法上的不同。
嗨,我是維元,目前是一名資料科學與網頁開發的雙棲工程師。近期也擔任科技島社群的駐站專家,持續分享發表對 #資料科學、 #網頁開發 或 #軟體職涯 相關的文章。如果對於內文有疑問都歡迎與我們進一步的交流,都可以追蹤資料科學家的工作日常 Facebook 粉專 或 Instagram 帳號,也會不定時的舉辦分享活動,一起來玩玩吧!
瀏覽 4,841 次