Výběr počtu clusterů

Segmentace zákazníků v Pythonu

Karolis Urbonas

Head of Data Science, Amazon

Metody

  • Vizuální metody – metoda lokte
  • Matematické metody – silhouette koeficient
  • Experimentování a interpretace
Segmentace zákazníků v Pythonu

Metoda lokte

  • Vykreslete počet clusterů oproti SSE (součet čtverců vzdáleností) – součet čtvercových vzdáleností každého bodu od středu jeho clusteru
  • Identifikujte „loket" v grafu
  • Loket – bod představující „optimální" počet clusterů
Segmentace zákazníků v Pythonu

Metoda lokte

# Import key libraries
from sklearn.cluster import KMeans
import seaborn as sns
from matplotlib import pyplot as plt

# Fit KMeans and calculate SSE for each *k* sse = {} for k in range(1, 11): kmeans = KMeans(n_clusters=k, random_state=1) kmeans.fit(data_normalized) sse[k] = kmeans.inertia_ # sum of squared distances to closest cluster center
# Plot SSE for each *k* plt.title('The Elbow Method') plt.xlabel('k'); plt.ylabel('SSE') sns.pointplot(x=list(sse.keys()), y=list(sse.values())) plt.show()
Segmentace zákazníků v Pythonu

Metoda lokte

Graf metody lokte:

Segmentace zákazníků v Pythonu

Metoda lokte

Graf metody lokte:

Segmentace zákazníků v Pythonu

Použití metody lokte

  • Nejlepší je zvolit bod lokte nebo následující bod
  • Použijte jako vodítko, ale otestujte více řešení
  • Graf lokte vytvořený na základě datamart_rfm

Segmentace zákazníků v Pythonu

Experimentální přístup – analýza segmentů

  • Vytvořte clustering v bodě lokte a v jeho okolí
  • Analyzujte jejich vlastnosti – průměrné hodnoty RFM
  • Porovnejte je navzájem a vyberte řešení s největším obchodním smyslem
Segmentace zákazníků v Pythonu

Experimentální přístup – analýza segmentů

  • Předchozí řešení se 2 clustery
  • Řešení se 3 clustery na stejném normalizovaném datasetu RFM
Segmentace zákazníků v Pythonu

Pojďme najít optimální počet clusterů!

Segmentace zákazníků v Pythonu

Preparing Video For Download...