ПочатиПочніть безкоштовно

Побудова ознак

Тепер ви повністю готові створювати показники давності (recency), частоти (frequency), грошової цінності (monetary value) та інші ознаки на рівні клієнта для вашої регресійної моделі. Інженерія ознак — найважливіший крок у процесі машинного навчання. У цій вправі ви створите п'ять ознак на рівні клієнта, які потім використаєте для прогнозування транзакцій клієнтів наступного місяця. Ці ознаки відображають поведінкові шаблони клієнтів із високою прогностичною здатністю.

Бібліотеки pandas і numpy завантажено як pd та np відповідно. Набір даних online_X уже імпортовано для вас. Об'єкт datetime NOW, що фіксує контрольну дату для обчислення давності, також створено для вас.

Ця вправа є частиною курсу

Machine Learning для маркетингу в 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']
Редагувати та запускати код