什麽是特徵工程-Feature Engineering

by admin_ktouhfg3

特徵工程(Feature Engineering)就是把「原始資料」變成「模型能理解、而且更容易學到規律」的有用特徵的整套方法與流程。簡單講:餵模型之前,先把食材洗好、切好、調味到剛剛好。

為什麼要做?

  • 提升可學性:把複雜關係用更直覺的表示法表達,模型更容易收斂、準確度更高。
    降低資料噪音與偏差:處理缺值、離群值、尺度差異,避免模型被亂流帶著走。
    融入領域知識:把業務 know-how 轉成特徵,例如「近 7 日平均下單量」「每班停機次數」。

  • 做什麼事?

  • 常見步驟可以想成一條清洗台:

    1. 清理與標準化:處理缺值、異常值、單位與時區統一、數值縮放(Standard/MinMax)。

    2. 編碼:把類別型變數轉可學的表示(One-Hot、Target Encoding、Embedding)。

    3. 衍生特徵:時間窗統計(移動平均、最大/最小)、比率、交互項(A×B)、分箱(Binning)。

    4. 降維/壓縮:PCA、UMAP,讓資訊密度更高、噪音更低。

    5. 選擇:用相關係數、L1 正則、樹模型重要度、遞迴特徵消除(RFE)挑重點。

    6. 驗證:用交叉驗證檢查「這些特徵真的有幫助嗎?」避免資料洩漏(leakage)。

    依資料型態的差異

    • 結構化資料(表格):上面那套幾乎全用得上;樹模型(XGBoost/LightGBM)對手工衍生與分箱很友好。

    • 低結構化(文本、影像、聲音):較適合特徵學習(Feature Learning)—讓模型自己學特徵:

      • 文本:詞向量(word2vec、GloVe)、Transformer 向量(BERT/LLM embedding)。

      • 影像:CNN/ViT 的中間層表徵;也可用自監督學習(SimCLR、MAE)。

      • 然而,前處理仍重要:分詞/正規化、影像尺寸與色彩校正、資料增強(augmentation)。

    什麼時候少做、甚至不做?

    深度學習端到端在影像/語音/NLP 通常少量手工特徵就夠;但在資料量不大、特徵雜亂、或強烈領域規則的場景(例如製造良率、設備稼動、信貸評分),精心的手工特徵常比盲目加深模型更有效。

    常見地雷

    • 資料洩漏:用到「未來資訊」做特徵(例如用 T+1 的數據計算 T 的特徵)→ 練功神準、上線崩潰。

    • 過度衍生:造出一堆看似高級、其實噪音的特徵;指標要用驗證數據說話。

    • 未管控尺度:距離型模型(kNN、SVM、K-means)對尺度很敏感,不縮放會出事。

    • 類別高基數:直接 One-Hot 會爆維度;改用 Target Encoding 或 Embedding。

    工程化與可重現

    把特徵工程管線化fit on train → 同樣的轉換器 transform on validation/test/online。
    工具:scikit-learn Pipeline/ColumnTransformer、Feature Store(Feast)、Airflow/Prefect 編排。

  •  

~鈳恩智聯,莊濠禧

Related Posts

Leave a Comment