Bygg särdrag
Nu har du alla verktyg du behöver för att bygga särdrag för aktualitet, frekvens, monetärt värde och andra kundnivåvariabler till din regressionsmodell. Särdragskonstruktion är det viktigaste steget i maskininlärningsprocessen. I den här övningen skapar du fem särdrag på kundnivå som du sedan använder för att förutsäga nästa månads kundtransaktioner. Dessa särdrag fångar upp kundmönster med hög prediktiv förmåga.
Biblioteken pandas och numpy har laddats in som pd respektive np. Datamängden online_X har importerats åt dig. Datumobjektet NOW, som representerar det referensdatum du använder för att beräkna aktualitet, har skapats åt dig.
Den här övningen är en del av kursen
Maskininlärning för marknadsföring i Python
Övningsinstruktioner
- Beräkna aktualitet genom att subtrahera det senaste
InvoiceDatefrån det aktuella datumet. - Beräkna frekvens genom att räkna det unika antalet fakturor.
- Beräkna monetärt värde genom att summera alla utgiftsvärden.
- Beräkna genomsnittlig och total kvantitet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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']