Bygg kund- och produktsegmentering

Maskininlärning för marknadsföring i Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Segmenteringssteg med K-means

Segmentering med K-means (för k antal kluster):

from sklearn.cluster import KMeans

kmeans=KMeans(n_clusters=k)
kmeans.fit(wholesale_scaled_df)
wholesale_kmeans4 = wholesale.assign(segment = kmeans.labels_)
Maskininlärning för marknadsföring i Python

Segmenteringssteg med NMF

Segmentering med NMF (k antal kluster):

from sklearn.decomposition import NMF
nmf = NMF(k)
nmf.fit(wholesale)
components = pd.DataFrame(nmf.components_, columns=wholesale.columns)

Extrahera segmenttilldelning:

segment_weights = pd.DataFrame(nmf.transform(wholesale, columns=components.index)
segment_weights.index = wholesale.index
wholesale_nmf = wholesale.assign(segment = segment_weights.idxmax(axis=1))
Maskininlärning för marknadsföring i Python

Hur väljer man antal segment?

  • Både K-means och NMF kräver att du anger ett antal kluster (k)
  • Två sätt att definiera k: 1) Matematiskt, 2) Testa och lär
  • Vi utforskar den matematiska armbågskriteriummetoden för en ungefärlig uppskattning
Maskininlärning för marknadsföring i Python

Armbågskriteriummetoden

  • Iterera igenom ett antal k-värden
  • Kör klustring för varje värde på samma data
  • Beräkna summan av kvadratfelen (SSE) för varje värde
  • Plotta SSE mot k och identifiera "armbågen" – minskande förbättringar i felreduktion
Maskininlärning för marknadsföring i Python

Beräkna summan av kvadratfel och visualisera resultaten

sse = {}
for k in range(1, 11):
    kmeans=KMeans(n_clusters=k, random_state=333)
    kmeans.fit(wholesale_scaled_df)
    sse[k] = kmeans.inertia_
plt.title('Elbow criterion method chart')
sns.pointplot(x=list(sse.keys()), y=list(sse.values()))
plt.show()
Maskininlärning för marknadsföring i Python

Identifiera det optimala antalet segment

Armbågskriteriummetoden

Maskininlärning för marknadsföring i Python

Testa och lär-metoden

  • Beräkna först det matematiskt optimala antalet segment
  • Bygg segmentering med flera värden kring det optimala k-värdet
  • Utvärdera resultaten och välj det med störst affärsmässig relevans (Kan du namnge segmenten? Är de otydliga eller överlappande?)
Maskininlärning för marknadsföring i Python

Nu kör vi en övning!

Maskininlärning för marknadsföring i Python

Preparing Video For Download...