开始使用免费开始使用

构建特征

现在,您已经完全具备为回归模型构建新近度(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']
编辑并运行代码