Đánh giá phân cụm hạt ngũ cốc
Ở bài trước, từ biểu đồ inertia bạn thấy rằng 3 là số cụm phù hợp cho dữ liệu hạt ngũ cốc. Thực tế, các mẫu này đến từ hỗn hợp 3 giống ngũ cốc khác nhau: "Kama", "Rosa" và "Canadian". Trong bài này, hãy phân cụm các mẫu thành ba cụm và so sánh các cụm với giống ngũ cốc bằng cách lập bảng chéo.
Bạn đã có mảng samples chứa các mẫu ngũ cốc và danh sách varieties cho biết giống của từng mẫu. Pandas (pd) và KMeans đã được import sẵn cho bạn.
Bài tập này là một phần của khóa học
Unsupervised Learning bằng Python
Hướng dẫn bài tập
- Tạo một mô hình
KMeanstênmodelvới3cụm. - Dùng phương thức
.fit_predict()củamodelđể khớp mô hình vớisamplesvà suy ra nhãn cụm. Dùng.fit_predict()tương đương với.fit()rồi.predict(). - Tạo DataFrame
dfvới hai cột tên'labels'và'varieties', lần lượt dùnglabelsvàvarietieslàm giá trị cột. Phần này đã được làm sẵn cho bạn. - Dùng hàm
pd.crosstab()trêndf['labels']vàdf['varieties']để đếm số lần mỗi giống ngũ cốc trùng với từng nhãn cụm. Gán kết quả choct. - Nhấn Gửi để xem bảng chéo!
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 a KMeans model with 3 clusters: model
model = ____
# Use fit_predict to fit model and obtain cluster labels: labels
labels = ____
# Create a DataFrame with labels and varieties as columns: df
df = pd.DataFrame({'labels': labels, 'varieties': varieties})
# Create crosstab: ct
ct = ____
# Display ct
print(ct)