擷取分群標籤
在上一題中,你看到高度為 6 時,穀物樣本的中間分群共有 3 群。現在,請使用 fcluster() 函式擷取這個中間分群的標籤,並用交叉表將這些標籤與不同穀物品種做比較。
階層式分群已經完成,mergings 為 linkage() 函式的結果。串列 varieties 給出了每個穀物樣本的品種。
本練習屬於課程
Unsupervised Learning in Python
練習說明
- 匯入:
- 將
pandas匯入為pd。 - 從
scipy.cluster.hierarchy匯入fcluster。
- 將
- 在
mergings上使用fcluster()執行扁平式階層式分群。指定最大高度為6,並加入關鍵字引數criterion='distance'。 - 建立一個具有兩個欄位的 DataFrame
df,欄位名稱為'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)