Rata-rata segmentasi NMF
Terakhir, Anda akan mengeksplorasi secara visual nilai rata-rata dari solusi 3 segmen yang dibangun oleh NMF dan membandingkannya dengan K-means. Di sini Anda akan mengekstrak matriks fitur W yang akan kita gunakan untuk memperoleh penetapan segmen keras dengan memilih nilai kolom (segmen) dengan nilai tertinggi yang terkait dalam matriks ini untuk setiap pelanggan.
Kami telah memuat pustaka pandas sebagai pd dan pustaka seaborn sebagai sns. Himpunan data mentah wholesale telah diimpor, dan instance NMF 3 segmen yang sudah dipasangkan (fitted) sebagai nmf. Himpunan data components telah dimuat sebagai DataFrame pandas.
Latihan ini adalah bagian dari kursus
Machine Learning untuk Pemasaran dengan Python
Petunjuk latihan
- Buat matriks W dengan meneruskan nilai yang telah ditransformasikan sebagai data, dan indeks components sebagai nilai kolom.
- Tetapkan nilai segmen dengan memilih nama kolom tempat nilai yang bersesuaian paling besar.
- Hitung nilai rata-rata kolom untuk setiap segmen.
- Plot nilai rata-rata tersebut sebagai heatmap.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()