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

Tính và vẽ tổng bình phương sai số

Bây giờ, bạn sẽ tính tổng bình phương sai số cho các số cụm khác nhau từ 1 đến 10.

Bạn sẽ dùng dữ liệu RFMT đã được chuẩn hóa mà bạn tạo ở bài trước, được lưu là datamart_rfmt_normalized. Mô-đun KMeans từ scikit-learn cũng đã được import. Ngoài ra, chúng tôi đã khởi tạo một dictionary trống để lưu tổng bình phương sai số là sse = {}.

Bạn cứ thoải mái khám phá dữ liệu trong bảng điều khiển (console).

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

Phân khúc khách hàng bằng Python

Xem khóa học

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

  • Khởi tạo KMeans với k cụm và random_state = 1, rồi fit KMeans trên bộ dữ liệu đã chuẩn hóa.
  • Gán tổng khoảng cách bình phương vào phần tử k của dictionary sse.
  • Thêm tiêu đề đồ thị "The Elbow Method", nhãn trục X "k", và nhãn trục Y "SSE".
  • Vẽ các giá trị SSE cho từng k được lưu làm khóa trong dictionary.

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.

# Fit KMeans and calculate SSE for each k between 1 and 10
for k in range(1, 11):
  
    # Initialize KMeans with k clusters and fit it 
    kmeans = ____(____=____, ____=1 ).____(datamart_rfmt_normalized)
    
    # Assign sum of squared distances to k element of the sse dictionary
    ____[____] = kmeans.____   

# Add the plot title, x and y axis labels
plt.____('The Elbow Method')
plt.____('____')
plt.____('____')

# Plot SSE values for each k stored as keys in the dictionary
sns.____(x=list(sse.____()), y=list(sse.____()))
plt.show()
Chỉnh sửa và Chạy Mã