Tworzenie cech
Masz teraz wszystko, czego potrzebujesz, żeby zbudować cechy na poziomie klienta – recency, frequency, wartość monetarną i inne – na potrzeby modelu regresji. Inżynieria cech to najważniejszy krok w procesie uczenia maszynowego. W tym ćwiczeniu stworzysz pięć cech na poziomie klienta, które posłużą do przewidywania transakcji klientów w następnym miesiącu. Cechy te uchwytują wzorce zachowań klientów o wysokiej wartości predykcyjnej.
Biblioteki pandas i numpy zostały wczytane odpowiednio jako pd i np. Zbiór danych online_X jest już zaimportowany. Obiekt datetime o nazwie NOW, reprezentujący datę referencyjną używaną do obliczania recency, został już dla ciebie utworzony.
To ćwiczenie jest częścią kursu
Uczenie maszynowe w marketingu w Pythonie
Instrukcje do ćwiczenia
- Oblicz recency, odejmując najnowszą wartość
InvoiceDateod bieżącej daty. - Oblicz frequency, zliczając unikalną liczbę faktur.
- Oblicz wartość monetarną, sumując wszystkie wartości wydatków.
- Oblicz średnią i łączną ilość.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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']