提取聚类标签
在上一个练习中,您看到高度为 6 时谷物样本的中间聚类有 3 个簇。现在,请使用 fcluster() 提取该中间聚类的标签,并使用交叉列联表将这些标签与谷物品种进行比较。
层次聚类已完成,mergings 是 linkage() 函数的结果。列表 varieties 给出了每个谷物样本的品种。
本练习是课程的一部分
Python 中的无监督学习
练习说明
- 导入:
- 将
pandas导入为pd。 - 从
scipy.cluster.hierarchy导入fcluster。
- 将
- 对
mergings使用fcluster()执行平坦的层次聚类。指定最大高度为6,并使用关键字参数criterion='distance'。 - 创建一个名为
df的 DataFrame,包含'labels'和'varieties'两列,分别使用labels和varieties作为列值。此步骤已为您完成。 - 创建
df['labels']与df['varieties']之间的交叉列联表ct,以统计每种谷物品种在各个聚类标签中的出现次数。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Perform the necessary imports
import ____ as ____
from ____ import ____
# Use fcluster to extract 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)