開始使用免費開始

判定最佳叢集數

在這裡,你會使用 elbow 準則來找出最佳的叢集數;也就是平方誤差總和的下降幅度開始趨緩的點。這是取得可作為起始測試依據的數學估計值時很重要的一步。你會針對多個 k(叢集數)進行迭代,對每個 k 執行 KMeans 演算法,然後將各 k 的誤差繪圖比較,以找出下降趨緩、形成「肘點」的位置。

KMeans 模組已自 sklearn.cluster 載入,seaborn 函式庫以 sns 載入,matplotlib.pyplot 模組以 plt 載入。此外,經過縮放後的資料集已以 pandas 的 DataFrame 形式載入為 wholesale_scaled_df

本練習屬於課程

Python 的行銷機器學習

檢視課程

練習說明

  • 建立一個空的 sse 字典。
  • 在 k 值介於 1 到 11 之間訓練 KMeans 演算法,並將各自的誤差存入 sse 字典。
  • 替圖表加入標題。
  • 建立散佈圖,X 軸使用鍵(keys),Y 軸使用值(values),並顯示圖表。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Create empty sse dictionary
sse = {}

# Fit KMeans algorithm on k values between 1 and 11
for k in ___(1, 11):
    kmeans = ___(n_clusters=___, random_state=333)
    kmeans.___(wholesale_scaled_df)
    sse[k] = kmeans.inertia_

# Add the title to the plot
plt.___('Elbow criterion method chart')

# Create and display a scatter plot
sns.pointplot(x=list(sse.___()), y=list(sse.___()))
plt.___()
編輯並執行程式碼