Créer des variables explicatives
Vous avez maintenant tout en main pour construire les variables de récence, de fréquence, de valeur monétaire et d'autres caractéristiques au niveau client pour votre modèle de régression. L'ingénierie des variables est l'étape la plus importante du processus de Machine Learning. Dans cet exercice, vous allez créer cinq variables au niveau client que vous utiliserez ensuite pour prédire les transactions des clients du mois prochain. Ces variables reflètent des comportements clients hautement prédictifs.
Les bibliothèques pandas et numpy ont été chargées sous les alias pd et np respectivement. L'ensemble de données online_X a été importé pour vous. L'objet datetime NOW, représentant la date de référence qui servira à calculer la récence, a été créé pour vous.
Cette activité fait partie du cours
Machine Learning pour le marketing en Python
Instructions de l’exercice
- Calculez la récence en soustrayant la date courante de la plus récente
InvoiceDate. - Calculez la fréquence en comptant le nombre unique de factures.
- Calculez la valeur monétaire en additionnant tous les montants dépensés.
- Calculez la quantité moyenne et la quantité totale.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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']