Construiește caracteristici
Acum ești complet pregătit să construiești caracteristici la nivel de client – recență, frecvență, valoare monetară și altele – pentru modelul tău de regresie. Ingineria caracteristicilor este cel mai important pas din procesul de învățare automată. În acest exercițiu vei crea cinci caracteristici la nivel de client, pe care le vei folosi ulterior pentru a prezice tranzacțiile clienților din luna viitoare. Aceste caracteristici surprind tipare de comportament ale clienților cu putere predictivă ridicată.
Bibliotecile pandas și numpy au fost importate ca pd, respectiv np. Setul de date online_X a fost importat pentru tine. Obiectul datetime denumit NOW, care reprezintă data de referință folosită pentru calculul recenței, a fost creat pentru tine.
Acest exercițiu face parte din cursul
Machine Learning pentru Marketing în Python
Instrucțiuni pentru exercițiu
- Calculează recența scăzând data curentă din cea mai recentă valoare
InvoiceDate. - Calculează frecvența numărând numărul unic de facturi.
- Calculează valoarea monetară însumând toate valorile cheltuielilor.
- Calculează cantitatea medie și cantitatea totală.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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']