KMeans(K均值聚类)算法

KMeans(K均值聚类)算法K-均值算法:以空间中k个点为中心进行聚类,对最靠近他们的对象归类,是聚类算法中最为基础但也最为重要的算法。

大家好,欢迎来到IT知识分享网。KMeans(K均值聚类)算法"

K-均值算法:以空间中k个点为中心进行聚类,对最靠近他们的对象归类,是聚类算法中最为基础但也最为重要的算法。

公式

数据点与各簇中心点距离:

根据距离归类:

中心更新:

Sj: t时刻第j个区域簇;k: 包含在Sj范围内点的个数;xi: 包含在Sj范围内的点;ujt:为t状态下第j区域中心。

算法流程

  1. 选择聚类的个数k
  2. 确定聚类中心
  3. 根据点到聚类中心聚类,确定各个点所属类别
  4. 根据各个类别数据,更新聚类中心
  5. 重复以上步骤3和4,直到收敛(中心点不再变化)

优点

  • 原理简单,容易实现,收敛速度快
  • 参数少,方便使用

缺点

  • 必须设置簇的数量
  • 随机选择初始聚类中心,结果可能缺乏一致性

模型训练

from sklearn.cluster import KMeans

# n_clusters表示需要分为几类
# random_state表示初始化的点
KM = KMeans(n_clusters=3, random_state=0)
KM.fit(X)

# 获取模型确定的中心点:
centers = KM.cluster_centers_

# 准确率计算
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y, y_predict)

预测结果矫正

y_cal = []
for i in y_predict:
    if i == 0:
        y_cal.append(2)
    elif i == 1:
        y_cal.append(1)
    else:
        y_cal.append(0)
print(y_predict, y_cal)                

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/62372.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信