K-means聚类算法

K-means算法是一种无监督的机器学习算法。无监督学习即事先不知道要寻找的内容。全自动分类,将相似对象归到同一个簇中。用户预先给的K个簇,每个簇通过“质心”来描述。

伪代码:

创建K个点作为起始质心(一般随机选择)
任意一个点所属簇的结果发生改变时
    对数据集中每个点
        对每个质心
            计算数据与质心间的距离
        将数据划分到与它最近的簇
    对于每个簇,重新计算质心(所有点的均值)

求距离的方法,欧氏距离。

聚类效果的度量。一般计算SEE(误差平方和),SEE越小表示数据点越接近他们的质心。

一般误差原因:k的选取。

改进: 二分 K-均值算法
首先将所有点作为一个簇,然后将该簇一分为二。之后选择一个簇继续划分,选择哪个取决于是否可以最大程度降低SEE的值。直到取得合适的K值为止。

发布了535 篇原创文章 · 获赞 16 · 访问量 33万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览