KMeans基础代码

import numpy as np
import matplotlib.pyplot as plt

#给定x,y两组数据
x=np.array([1,7,4,6,2,9,3,5,7,3,5,9,7,8,2,4,3,1,2,4,4,2])
y=np.array([8,3,10,5,12,2,9,11,1,20,4,7,8,4,3,2,5,1,6,5,15,15])
#plt.scatter(x,y)#x,y散点图

from sklearn.cluster import KMeans
model = KMeans(n_clusters=2)#设置2类
import pandas as pd
a=np.vstack((x,y)).T
model1=model.fit(pd.DataFrame(a))#聚类
label = model1.labels_ #获取聚类标签
#2类标签为0,1,一维数组,和x,y个数相同,一一对应
#aa=model1.fit_predict(a)#获取标签,等价于上面

fig=plt.figure()
ax=fig.add_subplot(111)
plt.scatter(x, y, c=label)#不同颜色标记不同类

counts = pd.Series(label).value_counts()#不同类包含样本个数,Series
centroids = model1.cluster_centers_ #获取聚类中心
print(label)
print(counts)
print(centroids)

plt.plot(centroids[:,0],centroids[:,1],'rs')#图中标记聚类中心

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值