Средние значения сегментов NMF
На завершающем этапе вы визуально исследуете средние значения решения с 3 сегментами, построенного методом NMF, и сможете сравнить его с решением K-means. Здесь вы извлечёте матрицу признаков W, которая используется для жёсткого назначения сегментов: для каждого клиента выбирается столбец (сегмент) с наибольшим значением в этой матрице.
Библиотека pandas загружена как pd, библиотека seaborn — как sns. Исходный набор данных wholesale импортирован, обученный экземпляр NMF для 3 сегментов доступен как nmf, а набор данных components загружен как DataFrame библиотеки pandas.
Это упражнение является частью курса
Машинное обучение для маркетинга на Python
Инструкции к упражнению
- Создайте матрицу W, передав преобразованные значения как данные, а индекс набора данных
components— как значения столбцов. - Назначьте сегмент, выбрав имя столбца с наибольшим соответствующим значением.
- Вычислите средние значения по столбцам для каждого сегмента.
- Постройте тепловую карту средних значений.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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()