Bắt đầu ngayBắt đầu miễn phí

Trung bình phân khúc bằng NMF

Cuối cùng, bạn sẽ trực quan hóa các giá trị trung bình của lời giải 3 phân khúc được xây dựng bằng NMF và so sánh với K-means. Ở đây bạn sẽ trích xuất ma trận đặc trưng W, dùng để lấy phân khúc “cứng” bằng cách chọn tên cột (phân khúc) có giá trị lớn nhất trong ma trận này cho mỗi khách hàng.

Chúng tôi đã nạp thư viện pandaspd và thư viện seabornsns. Bộ dữ liệu thô wholesale đã được nhập, và một đối tượng NMF 3 phân khúc đã được fit sẵn là nmf. Bộ dữ liệu components đã được nạp dưới dạng DataFrame của pandas.

Bài tập này là một phần của khóa học

Machine Learning cho Marketing với Python

Xem khóa học

Hướng dẫn bài tập

  • Tạo ma trận W bằng cách truyền các giá trị đã được transform làm dữ liệu, và chỉ số của components làm tên cột.
  • Gán giá trị phân khúc bằng cách chọn tên cột có giá trị tương ứng lớn nhất.
  • Tính giá trị trung bình theo cột cho từng phân khúc.
  • Vẽ heatmap thể hiện các giá trị trung bình.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã