Implementasi praktis k-means clustering

Segmentasi Pelanggan dengan Python

Karolis Urbonas

Head of Data Science, Amazon

Langkah utama

  • Pra-pemrosesan data
  • Menentukan jumlah klaster
  • Menjalankan k-means pada data terpra-proses
  • Menganalisis nilai RFM rata-rata tiap klaster
Segmentasi Pelanggan dengan Python

Pra-pemrosesan data

Kita telah menyelesaikan pra-pemrosesan dan memiliki dua objek ini:

  • datamart_rfm
  • datamart_normalized
import numpy as np
datamart_log = np.log(datamart_rfm)

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(datamart_log)

datamart_normalized = scaler.transform(datamart_log)
Segmentasi Pelanggan dengan Python

Metode menentukan jumlah klaster

  • Metode visual – kriteria siku
  • Metode matematis – koefisien siluet
  • Eksperimen dan interpretasi
Segmentasi Pelanggan dengan Python

Menjalankan k-means

# Import package
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=2, random_state=1)
# Jalankan k-means pada data terpra-proses
kmeans.fit(datamart_normalized)
# Ambil label klaster dari atribut labels_
cluster_labels = kmeans.labels_
Segmentasi Pelanggan dengan Python

Menganalisis nilai RFM rata-rata tiap klaster

# Buat kolom label klaster di DataFrame asli
datamart_rfm_k2 = datamart_rfm.assign(Cluster = cluster_labels)
# Hitung nilai rata-rata RFM dan ukuran tiap klaster
datamart_rfm_k2.groupby(['Cluster']).agg({
    'Recency': 'mean',
    'Frequency': 'mean',
    'MonetaryValue': ['mean', 'count'],
}).round(0)
Segmentasi Pelanggan dengan Python

Menganalisis nilai RFM rata-rata tiap klaster

Hasil solusi 2 klaster sederhana:

Segmentasi Pelanggan dengan Python

Ayo berlatih menjalankan k-means clustering!

Segmentasi Pelanggan dengan Python

Preparing Video For Download...