資料知識地圖 · 7. 特徵建模
7. 特徵建模
Feature Engineering & Modeling
觀念教學
模型不是吃生資料的 — 特徵工程把原始欄位「煮」成模型消化得了的養分。業界老話:特徵決定上限,模型只是逼近它。
核心觀念
特徵工程(Feature Engineering)是把領域知識轉成數值表達的過程,直接決定模型效能。四大基本功:縮放(標準化/Robust,統一數值尺度)、編碼(One-hot/Label,把類別轉成數字)、特徵交叉(組合欄位產生新資訊)、時間窗(把歷史行為聚合成「近 7 天消費次數」這類特徵)。
白話理解
電信商做流失預測:原始資料只有通話紀錄,工程師做出「近 30 天通話分鐘數」「客服來電次數乘以合約剩餘月數」等特徵,再看特徵重要性排序,發現客服來電是最強訊號 — 這個洞察比模型本身更值錢。
這一站的全景
- 縮放與編碼:進模型前的標準前處理,方法選錯會直接誤導模型
- 特徵交叉與時間窗:把「星期幾乘時段」「滾動平均」這類組合與序列資訊餵給模型
- 建模:結構化資料用 ML(樹模型、線性模型);有時間順序的資料用時間序列(Time Series)方法
- 資料策略:樣本不平衡用重抽樣或權重調整;資料太少用資料增強擴充
- 迭代精煉:用特徵重要性回頭刪除無用特徵,越煉越純
🎯 口訣:縮放、編碼、交叉、開窗 — 特徵決定上限,模型逼近上限。
iPAS 考點
考「情境選技巧」:欄位組合(星期幾加時段)選特徵交叉;類別欄位進線性模型,考編碼方式的選擇;違約、詐欺這類稀有事件,考樣本不平衡處理。答題邏輯固定:先看資料型態,再配對應的特徵工程手法。
應用場景
評估指標
iPAS 歷屆考題詳解(2 題)
先自行作答,再展開詳解。題目出處均為 iPAS AI 應用規劃師正式考題,著作權屬原主辦單位。
在一個同時包含連續型特徵與類別型特徵的資料集中,若希望透過適當的特徵工程流程來提升模型整體表現,下列哪一種作法最為合適?
- A將類別型特徵使用標籤編碼(Label Encoding)轉換後,與連續特徵直接合併進行模型訓練
- B將連續特徵進行離散化(Discretization)或分桶(Binning)轉為類別型特徵,統一以類別方式處理
- C對連續特徵做標準化(Standardization),類別特徵採用目標編碼(Target Encoding),並生成交互特徵提升模型表現
- D只保留連續特徵,忽略類別型變量以簡化模型
看正解與逐選項詳解
正解:C
正確答案:(C)
【正解解析】
混合型資料的特徵工程應依資料型態分別處理:連續特徵做標準化(Standardization)統一尺度,有利於距離計算與梯度收斂;類別特徵採用目標編碼(Target Encoding)等方式轉為帶資訊量的數值,避免高基數 One-hot 造成維度爆炸;再生成交互特徵(Interaction Features)捕捉變數間的聯合效應。三者並用,最能提升模型整體表現。
【為何其他選項錯了?】
- (A):標籤編碼(Label Encoding)會替類別加上人為的大小順序,對線性模型與距離型模型會引入虛假的順序關係,直接合併訓練容易誤導模型。
- (B):把連續特徵全部離散化會損失數值資訊與排序精度,為了統一格式而犧牲資訊量,並不合適。
- (D):直接捨棄類別特徵等於放棄一整塊資訊來源,過度簡化,模型表現通常因此下降。
提示:連續特徵標準化、類別特徵目標編碼、再加交互特徵,混合型資料應分別採用合適的處理方式。
資料科學家為分析顧客行為,利用現有欄位「銷售金額」與「瀏覽次數」,計算出新變數「銷售金額/瀏覽次數」。此動作屬於下列哪一類特徵工程方法?
- A特徵選擇(Feature Selection)
- B特徵衍生(Feature Derivation)
- C特徵轉換(Feature Transformation)
- D分箱處理(Binning)
看正解與逐選項詳解
正解:B
正確答案:(B)
【正解解析】
以既有欄位「銷售金額」與「瀏覽次數」相除,創造出原本不存在的新欄位「單次瀏覽平均銷售額」,這種「由既有特徵組合運算產生新特徵」的做法就是特徵衍生(Feature Derivation),也常稱特徵建構(Feature Construction)。它為模型補上原始欄位未直接表達的資訊(此處為轉換效率),是特徵工程中常見的加值手法。
【為何其他選項錯了?】
- (A):特徵選擇是「從現有特徵中挑選重要者、移除不重要者」,做的是刪減;本題是產生新欄位,方向相反。
- (C):特徵轉換是對特徵做數學變換(如取對數、標準化),語意不變、僅改變尺度或分布;本題是兩個欄位運算出語意全新的欄位。
- (D):分箱是把連續數值切成區間(如年齡分組),與兩欄相除產生新變數無關。
提示:選擇是挑減特徵、轉換是變換尺度、衍生是以既有欄位計算出新欄位。