【问题标题】:Computing and representing centroids with K-means clustering使用 K-means 聚类计算和表示质心
【发布时间】:2018-05-09 19:22:38
【问题描述】:

我目前正忙于学校练习。练习如下。

我们将考虑部分描述的狂野面孔数据 伯格2005 [1]。使用 loadmat 加载 wildfaces 数据、Data/wildfaces 功能。每个数据对象是一个 40*40*3=4800 维度 矢量,对应于 3 色 40*40 像素的图像。计算一个 k-means 对具有 K=10 个簇的数据进行聚类。随机绘制一些 来自数据集的图像及其对应的集群 质心,看看它们是如何表示的。

[1] Tamara L Berg、Alexander C Berg、Jaety Edwards 和 DA Forsyth。图片里是谁。神经信息处理系统的进展,17:137-144,2005。

现在我的问题是,如何计算一张图像的质心?我目前能够显示面部并计算数据集的质心。我不明白的是,我怎么知道哪些质心对应于图像 4(在我的代码示例中使用)?我必须计算整个数据集 X 的质心还是只计算 X[4]?我现在需要采取哪些步骤来“绘制相应的集群质心以查看它们是如何表示的”?

import scipy.io as spio
import sklearn.cluster as cl
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import imshow

faces = spio.loadmat('Data/wildfaces.mat',squeeze_me=True)
X = faces['X']

Y = cl.k_means(X,10)
centroids = Y[0]
clusters = Y[1]

imshow(np.reshape(X[4,:],(3,40,40)).T)
plt.show()

【问题讨论】:

    标签: python cluster-analysis data-mining k-means centroid


    【解决方案1】:

    你已经有了质心。每个集群一个。

    您不需要计算它们,只需显示它们。

    检查Y的内容

    【讨论】:

    • 你是对的,谢谢。回过头来看这其实是很明显的。
    猜你喜欢
    • 2020-02-21
    • 2018-09-19
    • 1970-01-01
    • 2018-04-27
    • 2021-11-25
    • 2016-05-29
    • 2018-04-23
    • 1970-01-01
    • 2016-06-27
    相关资源
    最近更新 更多