使用 Scikit-learn KMeans 对多维数组进行聚类
Posted
技术标签:
【中文标题】使用 Scikit-learn KMeans 对多维数组进行聚类【英文标题】:Using Scikit-learn KMeans to cluster multi-dimensional arrays 【发布时间】:2020-02-13 23:30:05 【问题描述】:我已经搜索了一些关于使用 Scikit-learn 的 KMeans 的教程,但我找不到特定于我的案例的内容。
我有一个由多个对象组成的数组,格式为
name: 'Bob',
vector: [14,12,15,10,16,16,7,15,7,4,16,13,4,16,13,17,13,13,10,8,14,17,10,16,6,14,16,13,15,17,12,7,14,13,15,10]
所以,我有一个这些对象的数组[ ..., ..., ... ]
我想使用这些对象的 vector
字段来使用 KMeans 来获取相似项目的集群。
向量值被归一化到 1 到 20 之间。
任何帮助都会很棒。谢谢。
【问题讨论】:
我不明白你的问题。 【参考方案1】:导入库
from sklearn.cluster import KMeans
import numpy as np
格式化您的 array of these objects
以便 Scikit-learn 的 KMeans 工作
data_for_clustering = [row['vector'] for row in data]
data_for_clustering = np.array(data_for_clustering)
做聚类
kmeans = KMeans(n_clusters=2, random_state=0).fit(data_for_clustering)
获取标签
kmeans.labels_
【讨论】:
以上是关于使用 Scikit-learn KMeans 对多维数组进行聚类的主要内容,如果未能解决你的问题,请参考以下文章
使用 Scikit-learn KMeans 对多维数组进行聚类
scikit-learn 中的 minibatch kmeans 是不是通过使用部分拟合进行增量学习?
使用 GridSearchCV scikit-learn 在管道中的 KMeans