k-means聚类算法

k-means

k:把数据划分成多少个类别

1.聚类方法

(1)随机在数据中抽取三个样本,当作三个类别的中心点( k1,k2,k3)

(2)计算其余的点分别到三个中心的距离,从中选出距离最近的点作为自己的标记形成三个族群

(3)分别计算这三个族群的平均值,把三个平均值与之前的三个旧中心点进行比较,相同就结束聚类,不相同就把这三个平均值当作新的中心点,重复第二步。

api: sklearn.cluster.KMeans(n-clusters=8,init='k-means++')
k-means: 聚类
n_clusters: 开始聚类的中心数量
init: 初始化方法
labels_: 默认标记的类型,与真实值比较

2.聚类,做在分类之前,进行标记

km = KMeans(n_clusters=4)
km.fit(x)
predict = km.predict(x)

3.聚类评估标准:

在这里插入图片描述

族群与族群之间的距离最大,内部样本之间距离最小

在这里插入图片描述

4.计算步骤:

取蓝色中的一个点为蓝1

1.计算蓝1到自身类别点距离的平均值 a_i

2.计算蓝1到红色类别,绿色类别所有点的距离,求平均值b1,b2,取其中最小的值当作b_i

极端情况:【轮廓系数在 [ -1,1 ] 之间】

b_i >> a_i : 1

a_i >> b_i : -1

api: 
sklearn.metrics.silhouette_score(x,labels)
# 计算所有样本平均轮廓系数
x: 特征值
labels: 被聚类标记的目标值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值