開始使用免費開始

評估穀物叢集成效

在上一個練習中,你從慣性值(inertia)圖看出,對這組穀物資料而言,3 是不錯的叢集數。事實上,這些穀物樣本混合了 3 種不同的品種:「Kama」、「Rosa」和「Canadian」。在本練習中,請將穀物樣本分成 3 個叢集,並使用交叉表比較叢集與穀物品種的對應關係。

你已擁有穀物樣本的陣列 samples,以及列出每個樣本所屬品種的清單 varieties。Pandas(pd)與 KMeans 已替你匯入。

本練習屬於課程

Unsupervised Learning in Python

檢視課程

練習說明

  • 建立一個名為 model、具有 3 個叢集的 KMeans 模型。
  • 使用 model.fit_predict() 方法,對 samples 進行擬合並取得叢集標籤。使用 .fit_predict() 等同於先用 .fit() 再接 .predict()
  • 建立一個 DataFrame df,包含名為 'labels''varieties' 的兩個欄位,分別使用 labelsvarieties 作為欄位值。這一步已為你完成。
  • 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)
編輯並執行程式碼