IniziaInizia gratis

Crea le feature

Ora hai tutto ciò che serve per creare recency, frequency, monetary value e altre feature a livello cliente per il tuo modello di regressione. Il feature engineering è il passaggio più importante nel processo di Machine Learning. In questo esercizio creerai cinque feature a livello cliente che userai poi per prevedere le transazioni del mese successivo. Queste feature catturano schemi di comportamento del cliente altamente predittivi.

Le librerie pandas e numpy sono state caricate rispettivamente come pd e np. L'insieme di dati online_X è stato importato per te. L'oggetto datetime NOW, che rappresenta la data di riferimento che userai per calcolare la recency, è già stato creato per te.

Questo esercizio fa parte del corso

Machine Learning per il marketing con Python

Visualizza il corso

Istruzioni dell'esercizio

  • Calcola la recency sottraendo dalla data attuale l'ultimo InvoiceDate.
  • Calcola la frequency contando il numero unico di fatture.
  • Calcola il monetary value sommando tutti i valori di spesa.
  • Calcola la quantità media e totale.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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']
Modifica ed esegui il codice