手肘法实现——python

阿萨德 最近在接单的过程中遇到顾客不知道自己的kmeans算法应该聚成多少类的时候,上网查了一下了解到了手肘法。大致思想是通过迭代来寻找模型最佳SSE位置。具体代码如下:

import pandas as pd
import numpy as np
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

data1 = pd.read_excel('手肘法.xlsx')

# '利用SSE选择k'
SSE = []  # 存放每次结果的误差平方和
for k in range(1, 21):
    estimator = KMeans(n_clusters=k)  # 构造聚类器
    estimator.fit(np.array(data1))
    SSE.append(estimator.inertia_)
X = range(1, 21)
plt.xlabel('k')
plt.ylabel('SSE')
plt.plot(X, SSE, 'o-')
plt.show()

以后得每周开一次组会,接下来就打算记录我的苦逼研究生活了。

你可能感兴趣的:(python,机器学习,sklearn)