Середні значення сегментації NMF
Насамкінець ви візуально дослідите середні значення для 3-сегментного розв'язку, побудованого за допомогою NMF, і зможете порівняти його з K-means. Тут ви витягнете матрицю ознак W, яку використаємо, щоб отримати «жорстке» призначення сегмента: для кожного клієнта оберемо назву стовпця (сегмент) з найбільшим відповідним значенням у цій матриці.
Ми завантажили бібліотеку pandas як pd і бібліотеку seaborn як sns. Сирий набір даних wholesale імпортовано, а вже навчений екземпляр NMF з 3 сегментами — як nmf. Набір даних components завантажено як DataFrame бібліотеки pandas.
Ця вправа є частиною курсу
Machine Learning для маркетингу в Python
Інструкції до вправи
- Створіть матрицю W, передавши трансформовані значення як дані, а індекси components — як назви стовпців.
- Призначте значення сегмента, вибравши назву стовпця, де відповідне значення є найбільшим.
- Обчисліть середні значення стовпців для кожного сегмента.
- Візуалізуйте середні значення у вигляді теплової карти (heatmap).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()