Bangun fitur
Sekarang Anda siap membangun fitur recency, frequency, monetary value, dan fitur tingkat pelanggan lainnya untuk model regresi Anda. Rekayasa fitur adalah langkah terpenting dalam proses Machine Learning. Pada latihan ini Anda akan membuat lima fitur tingkat pelanggan yang kemudian akan digunakan untuk memprediksi transaksi pelanggan bulan depan. Fitur-fitur ini menangkap pola perilaku pelanggan yang sangat prediktif.
Pustaka pandas dan numpy masing-masing telah dimuat sebagai pd dan np. Himpunan data online_X telah diimpor untuk Anda. Objek datetime NOW yang menggambarkan tanggal cuplikan yang akan Anda gunakan untuk menghitung recency telah dibuat untuk Anda.
Latihan ini adalah bagian dari kursus
Machine Learning untuk Pemasaran dengan Python
Petunjuk latihan
- Hitung recency dengan mengurangkan tanggal saat ini dari
InvoiceDateterbaru. - Hitung frequency dengan menghitung jumlah faktur yang unik.
- Hitung monetary value dengan menjumlahkan seluruh nilai pengeluaran.
- Hitung kuantitas rata-rata dan total.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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']