Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz recency, odejmując najnowszą wartość InvoiceDate od 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']
Edytuj i uruchom kod