Notebook 流程
- 載入、檢查及清理資料
- 建立預測問題
- 建立預測標籤(Labels)
- 建立截止時間(Cutoff Times)
- 建立 Featuretools
EntitySet - 將原始資料正規化為多個關聯資料表
- 使用 Deep Feature Synthesis 自動建立特徵
- 使用特徵訓練機器學習模型
- 與基準模型(Baseline)比較
- 調整 Deep Feature Synthesis
- 評估 Precision、Recall、F1 Score 及 ROC AUC
核心預測問題會翻成:
預測某位客戶在未來一個月內,消費金額是否會超過 500 美元。
而例如:
Whenever we have time-series data, we need to be extra careful to not "leak labels" or use information from the future to predict a past event.
會翻成:
處理時間序列資料時,必須特別注意避免 資料洩漏(Data Leakage),亦即不能使用「未來才會知道的資料」來預測較早時間點的結果。
Featuretools 的 cutoff_time 就會用來確保:
預測 2011 年 6 月
↓
只可以使用 6 月之前的交易資料
↓
不能偷看 6 月之後的資料
而最後結論會整理成:
結論
這個 Notebook 展示了 Featuretools 在零售消費預測上的幾個主要優點:
- 自動建立大量有意義的特徵
Featuretools 可以從 Customers、Orders、Products、Purchases 等關聯資料中,自動建立適合機器學習使用的特徵。 - 避免時間序列中的資料洩漏
透過 Cutoff Time,所有特徵都只使用預測時間點之前可以取得的資料。 - 自動化特徵工程可以改善模型效果
Featuretools 配合 Random Forest 的模型表現優於單純使用「上個月消費預測下個月消費」的 Baseline。 - 模型結果仍然具有可解釋性
最重要的特徵主要包括客戶過往總消費、購買次數及購買數量,與實際商業邏輯一致。 - Precision / Recall 的平衡取決於商業目標
如果目標是盡量找到潛在高消費客戶,可以提高 Recall;如果推廣成本較高,則可以偏重 Precision。