首页 > 解决方案 > 根据质心之间的距离将样本分类到聚类中

问题描述

我有将其标记为两个集群的数据(例如:正、负)。我将有新的样本数据,并且基于与两个集群质心的最短距离,我想将新样本分类为正样本或负样本。对于那些我可以找到KMeans的例子。我的正面样本数据如下所示

x1 = np.array([ 0.170755, ......      0.313704,  0.10206 ]) # 56 dimensions
x2 = np.array([-0.371852, ......      0.255809,  0.475981]) 
.... x28

现在我正在尝试使用上述链接中提到的示例来计算我的集群的质心。

X = np.array(list(zip(x,x2,x3, ..., x28))).reshape(len(x1),28)
kmeans_model = KMeans(n_clusters=1).fit(X)

我知道这个数据属于一个集群,我给出了 n_clusters=1 的值,但是当我尝试打印质心的值时,kmeans_model.cluster_centers_它给了我类似的数组[[0.02490224, 0.12898346]],但我期望一个与 x1 维度相同的数组。我是正确计算质心还是我的基本理解出错了?

在那种情况下,如何计算该质心与类似于 x1 的新样本之间的距离?

标签: pythonmachine-learningk-meanscentroid

解决方案


推荐阅读