Välja antal kluster

Kundsegmentering i Python

Karolis Urbonas

Head of Data Science, Amazon

Metoder

  • Visuella metoder – armbågskriteriet
  • Matematiska metoder – silhuettkoefficienten
  • Experimentering och tolkning
Kundsegmentering i Python

Armbågskriteriet

  • Plotta antal kluster mot SSE (summan av kvadrerade avstånd inom kluster) – summan av kvadrerade avstånd från varje datapunkt till klustrets centrum
  • Identifiera en "armbåge" i grafen
  • Armbågen representerar ett "optimalt" antal kluster
Kundsegmentering i Python

Armbågskriteriet

# 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()
Kundsegmentering i Python

Armbågskriteriet

Armbågskriteriet – graf:

Kundsegmentering i Python

Armbågskriteriet

Armbågskriteriet – graf:

Kundsegmentering i Python

Tillämpa armbågskriteriet

  • Välj armbågspunkten eller nästa punkt
  • Använd som vägledning och testa flera lösningar
  • Armbågsgraf baserad på datamart_rfm

Kundsegmentering i Python

Experimentellt tillvägagångssätt – analysera segment

  • Bygg klustring vid och runt armbågslösningen
  • Analysera egenskaperna – genomsnittliga RFM-värden
  • Jämför lösningarna och välj den som ger mest affärsmässig mening
Kundsegmentering i Python

Experimentellt tillvägagångssätt – analysera segment

  • Tidigare 2-klusterlösning
  • 3-klusterlösning på samma normaliserade RFM-datamängd
Kundsegmentering i Python

Nu kör vi en övning!

Kundsegmentering i Python

Preparing Video For Download...