0A04 无监督学习:聚类 k-means

Posted liu247

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0A04 无监督学习:聚类 k-means相关的知识,希望对你有一定的参考价值。

  这是一个非常简单的聚类算法,算法的目的就是找到这些中心点的合适坐标,使得所有样本到其分组中心点距离的平方和最小.

  K-means 的中心点向量不一定是训练样本中某成员的位置

import numpy as np
from sklearn.cluster import KMeans # 引入K-means模型

# 1.训练和预测
X = np.array([[1,2],[1,4],[1,0],
[4,2],[4,4],[4,0]])
kmeans = KMeans(n_clusters=2,random_state=0).fit(X) # 训练
print(kmeans.labels_) # 训练数据的聚类结果
print(kmeans.predict([[0,0],[4,4]])) # 预测数据的类型

# 2.中心点与收敛值
print(kmeans.cluster_centers_) # 打印收敛中心
print(kmeans.inertia_) # 打印最短距离C值

# 3.查询距离
print(kmeans.transform([[4,2],[4,4]])) # 查询两个向量到中心点的距离

# 4.score()函数
# 测试数据离中心点越远分值越低
print(kmeans.score([2,2],[5,3]))
# Out -3.0 离中心点较远
print(kmeans.score([1,2],[4,2]))
# Out -0.0 测试数据即中心点

# 5.常用的初始化参数
‘‘‘
n_clusters: 把整体数据集分为几个组
init: 初始中心结点的选择策略
max_iter: 最多进行几次重新计算中心点的迭代
tol: inertia_(C值)小于多少时认为已经收敛并停止迭代
n_init: 进行几轮结点初始化和迭代
‘‘‘

以上是关于0A04 无监督学习:聚类 k-means的主要内容,如果未能解决你的问题,请参考以下文章

0A04 无监督学习:聚类 k-means

2019-07-25机器学习无监督学习之聚类 K-Means算法实例 (1999年中国居民消费城市分类)

0A04 无监督学习:聚类 近邻算法(Affinity Propagation)

聚类算法(K-Means)

算法笔记 | 一文读懂K-means聚类算法

《Python机器学习及实践》----无监督学习之数据聚类