Phương pháp Elbow
Ở bài trước, bạn đã triển khai MiniBatch K-means với 8 cụm mà chưa thực sự kiểm tra số lượng cụm phù hợp. Với cách tiếp cận phát hiện gian lận đầu tiên, việc xác định đúng số lượng cụm là rất quan trọng, đặc biệt khi bạn muốn dùng các điểm ngoại lai của những cụm đó làm dự đoán gian lận. Để quyết định số lượng cụm sẽ dùng, hãy áp dụng phương pháp Elbow và xem theo phương pháp này thì số cụm tối ưu nên là bao nhiêu.
X_scaled vẫn sẵn sàng để bạn sử dụng và MiniBatchKMeans đã được import từ sklearn.
Bài tập này là một phần của khóa học
Phát hiện gian lận với Python
Hướng dẫn bài tập
- Đặt phạm vi số cụm từ 1 đến 5.
- Chạy MiniBatch K-means cho tất cả các số cụm trong phạm vi bằng list comprehension.
- Fit từng mô hình trên dữ liệu đã chuẩn hóa và lấy điểm số (scores) từ dữ liệu đã chuẩn hóa.
- Vẽ số cụm và điểm số tương ứng của chúng; quá trình này sẽ mất vài giây.
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.
# Define the range of clusters to try
clustno = range(____, ____)
# Run MiniBatch Kmeans over the number of clusters
kmeans = [____(n_clusters=i, random_state=0) for ____ in ____]
# Obtain the score for each model
score = [kmeans[i].fit(____).score(____) for i in range(len(kmeans))]
# Plot the models and their respective score
plt.plot(____, ____)
plt.xlabel('Number of Clusters')
plt.ylabel('Score')
plt.title('Elbow Curve')
plt.show()