资源简介
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(
评论
共有 条评论