资源简介

k均值K-means算法案例,包括K=2和肘部法则及图形展示

资源截图

代码片段和文件信息

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

from pylab import *
mpl.rcParams[‘font.sans-serif‘] = [‘SimHei‘]

# 生成20个数据
data = np.array([[25][46][31][64][72][84][23][31][57][69][1216][1011][1519][1612][1115][1014][1911][1714][1611][1319]])

#聚类为2类
estimator=KMeans(n_clusters=2)
# fit_predict表示拟合+预测,也可以分开写
res=estimator.fit_predict(data)
# 预测类别标签结果
lable_pred=estimator.labels_
# 各个类别的聚类中心值
centroids=estimator.cluster_centers_
# 聚类中心均值向量的总和
inertia=estimator.inertia_

#print(centroids[00]centroids[01])
print (“lable_pred=“lable_pred)
print (“centroids=“centroids)
print (“inertia=“inertia)

#画出k=2时的图
plt.figure(‘K-mean算法‘)
plt.xlabel(‘K值‘)
plt.ylabel(‘代价‘)
plt.title(‘每户位置分布图‘)
for i in range(len(data)):
    if int(lable_pred[i]) == 0:
        plt.plot(data[i 0] data[i 1] ‘or‘)
    elif int(lable_pred[i]) == 1:
        plt.plot(data[i 0] data[i 1] ‘ob‘)

plt.plot(centroids[00]centroids[01]‘xr‘)
plt.plot(centroids[10]centroids[11]‘xb‘)

#画出标注
for i in range(2):
    plt.annotate(str(‘超市‘+str(

评论

共有 条评论