開始使用免費開始

建立特徵

你現在已經具備為你的迴歸模型建立「新近性(recency)」、「頻率(frequency)」、「金額(monetary value)」以及其他顧客層級特徵的能力。特徵工程是機器學習流程中最重要的一步。在本練習中,你會建立 5 個顧客層級特徵,接著用來預測下個月的顧客交易。這些特徵能捕捉高度可預測的顧客行為模式。

pandasnumpy 函式庫已分別以 pdnp 載入。已為你匯入 online_X 資料集。用來計算新近性的快照日期 datetime 物件 NOW 也已為你建立。

本練習屬於課程

Python 的行銷機器學習

檢視課程

練習說明

  • 以最新的 InvoiceDate 減去目前日期來計算新近性(recency)。
  • 以發票的唯一筆數來計算頻率(frequency)。
  • 將所有消費金額加總以計算金額(monetary value)。
  • 計算平均與總數量。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Define the snapshot date
NOW = dt.datetime(2011,11,1)

# Calculate recency by subtracting current date from the latest InvoiceDate
features = online_X.___('CustomerID').agg({
  'InvoiceDate': lambda x: (NOW - x.max()).days,
  # Calculate frequency by counting unique number of invoices
  'InvoiceNo': pd.Series.___,
  # Calculate monetary value by summing all spend values
  'TotalSum': np.___,
  # Calculate average and total quantity
  'Quantity': ['___', 'sum']}).reset_index()

# Rename the columns
features.columns = ['CustomerID', 'recency', 'frequency', 'monetary', 'quantity_avg', 'quantity_total']
編輯並執行程式碼