數據分析技術指南:用情境解析適合你學習的程式工具

在數位轉型的時代裡,數據分析的需求日漸增長,然而分析工具種類眾多,對於想要進入這個領域的人來說,面臨如何選擇適合工具的難題,像是:

  • 先學習 Python 好呢?還是 SQL?
  • 要學哪個工具比較容易找工作?
  • 我沒有要當數據分析師,只是工作日常會用,還是要學 SQL 嗎?

對於有一些數據經驗,或是會寫程式但想踏入數據領域的人,可能也會想知道:

  • 是該加強 Python 呢?還是讓 R 更熟練?
  • 會需要學其他視覺化工具嗎?

為了解決這些心中的疑惑,我們設計一個全方位的技術檢核表(可點擊下方按鈕下載),內容包含數據分析師在工作上實際應用場景,以及對應的工具選擇。

免費點我下載數據技能路線指南

技術檢核表的內容包含:「情境」、「情境簡介」、「技術選擇說明」,並依據不同情境下適合的工具給予適合的分數。通常我們會從目標要達成的任務,進一步探討找出適合的技術,因此,檢核表的設計理念以「情境」為基礎,並針對各情境做詳細描述,以便了解技術選擇的理由。

以下將介紹幾種常見的應用場景,文末大家可以點擊領取技術檢核表,規劃出專屬於自己的學習指南!

依據不同情境下的任務選擇適當的分析工具

各種分析工具都擁有他獨特的優勢及適用的範圍,從傳統的統計方法到現代的機器學習技術,這些工具應用於不同場域下能發揮顯著效果,以下將舉例 5 種使用情境及搭配的分析工具,介紹如何根據具體需求選擇適合的工具來實現分析目標:

情境一:從大量資料集中提取特定範圍的數據

  • 常使用的工具: SQL (Structured Query Language)
  • 多數情況下,資料會被儲存在資料庫中,好處是可以統一管理及維護,提高資料的安全性,同時也是數位化的其中一環,促進資源共享。將資料儲存到資料庫中還可以讓我們精確定義好存取的欄位,確保儲存的內容既重要又且具有統一的定義。下方圖表以客戶資料作為舉例。
▲ SQLite 資料庫操作示意(圖片來源:Rainee Hsu 繪製)

情境二:數據清洗及萃取出真正需要的內容

  • 常使用的工具: Python
  • 在實際分析數據時,情況往往並非想像中的完美。下方是幾種常見的情形,而這些情況若未在分析的一開始得到妥善的處理,可能導致分析結果無法反映實際情況,進而影響決策的準確性。
    • 缺失值,意即有些欄位內容未被填寫。根據缺失值的多寡會有不同的處理方式,當缺失值較少時,可將該筆有遺失的資料移除,當缺失值較多時,則需要透過常見的 missing data imputation(遺失資料插補)方法來進行缺失值處理。
    • 不合理的數據,如:購買的商品數量出現負數,使得計算當日銷售總數量時會有誤。
    • 相同資訊寫成不同表示方式,即不一致的資料表示,如:同一個幣別欄位中,有些值寫 NTD ,有些寫 TWD ,使得在計算今日交易情況時會出現兩種幣別的問題,雖然實際上都是指台幣交易,但不同的表示方式會使得在計算當日交易時出現兩種幣別。
  • 資料分組、彙總成整體指標(如:總數量、總金額), Python 的 Pandas 套件是一個常見用來處理資料的方法。
▲ 數據處理示意(圖片來源:Rainee Hsu 繪製)

情境三:數據分析結果的圖表視覺化

  • 常使用的工具: R
  • 直觀、清晰的圖表呈現是讓原本對數據不了解的人,快速理解並掌握數據最快速的做法,同時也是相對文字更易吸引人注目的表達方式,而透過圖表來解析從數據中的發現,也是數據工作者很常遇到的工作情境。
  • R 語言擁有豐富的視覺化套件,如:ggplot2 套件,不僅能產生各種圖表,也能結合統計分析,進而在 R markdown 快速製作出專業又精美的分析報告。
▲ 圖表視覺化示意(圖片來源:Rainee Hsu 繪製)

情境四:機器學習方法與實際應用

  • 常使用的工具: Python
  • 讓電腦從數據中學習規律和趨勢,並進行預測和做出決策,機器學習應用領域廣泛,如,自然語言處理、圖像識別和欺詐檢測等領域。
  • 下方圖表為機器學習模型訓練與預測的示意圖,常見的訓練模型為從資料庫提取數據,開始進行模型訓練,最後再將產出的模型儲存,提供後續預測使用。以分類模型為例,預測的步驟則是將新資料輸入模型中,即可以得到模型預測新資料會落在哪一類的結果。
  • 在 Python 中我們可以從眾多機器學習套件中做選擇,其中也包含被廣泛使用的 Scikit-learn。同時,也有主流的深度學習框架,使得模型開發和部署更加方便。
▲ 機器學習示意(圖片來源:Rainee Hsu 繪製)

情境五:網頁爬蟲及 API 開發

  • 常使用的工具: Python
  • 網頁爬蟲是常見的公開資料蒐集方式,當要蒐集的網站上資訊量很大時,或是該網站會定期新增、更新資訊,透過程式撰寫方式來自動擷取所需的資訊,不但節省時間,也能降低人為疏失的風險。常見的網路爬蟲流程為:建立一支程式,定期訪問並爬取網頁資料,將資料經過清洗後保存到先前已經定義好的資料庫欄位。
  • 當模型建立好後,我們可以將它開發成 API,提供其他人方便來做調用。Python 在資料傳接格式上的處理及解析較直覺易懂,且在處理大量且同時進行的請求時,相對有較多輔助方式優化。
▲ 網頁爬蟲與 API 示意(圖片來源:Rainee Hsu 繪製)

從目標出發,選擇優先學習的技術

數據領域相關職缺正蓬勃發展中,數據分析師在不同產業裡的角色定位與需求技術也不盡相同,因此,建議從目標應徵的職缺來判斷學習技術的優先順序,或是從自己感興趣的主題出發,開始實作 side project。透過實際案例的操作,可以直接了解如何應用,進而加快學習的腳步。

如果你正在尋找開始學習的工具,卻沒有想法從哪裡入手,推薦可以從 Python入手。Python 在網路上擁有豐富的學習資源,同時相關社群也十分活躍,使得它成為初學者友好且易上手的語言,或是先從比較入門的資料撈取工具 SQL 來試試水溫,都是不錯的選擇!熟悉這些技能之後,將能夠更快進行數據分析,解鎖更多專業領域的機會。