實際工作環境機器學習系統:何時要轉換資料?

原始資料必須經過特徵工程 (轉換後) 進行設計。何時該轉換 或「小規模讀取,大規模寫入」 還是主要擁有唯讀資料?廣義來說,您可以在 以下兩個期間內:

  • 訓練模型的之前
  • 訓練模型時。

訓練前先轉換資料

在這個方法中,您將執行下列兩個步驟:

  1. 編寫程式碼或使用專用工具 轉換原始資料
  2. 將轉換後的資料儲存在模型可以擷取的位置,例如 就在磁碟上一樣

優點

  • 系統只會轉換一次原始資料。
  • 系統可以分析整個資料集來判定 轉型策略。

缺點

系統執行動態作業時,訓練/應用偏差會較為危險 (線上) 推論。 在使用動態推論的系統上 原始資料集與提供預測的軟體通常不同 這可能會導致訓練/應用偏差 相反地,使用靜態 (離線) 推論的系統有時可能會 使用相同的軟體。

在訓練時轉換資料

在此方法中,轉換是模型程式碼的一部分。模型 並擷取原始資料

優點

  • 如果您變更轉換,仍然可以使用相同的原始資料檔案。
  • 您必須確保在訓練和預測期間的轉換是相同的。

缺點

  • 複雜的轉換可能會增加模型延遲時間。
  • 轉換是針對每個批次進行。

要按批次處理資料可能並不容易。舉例來說,假設您要 請使用 Z 分數正規化功能 轉換原始數值資料Z 分數正規化需要平均值和 特徵的標準差 但分批轉換後,您只能存取 一批資料,而不是完整資料集。如果批次作業 同個批次中的 Z 分數就是 -2.5 的變體,含義會不同。 以 -2.5 表示 如要解決這個問題,您可以預先計算平均值和標準差 然後當做模型中的常數