2014/7/2

我認為的資料科學家作業流程

之前有幾次機會到不同場合分享 Excel 在實務上應用,不過當時的標題大致上都是「樞紐分析」「資料分析」,感覺上就是不夠大器。
上網找了一下,原來當年針對 Data Mining 這個主題就有人提出了的作業流程:CRIPS-DM
我覺得定義的還蠻完整的,也符合實務上遇到的狀況,更重要的是它將Business Understanding 與 Deployment 也納入,就是要提醒玩弄資料的工程師,千萬不要只將眼界完全專注在單一課題(例如:新演算法的開發),而是要對實際商業環境做出價值。好比你是個管理顧問,接到了個賣牛肉麵的案子,那設法將牛肉麵多賣出個幾千碗就是你的價值所在;總不能資料分析到最後:成年男性牛肉麵吃的比較多
File:CRISP-DM Process Diagram.png

上圖引用自 wikipedia
可以看到主要分為6大階段

Business Understanding
Data Understanding
Data Preparation
Modeling
Evaluation
Deployment
我自己的記憶理解方式如下:
以某校新到任教師為例,各階段對應狀況如下:
(1)Business Understanding
學生們的學習狀況為何? 要做些什麼來協助提高低學習意願學生的動機?
(2)Data Understanding
蒐集那些資料可以協助瞭解這個問題? 筆試成績、家長背景、學生姓別、年齡、居住地、國籍、經濟狀況 ?
資料想要蒐集得愈多,成本會愈高哦

(3)Data Preparation
蒐集資料的過程中,有些資料可以直接計算得到。例如:只要知道出生年月日,自然可推算年齡;
但同樣填寫小康,有人是住在大安精華區,有人是在荒山野嶺...是否有其他方式提供資料的正確性?
(4)Modeling
決定要採用那些分析技術→繪製直方圖、敘述統計、差異分析、學習狀況分類
(5)Evaluation
評估→此例中只是一個教師想要執行的專案,以目前電腦的計算能力,不太有評估的需要...但如果是整個國家的資料,則選用的分析模型是否合宜就楚重要
(6)Deployment
因材施教? 改變教室經營方式? 改變家長心態? 改變筆試頻率?
我想在教育機構,重視的應該是第(4)項:Modeling;
所謂的統計學、計算機概論、機器學習、程式寫作,都可以視為是這塊...
不過其實在實務上,有些項目還真的不好畫分
比方說在 Big Data 時代,很多資料並不像是當年在喊 Data Mining 時資料是由廠商自行蒐集而來的結構化資料,現在有很多資料是屬於非結性構資料;所以說啦,Big Data是個強調混搭的時代
只要有心的話,廠商也可以設定一個 Facebook 粉絲頁;或是廠商可以利用程式監控敵對企業專利申請的狀況...再簡單一點,賣冰啤酒的廠商可以取得氣象預報的各項資料來研擬各種行銷策略
我把以上的流程,再和The input-process-output (IPO) model 結合如下:
Moe
資料科學家作業流程
CRIPS-DM IPO 對應技術分類
(個人意見)
Ⅰ-定義問題 Business Understanding Input 產業分析
商業知識/邏輯
Ⅱ-取得資料 Data Preparation + Data Preparation Input Databse System
Information retrieval systems
Ⅲ-模型分析 Modeling + Evaluation Process 統計學
機器學習
Social Network Anaysis
Ⅳ-行動應對 Deployment Output Visualization

這樣的畫分一定有很多爭議…
好比 Social Network Anaysis 中也會有大量的Visualization(視覺化)技術啊…不過我想在學習的過程中,這對於方向感的建立是相同重要的,所以我還是會將視覺化技術給獨立化出來。而實務上的確也會有那種面對複雜的問題,無法判斷各種指標的權重應該如何決定時,將所有資訊轉化成一張圖形就決定的狀況發生…
如果本網站是一本書的話,那我想這篇文章的重要性就如何目錄吧 微笑
備註:
資料科學家(data scientis)是 Big data 炒得火熱之後出來的新名詞;
最簡單的定義就是,資料科學家的統計學比程式工程師好,資料科學家的程式能力比統計學家好…