НачатьНачать бесплатно

Создание признаков

Теперь у вас есть всё необходимое, чтобы построить признаки на уровне клиента: давность, частоту, денежную ценность и другие характеристики для вашей регрессионной модели. Проектирование признаков — это важнейший этап в процессе машинного обучения. В этом упражнении вы создадите пять признаков на уровне клиента, которые затем используете для прогнозирования транзакций следующего месяца. Эти признаки отражают поведенческие паттерны клиентов, обладающие высокой предсказательной силой.

Библиотеки pandas и numpy загружены как pd и np соответственно. Набор данных online_X уже импортирован. Объект datetime под названием NOW, задающий дату среза для вычисления давности, уже создан.

Это упражнение является частью курса

Машинное обучение для маркетинга на Python

Посмотреть курс

Инструкции к упражнению

  • Вычислите давность, вычтя из даты среза максимальное значение InvoiceDate.
  • Вычислите частоту, подсчитав уникальное количество счетов.
  • Вычислите денежную ценность, просуммировав все значения расходов.
  • Вычислите среднее и общее количество товаров.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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']
Редактировать и запускать код