Moyennes de segmentation NMF
Pour terminer, vous allez examiner visuellement les valeurs moyennes de la solution à 3 segments construite par NMF et la comparer à celle de K-means. Ici, vous allez extraire la matrice des caractéristiques W, que nous utiliserons pour obtenir l'attribution « dure » des segments en choisissant, pour chaque cliente ou client, la valeur de colonne (segment) ayant la plus grande valeur associée dans cette matrice.
Nous avons chargé la bibliothèque pandas sous le nom pd et la bibliothèque seaborn sous le nom sns. L'ensemble de données brut wholesale a été importé, ainsi que l'instance NMF à 3 segments déjà ajustée sous le nom nmf. L'ensemble de données components a été chargé comme DataFrame pandas.
Cette activité fait partie du cours
Machine Learning pour le marketing en Python
Instructions de l’exercice
- Créez la matrice W en passant les valeurs transformées comme données et les indices de components comme noms de colonnes.
- Attribuez le segment en sélectionnant le nom de la colonne où la valeur correspondante est la plus grande.
- Calculez les valeurs moyennes des colonnes pour chaque segment.
- Tracez les valeurs moyennes sous forme de carte thermique (heatmap).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create the W matrix
W = pd.DataFrame(data=nmf.___(wholesale), columns=components.index)
W.index = wholesale.index
# Assign the column name where the corresponding value is the largest
wholesale_nmf3 = wholesale.___(segment = W.idxmax(axis=1))
# Calculate the average column values per each segment
nmf3_averages = wholesale_nmf3.___('___').mean().round(0)
# Plot the average values as heatmap
sns.___(___.T, cmap='YlGnBu')
# Display the chart
plt.show()