Özellikler oluştur
Artık regresyon modelin için güncellik (recency), sıklık (frequency), parasal değer (monetary value) ve diğer müşteri düzeyi özellikleri oluşturmaya tamamen hazırsın. Özellik mühendisliği, Machine Learning sürecinin en önemli adımıdır. Bu egzersizde, gelecek ayın müşteri işlemlerini (transactions) tahmin etmek için kullanacağın beş müşteri düzeyi özellik oluşturacaksın. Bu özellikler, son derece öngörücü müşteri davranış kalıplarını yakalar.
pandas ve numpy kütüphaneleri sırasıyla pd ve np olarak yüklendi. online_X veri kümesi senin için içe aktarıldı. Güncelliği hesaplamak için kullanacağın anlık görüntü tarihini gösteren datetime nesnesi NOW da senin için oluşturuldu.
Bu egzersiz
Python ile Pazarlama için Machine Learning
kursunun bir parçasıdırEgzersiz talimatları
- Güncelliği (recency), en son
InvoiceDatetarihinden mevcut tarihi çıkararak hesapla. - Sıklığı (frequency), benzersiz fatura sayılarını sayarak hesapla.
- Parasal değeri (monetary value), tüm harcama değerlerini toplayarak hesapla.
- Ortalama ve toplam miktarı (quantity) hesapla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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']