資料科學的流程基本原則就是:「從資料開始,透過一連串的過程發現隱藏在資料中的規則,利用這些規則完成一些有趣的應用。」大致的流程會是: 取得資料
-> 資料前處理
-> 資料轉換
-> 資料分析
-> 資料解釋
-> 發現知識
。 以下這張圖來自 Fayyad 在 The KDD Process for Extracting Useful Knowledge from Volumes of Data 所提到的資料科學處理流程。不過這個看似單一的流程,其實是需要重複不斷的嘗試,一層一層探索,最終才得以找到真正具有價值的黃金。
問題驅動:觀察 -> 假設 -> 實驗 -> 證明 -> 結論
在過去我們在科學課本上有學過一個問題的解決流程是這樣,稱為是問題驅動(Problem Driven)。基本上是透過專業知識的假設,將問題限縮在比較小的範圍下去解題。
資料驅動:實驗 -> 觀察 -> 實驗 -> 分析 -> 結論
不過以資科科學會從另不同的觀點切入,其流程大概是這樣。資料科學前期不仰賴專業介入,單純地從資料上著手。不過也是因為這樣,會使得解題範圍變得很大,也因此存在幾個問題。
不過一切仰賴的計算機運算技術的進步以及巨量資料概念的興起,這使得資料驅動再度受到矚目。
一般說到資料分析我們會聯想到統計學、資料探勘與機器學習,也可以從資料科學的流程中,看見他們扮演一個承先啟後的角色。資料分析可以是很簡單的算術,也可以是很複雜的數學模型。那究竟這幾個主題有什麼異同呢以及他們又討論些什麼呢?這是 SAS 關於資料科學的一張解釋,大概呈現了幾個常見議題間錯中複雜的關係。
資料探勘與機器學習是從資工及人工智慧中發展而來的領域,透過非規則的方法去學習資料分布的關係。統計模型是統計學中利用這種變量去描述與結果的關係。本質上來說,他們做的事情是差不多的,也互有重疊。差別大概就是一開始想要達成的目的不同(一個是想從資料找出東西,一個是從資料中學習規則),不過現在的發展大至上沒有不同了,也算是一組不可分割的學科。
統計方法用一個方程式去描述分類問題,將資料找出一個分割線將結果分成兩類。然而,從機器學習的方法找出來的是一圈一圈的等曲線,看起來似乎可以得到更廣泛的結果,而不只是簡單的分類問題。統計模型是基於嚴格的限制下去進行的,稱為假設檢定,這也是與機器學習方法上的不同。