我已经通过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之间的范围。
任何帮助都会很棒。谢谢。
答案 0 :(得分:3)
导入lib
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_