Tính tổng bình phương sai số
Trong bài tập này, bạn sẽ tính tổng bình phương sai số cho số lượng cụm khác nhau từ 1 đến 15. Trong ví dụ này, chúng ta dùng một bộ dữ liệu tùy chỉnh để đọc “khuỷu tay” rõ ràng hơn.
Chúng tôi đã tải phiên bản đã chuẩn hóa của dữ liệu là data_normalized. Mô-đun KMeans từ scikit-learn đã được nhập sẵn. Ngoài ra, chúng tôi đã khởi tạo một từ điển trống để lưu tổng bình phương sai số với sse = {}.
Bạn có thể thoải mái khám phá dữ liệu trong bảng điều khiển.
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
Hướng dẫn bài tập
- Fit KMeans và tính SSE cho mỗi
ktrong khoảng từ 1 đến 15. - Khởi tạo KMeans với
kcụm vàrandom_statebằng 1. - Fit KMeans trên tập dữ liệu đã chuẩn hóa.
- Gán tổng khoảng cách bình phương vào phần tử
kcủa từ điểnsse.
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
for k in range(____, ____):
# Initialize KMeans with k clusters
kmeans = ____(n_clusters=____, random_state=1)
# Fit KMeans on the normalized dataset
kmeans.____(data_normalized)
# Assign sum of squared distances to k element of dictionary
sse[____] = kmeans.____