评估谷物聚类效果
在上一个练习中,您从惯性曲线(inertia plot)观察到,对于谷物数据,3 是合适的簇数量。事实上,这些谷物样本来自 3 种不同的谷物品种混合:"Kama"、"Rosa" 和 "Canadian"。本练习中,请将谷物样本聚为 3 类,并使用交叉列联表将聚类结果与谷物品种进行对比。
您已拥有谷物样本数组 samples,以及列表 varieties,其中给出了每个样本对应的谷物品种。Pandas(pd)和 KMeans 已为您导入。
本练习是课程的一部分
Python 中的无监督学习
练习说明
- 创建一个名为
model的KMeans模型,簇数为3。 - 使用
model的.fit_predict()方法,对samples进行拟合并得到簇标签。使用.fit_predict()与先.fit()再.predict()的效果相同。 - 创建一个包含两列的 DataFrame
df,列名为'labels'和'varieties',列值分别使用labels和varieties。这一步已为您完成。 - 对
df['labels']和df['varieties']使用pd.crosstab(),统计每个谷物品种与每个簇标签的对应次数。将结果赋给ct。 - 点击提交以查看交叉列联表!
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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)