构建特征
现在,您已经完全具备为回归模型构建新近度(recency)、频率(frequency)、货币价值(monetary value)以及其他客户级特征的能力。特征工程是机器学习流程中最重要的一步。在本练习中,您将创建 5 个客户级特征,用于预测下个月的客户交易。这些特征能够刻画高度可预测的客户行为模式。
pandas 和 numpy 库分别已作为 pd 和 np 载入。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']