Průměrné hodnoty segmentů NMF
Na závěr si vizuálně prozkoumáme průměrné hodnoty řešení se 3 segmenty sestaveného pomocí NMF a porovnáme ho s řešením K-means. Nejprve extrahujeme matici příznaků W, ze které určíme přiřazení zákazníků do segmentů – pro každého zákazníka vybereme segment odpovídající sloupci s nejvyšší hodnotou v této matici.
Knihovny pandas a seaborn jsou načteny jako pd, resp. sns. Surový dataset wholesale byl naimportován, natrénovaná instance NMF se 3 segmenty je k dispozici jako nmf a dataset components je načten jako DataFrame knihovny pandas.
Toto cvičení je součástí kurzu
Machine Learning for Marketing in Python
Pokyny k cvičení
- Vytvoř matici W tak, že jako data předáš transformované hodnoty a jako názvy sloupců použiješ index datasetu
components. - Přiřaď hodnotu segmentu výběrem názvu sloupce s nejvyšší odpovídající hodnotou.
- Vypočítej průměrné hodnoty sloupců pro každý segment.
- Vykresli průměrné hodnoty jako heatmapu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()