很多人誤以為 AI 規劃師的工作就是每天鑽研高深的演算法,但真相往往比較骨感:我們有 80% 的時間都在跟「髒資料」搏鬥。
一、 數據藍圖:先看清楚你的「礦石」長什麼樣
在動手處理前,得先搞清楚手上的資料屬於哪一類。這決定了後續要動什麼樣的手術。

- 結構化數據: 就像 Excel 表格或 SQL 資料庫,每一列、每一行都整整齊齊。這是最方便分析的「乖寶寶」。
- 半結構化數據: 像是 JSON 或 XML 檔案,雖然有標籤(Tags)告訴你這欄是什麼,但格式比較靈活,不會死板地對齊。
- 非結構化數據: 圖片、影音、社群媒體的留言。這類資料最隨性,需要透過深度學習或 NLP 技術先轉化,模型才學得動。
二、 煉金第一步:數據清洗的排毒程序
拿到資料後,別急著丟進模型。沒經過清洗的資料就像帶泥的礦石,會讓模型「消化不良」。
1. 遺缺值的抉擇
資料欄位空白是常態。你可以選擇直接刪除,但這可能導致樣本量大減。聰明的做法是填補:利用平均數或中位數。
- 規劃師筆記: 如果資料分佈很不平均(有極端值),請優先選擇中位數,才不會被那些「有錢人」拉高了整體的平均水平。
2. 離群值的處置
那些遠離群落的數據點,有時是輸入錯誤(例如年齡 -5 歲),有時則是深具意義的特殊訊號(例如金融詐欺的大額交易)。
- 判斷準則: 透過箱形圖 (Box Plot) 找出異常點。如果確定是雜訊,就修正或剔除;如果是珍貴的異常訊號,則要保留並單獨標記。
三、 特徵轉換:把人類語言翻成機器的數字
AI 本質上只聽得懂數字。當資料裡出現「城市」、「顏色」或「等級」時,得幫機器做翻譯。
這裡有幾招常用的翻譯術:
- 標籤編碼 (Label Encoding): 直接給類別編號(台北=0、台中=1、高雄=2)。適合有「順序感」的資料,如:初級、中級、高級。缺點是模型可能會誤以為 2 比 0 大。
- 獨熱編碼 (One-Hot Encoding): 為每個類別開一個專屬欄位(只有 0 跟 1)。適合「沒有大小之分」的類別,能避免模型產生錯誤的權重判斷。
- 目標編碼 (Target Encoding): 當類別太多(例如有幾百個鄉鎮市區)導致欄位爆炸時,改用該類別對應預測結果的「平均值」來代表它,能有效精簡空間。
- 分箱 (Binning): 把年齡這類連續數字切成「青年、中年、老年」等區間。這能增加模型的穩定性,對抗極端值的偷襲。
四、 生存法則:特徵尺度的統一
這是新手最容易踩坑的地方。想像一下,模型正在處理兩個特徵:「年齡(0-100)」與「年薪(0-1,000,000)」。 如果不縮放,年薪的微小波動會完全蓋過年齡的變化。這就是「尺度霸凌」。
這會造成三個慘烈結果:
- 距離計算扭曲: 靠「距離」判斷相似度的模型(如 KNN 或 SVM),會完全被大數字牽著走。
- 梯度下降不穩: 模型在更新權重時會像酒駕一樣劇烈震盪,遲遲無法收斂到最佳解。
- 正則化偏差: 為了防止過度擬合的「處罰機制」,會不公平地針對數字小的特徵,讓它們失去發言權。
解藥如下:
- Min-Max 正規化: 把數據通通壓縮到 0 與 1 之間。
- Z-Score 標準化: 將數據轉為平均數 0、標準差 1 的分佈。確保每個特徵都在同一條起跑線上公平競爭。
結語:AI 規劃師的真實價值
數據處理不是簡單的體力活,而是一連串的決策。你要判斷何時補值、何時轉碼、何時縮放。這些前置作業做足了,後面的模型才能跑出真正的預測威力。
面對一個表現不佳的模型,先別急著更換複雜的演算法。回過頭去檢查你的數據煉金室,答案往往就藏在那些被忽視的原始特徵裡。