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
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']