Crea segmentazioni di clienti e prodotti

Machine Learning per il marketing con Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Passi di segmentazione con K-means

Segmentazione con K-means (per k cluster):

from sklearn.cluster import KMeans

kmeans=KMeans(n_clusters=k)
kmeans.fit(wholesale_scaled_df)
wholesale_kmeans4 = wholesale.assign(segment = kmeans.labels_)
Machine Learning per il marketing con Python

Passi di segmentazione con NMF

Segmentazione con NMF (k cluster):

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

Estrazione dell’assegnazione ai segmenti:

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))
Machine Learning per il marketing con Python

Come inizializzare il numero di segmenti?

  • Sia K-means che NMF richiedono di impostare il numero di cluster (k)
  • Due modi per definire k: 1) Matematico, 2) Test & learn
  • Vediamo il metodo del gomito per una stima iniziale
Machine Learning per il marketing con Python

Metodo del gomito

  • Itera su vari valori di k
  • Esegui il clustering su ciascuno, sugli stessi dati
  • Calcola la somma degli errori quadrati (SSE) per ciascuno
  • Traccia SSE contro k e individua il “gomito”: benefici marginali decrescenti nella riduzione dell’errore
Machine Learning per il marketing con Python

Calcola la somma degli errori quadrati e traccia i risultati

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()
Machine Learning per il marketing con Python

Identificare il numero ottimale di segmenti

Metodo del gomito

Machine Learning per il marketing con Python

Metodo test & learn

  • Prima, calcola il numero matematicamente ottimale di segmenti
  • Crea segmentazioni con più valori attorno al k ottimale
  • Esplora i risultati e scegli quello più rilevante per il business (Puoi nominare i segmenti? Sono ambigui/sovrapposti?)
Machine Learning per il marketing con Python

Creiamo segmenti di clienti!

Machine Learning per il marketing con Python

Preparing Video For Download...