确定最佳聚类数
在本练习中,您将使用肘部法(elbow criterion)来确定最佳的聚类数,即误差平方和的下降开始变得微弱的位置。这一步很重要,它能为您提供一个可用于起步测试的聚类数量大致范围。您将遍历多个 k(聚类数),对每个值运行一次 KMeans 算法,然后将各个 k 对应的误差绘图,对比找到误差下降放缓的"肘部"位置。
已从 sklearn.cluster 加载 KMeans 模块,已将 seaborn 库加载为 sns,并将 matplotlib.pyplot 加载为 plt。另外,已将标准化后的数据集作为 wholesale_scaled_df 加载为一个 pandas DataFrame。
本练习是课程的一部分
Python 营销中的机器学习
练习说明
- 创建一个空的
sse字典。 - 在 k 取值 1 到 11 的范围内拟合
KMeans算法,并将误差存入sse字典。 - 为图表添加标题。
- 以字典的键为 X 轴、值为 Y 轴创建散点图,并显示图表。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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.___()