Médias de segmentação por NMF
Por fim, você vai explorar visualmente os valores médios da solução com 3 segmentos construída por NMF e poderá compará-la com a de K-means. Aqui, você vai extrair a matriz de características W, que usaremos para obter a atribuição rígida de segmento escolhendo, para cada cliente, o nome da coluna (segmento) com o maior valor associado nesta matriz.
Carregamos a biblioteca pandas como pd e a seaborn como sns. O conjunto de dados bruto wholesale foi importado, assim como a instância já ajustada de NMF com 3 segmentos, como nmf. O conjunto de dados components foi carregado como um DataFrame do pandas.
Este exercício faz parte do curso
Machine Learning para Marketing em Python
Instruções do exercício
- Crie a matriz W passando os valores transformados como dados e o índice de components como nomes de colunas.
- Atribua o valor do segmento selecionando o nome da coluna onde o valor correspondente é o maior.
- Calcule os valores médios das colunas para cada segmento.
- Plote os valores médios em um heatmap.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()