Python机器学习之K-means

K-means原理

K-means算法解决的问题是:在不知道如何分类的情况下,让程序根据距离的远近,把N个对象划分为k类(局部最优)。它是无监督算法中较常见的一种,原理比较简单易懂。本质就是通过循环,迭代类的中心点,计算每个对象到中心点的距离,根据距离重新分类。

K-means步骤如下:

1.指定聚类的个数k;
2.随机选定k个对象作为聚类中心;
3.计算每个对象到这k个聚类中心的距离,并将其进行分类:分到距离最近的聚类中心;
4.重新计算每个聚类的中心(求均值),得到新的聚类中心;
5.重复3和4,直到满足迭代终止条件;
终止条件一般为:①迭代次数达到上限;②聚类中心点不发生变化或没有对象被分配给新的类;③误差平方和局部最小。
K-means算法使用:
1.导包from sklearn.cluster import KMeans
2.sklearn.cluster.KMeans(n_clusters=8,init=‘k-means++’),其中
n_clusters是开始的聚类中心数量,init是初始化方法,默认为’k-means++’

性能评估

此处介绍的是轮廓系数法:
S = b − a m a x ( a , b ) , − 1 ≤ S ≤ 1 \Large {S} = \frac{b-a}{max(a,b)},-1 \le S \le 1 S

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值