Elbow Method(肘部法则)是一种用于确定数据集最优聚类数的无监督学习技术。它通过分析不同聚类数下的误差平方和(Within-Cluster Sum of Square, WCSS)来确定“肘点”,即WCSS开始显著下降的点,通常认为该点为最优聚类数。
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
# 生成随机数据集
X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
# 计算不同聚类数下的WCSS
wcss = []
for i in range(1, 11):
kmeans = KMeans(n_clusters=i, init='k-means++', max_iter=300, n_init=10, random_state=0)
kmeans.fit(X)
wcss.append(kmeans.inertia_)
# 绘制WCSS图
plt.plot(range(1, 11), wcss)
plt.title('The Elbow Method')
plt.xlabel('Number of clusters')
plt.ylabel('WCSS')
plt.show()
通过上述方法和代码示例,你可以有效地使用Elbow Method来确定数据集的最优聚类数。
领取专属 10元无门槛券
手把手带您无忧上云