身為一個資料資料工程師,日常工作包含「資料收集」、「資料整併」、「資料清理」或「模型導入」。當中的「資料整併」和「資料清理」又稱為「資料前處理」,大概會佔用工作中 80% 以上的時間。這一段過程需要大量的客製化與程式需求,也因此常被視為資料專案的瓶頸。換句話說,只要資料前處理做得好,就可以大幅提升整個資料專案的成功率。也因為這個痛點,這一篇文章像跟大家介紹一個資料分析流程自動化的一條龍工具 - Alteryx,運用 Alteryx 自動化來提升資料分析效率。

資料科學的工作流程

數據科學/資料科學(Data Science),是一門利用數據學習知識的學科,其目標是通過從數據中提取出有價值的部分來生產數據產品。資料科學的工作流程會透過一連串的過程發現隱藏在資料中的規則,利用這些規則完成一些有趣的應用。

做分析一定要寫程式嗎?

「做資料分析一定要寫程式嗎?」是許多分析人會面臨的抉擇與問題,程式的入門是相對比較高的門檻。但隨著資料科學的演進,許多商業軟體都逐漸成熟。典型的統計分析模型就像大家熟知的 SPSS、SAS 這種。這種工具專注於統計模型本身,讓使用者不需要投入太多的時間在數學模型的程式實作。另外也有偏向機器學習、資料探勘方法的模型工具,例如 Orange 或 Weka。

從上圖來說,我們可以從「模型類型」跟「應用範圍」範圍分成兩個象限,過去大部分的工具都專注在模型本身。但對於現今的資料科學工作來說,在模型之前的資料前處理往往才是最惱人最費工的,因此現在也有一些 RapidMiner、KNIME、Alteryx 這種的軟體,除了模型之外,也打造了包含資料前處理的一條龍策略。

資料分析流程自動化 - Alteryx

Alteryx 是一個「資料分析流程自動化」的一條龍分析工具,能夠提供使用者在單一平台整合多種資料源、複雜運算邏輯與流程。Alteryx 主要涵蓋原本資料工程(Data Engineering)的守備範圍,也就是所謂的資料整理、資料整併等等比較繁瑣而麻煩的工作。

Alteryx 的幾個特色

  • 數據流程、邏輯運算透明、容易維護與偵錯
  • 可重複利用、可自動化運行
  • 可以接很多資料源,並支持用程式語言運行

導入 Alteryx 後的優缺點評比

我自己使用過後可以將 Alteryx 定位成一個分析的整合工具, Alteryx 能夠將常見的處理流程自動化,也能夠整合其他常見的工具。以下大概分成幾點工作內容來看 Alteryx 導入後的特性:

① 資料清理 & 資料整併

根據經驗來說,資料前處理會佔用資料分析工作中 80% 以上的時間量,而這一段工作大部分都是繁瑣且客製需求高的。過去這一段也是對於工程師需求相對高的環節,很容易造成整體開發過程的瓶頸(因為開發人力上限)。透過 Alteryx 工具,可以使用拖拉式( Drag & Drop)操作、透過單元模組拼裝的介面進行分析。能夠有效的降低使用門檻,進而提供開發的效率。

補圖

② 整合 Python 分析

而有了資料之後,下一步進入模型分析的環節中,Alteryx 也提供了許多現成的模組可以使用。但值得一提的是,Alteryx 模型的底層跟程式有高度的整合,也就是說你可以轉換成程式碼模式進行彈性使用。如果內建的不夠,甚至可以在 Alteryx 中直接開發 Python 程式、載入套件也是沒問題的。

補圖

簡單來說,可以把平常使用 Python 的工作執行無痛整合進 Alteryx 流程中。

Alteryx 社群與學習資源

補內容

Reference

[1] Alteryx - Analytic Process Automation 領域始祖
[2] Alteryx使用心得│ 我為什麼要把分析流程自動化?


License


本著作由Chang Wei-Yaun (v123582)製作,
創用CC 姓名標示-相同方式分享 3.0 Unported授權條款釋出。