首页 > 解决方案 > python中的肘部方法

问题描述

我正在尝试自己在python中实现肘部方法以获得最佳数量的集群。因此,我总结了不同 k-means 运行的惯性:

sum_squared_dist = []
K = range(1,30)
for k in K:
    km = KMeans(n_clusters=k, random_state=0)
    km = km.fit(normalized_modeling_data)
    sum_squared_dist.append(km.inertia_)
plt.plot(K, sum_squared_dist, 'bx-')
plt.xlabel('number of clusters k')
plt.ylabel('Sum of squared distances')
plt.show

所以下一个方法是找到点,如果曲线开始变平(这应该意味着一阶导数正在下降)。numpy 或 scikit-learn 中是否有内置方法来计算数组的推导?

标签: pythonnumpyscikit-learn

解决方案


推荐阅读