目錄

機器學習解決問題五步驟之二:建立資料集為何最花時間?

這篇是「機器學習入門觀念」系列的第四篇。上一篇「使用機器學習解決問題的五步驟:定義問題」講完了五個步驟的全貌,也把第一步「定義問題」拆開來看過一遍:先想清楚要解的到底是什麼任務,後面的每一步才有方向。

這篇要接著看第二步「建立資料集」。內容包含兩件事:為什麼這一步的份量遠比想像中重,以及實際動手時會經過哪四個階段。

機器學習五步驟流程圖,第二階段「建立資料集」被標示出來。
用機器學習解決問題的第二步驟:建立資料集

「建立資料集」大概是五個步驟裡最重要的一步。要用機器學習的技術解決問題,「資料」是一定得準備的,而且資料品質的好壞會直接反映在最後訓練出來的模型上。

這件事的邏輯其實很直觀:模型的規律是從資料裡學來的,資料本身如果有問題,模型就會把問題一起學走。同一套演算法、同一組超參數,換一份乾淨的資料,結果可能天差地遠。

機器學習專案中各階段時間佔比示意圖,資料準備佔了絕大部分。
資料集準備與前處理佔據機器學習專案的大量時間

根據統計,利用機器學習解決任務時,「資料準備」花了將近 80% 的時間,「其他步驟」則總共使用 20% 的時間。可見資料準備的過程其實相當的重要也不簡單!

換個角度看這個數字:真正在調模型的時間,只佔整個專案的一小部分。剛入門的時候很容易以為機器學習的重頭戲在演算法,實際做過一輪就會發現,大部分的力氣都花在把資料弄到堪用的狀態。

建立資料集的四個步驟流程示意圖。
機器學習中資料集的準備包含四個步驟

建立資料集的過程又可以拆分成以下 4 個步驟:

  • Data Collection
  • Data Inspection
  • Summary Statistics
  • Data Visualization

想要訓練出一個高品質的機器學習模型,資料數據的好壞相當重要。以下依序說明每一個步驟的意義。

Data Collection 顧名思義就是「收集資料」。這一步可能很容易,也可能很困難,落差非常大。

比較幸運的情況是,網路上已經有人針對你的任務整理好現成的資料集,下載下來就能用。但如果找不到現成的,可能就得自己寫一支「爬蟲程式」到網路上爬取大量資料,甚至得自己標註。

這個步驟的關鍵在於:收集到的資料,是否符合上一步驟中定義的機器學習任務? 資料量再大,只要跟任務對不上,對訓練就沒有幫助。

Data Inspection 就是「檢查資料」。前面提過資料品質會直接影響模型,而網路上開源的資料集品質參差不齊,因此必須先經過檢查,再拿來訓練模型。

資料檢查可以朝以下三個方向前進:

  • 資料集中的離群值 (Outlier)
  • 資料集中的缺失數據 (Missing Value)
  • 資料是否需進行預處理 (Preprocessed) 才能輸入模型

舉個具體一點的例子:一份使用者資料裡出現年齡欄位是 999 的紀錄,那多半是離群值;某些紀錄的欄位根本是空的,那就是缺失數據。這兩種狀況如果不處理就直接丟進模型,學出來的規律自然會被帶偏。

在不同的任務中,對於上述三種問題也有相對應的解決方法,將會在未來的文章中介紹。

Summary Statistics 的概念是:對手上已經處理過的資料做統計分析。透過一些統計指標,我們可以對資料集有初步的認知。

例如平均值 (Mean)、中位數 (Median)、最大與最小值 (Max & Min) 與標準差 (Standard Deviation)。這些都只是統計中的基本指標,作用是讓我們對資料集數值的分佈有初步理解。

即使只是這幾個數字,也常常能看出端倪。像是平均值跟中位數差很多,通常代表分佈被少數極端值拉歪了;標準差大得不合理,也是值得回頭確認資料的訊號。

多種資料視覺化圖表的組合示意圖,包含長條圖、折線圖與圓餅圖等。
透過多種圖表進行資料視覺化 [source: FineReport]

Data Visualization 也就是「資料視覺化」。透過各種類型的圖表把資料「視覺化」,資料就不再是生硬的數字,而是一張張有意義的圖表。

視覺化之後,我們可以更容易找到離群值 (Outlier) 或是趨勢 (Trend)。這也是它跟前一步 Summary Statistics 互補的地方:統計指標把整份資料壓縮成幾個數字,圖表則把分佈的形狀攤開來,有些問題用看的比用算的還快。

這篇文章介紹了「機器學習解決問題五步驟」中的第二步「建立資料集」,也拆解了它底下的四個階段:Data Collection、Data Inspection、Summary Statistics 與 Data Visualization。

要記住的重點只有一個:資料集的準備是整個流程中最重要、也最花時間的一步,資料品質的好壞將大大影響訓練出來的模型。下一篇文章會接著介紹第三步「模型訓練」。