iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 3
2

思考流程

資料科學的流程基本原則就是:「從資料開始,透過一連串的過程發現隱藏在資料中的規則,利用這些規則完成一些有趣的應用。」大致的流程會是: 取得資料 -> 資料前處理 -> 資料轉換 -> 資料分析 -> 資料解釋 -> 發現知識 。 以下這張圖來自 Fayyad 在 The KDD Process for Extracting Useful Knowledge from Volumes of Data 所提到的資料科學處理流程。不過這個看似單一的流程,其實是需要重複不斷的嘗試,一層一層探索,最終才得以找到真正具有價值的黃金。

The KDD Process for Extracting Useful Knowledge from Volumes of Data

  • 取得資料:從原始資料到決定存放資料庫的過程,一般來說會涉及到資料獲取(data acquisition)、資料爬蟲(data crawler)、資料庫管理(data magenement)、資料倉儲(data warehourse)等等議題。
  • 資料前處理:對從資料庫根據規格(API、SQL)取出的資料集,進行資料清理(data cleaning)處理資料中包含的雜訊或錯誤訊息,或是想使用到多個資料集也會在這邊進行整併。
  • 資料分析:可以分為兩個階段,探索性分析(Exploratory Data Analysis)與資料探勘/機器學習(Data Mining/Machine Learning),可以把探索性分析視為是一種前期的觀察,在經由資料探勘進行近一步地挖掘。
  • 資料解釋:通常會透過資料視覺化的方式及圖表方式呈現前述的結果,運用一些可能的原因進行解釋,然後把這一整套東西串起來。

資料驅動與問題驅動

問題驅動:觀察 -> 假設 -> 實驗 -> 證明 -> 結論

在過去我們在科學課本上有學過一個問題的解決流程是這樣,稱為是問題驅動(Problem Driven)。基本上是透過專業知識的假設,將問題限縮在比較小的範圍下去解題。

資料驅動:實驗 -> 觀察 -> 實驗 -> 分析 -> 結論

不過以資科科學會從另不同的觀點切入,其流程大概是這樣。資料科學前期不仰賴專業介入,單純地從資料上著手。不過也是因為這樣,會使得解題範圍變得很大,也因此存在幾個問題。

  • 因為資料量過於龐大機器無法負荷,利用抽樣進行分析,可能會有抽樣誤差的問題出現。
  • 一開始的資料集就有問題,造成 Garbage-in-Garbage-out 的現象。

不過一切仰賴的計算機運算技術的進步以及巨量資料概念的興起,這使得資料驅動再度受到矚目。

統計學、資料探勘、機器學習

一般說到資料分析我們會聯想到統計學、資料探勘與機器學習,也可以從資料科學的流程中,看見他們扮演一個承先啟後的角色。資料分析可以是很簡單的算術,也可以是很複雜的數學模型。那究竟這幾個主題有什麼異同呢以及他們又討論些什麼呢?這是 SAS 關於資料科學的一張解釋,大概呈現了幾個常見議題間錯中複雜的關係。

SAS institute: the universe of data science

資料探勘與機器學習是從資工及人工智慧中發展而來的領域,透過非規則的方法去學習資料分布的關係。統計模型是統計學中利用這種變量去描述與結果的關係。本質上來說,他們做的事情是差不多的,也互有重疊。差別大概就是一開始想要達成的目的不同(一個是想從資料找出東西,一個是從資料中學習規則),不過現在的發展大至上沒有不同了,也算是一組不可分割的學科。

統計方法用一個方程式去描述分類問題,將資料找出一個分割線將結果分成兩類。然而,從機器學習的方法找出來的是一圈一圈的等曲線,看起來似乎可以得到更廣泛的結果,而不只是簡單的分類問題。統計模型是基於嚴格的限制下去進行的,稱為假設檢定,這也是與機器學習方法上的不同。

Reference

  1. 吳君孝:資料科學可以怎麼做?從巴黎恐攻、太陽花學運到智慧城市

上一篇
資料時代的來臨
下一篇
Python 程式語言初探 - 環境篇
系列文
從學生到職場:菜鳥資料科學家的第一個月30

1 則留言

1
StanleyJui
iT邦新手 5 級 ‧ 2016-12-18 19:13:07

SAS 關於資料科學的解釋,這張看了一目了然說。

我要留言

立即登入留言