如何将K均值算法应用于多维数组?
How to apply K-mean algorithm to multidimensional array?
我有一个矩阵 A = (a1,a2,a3,...,an)'
,其中 a1, a2,..., an
是行向量。我想将 k-means
算法应用于矩阵 A
,以便将行向量 ai
(i=1,2,3...,n)
聚类到 k
个或更多聚类。假设b1, b2, b3,...,bk
是k
个簇的中心,随机选择k
个样本作为k
个簇的初始中心。所有样本(a1,a2,a3,...,an
)根据它们到中心bi (i=1,2,3,...,k)
的余弦距离被分类为k
类,即k
簇。重新计算k
个簇的中心,对所有样本重新分类,直到中心不变,然后得到最终的中心b1,b2,b3,...,bk
。对于每个簇,只保留最接近簇中心的向量。如何实现?
kmeans
函数(在 统计和机器学习工具箱 中)正是执行此操作。只需使用:
C = kmeans(A, k, 'Distance', 'cosine')
以获得所需的输出。
最佳,
我有一个矩阵 A = (a1,a2,a3,...,an)'
,其中 a1, a2,..., an
是行向量。我想将 k-means
算法应用于矩阵 A
,以便将行向量 ai
(i=1,2,3...,n)
聚类到 k
个或更多聚类。假设b1, b2, b3,...,bk
是k
个簇的中心,随机选择k
个样本作为k
个簇的初始中心。所有样本(a1,a2,a3,...,an
)根据它们到中心bi (i=1,2,3,...,k)
的余弦距离被分类为k
类,即k
簇。重新计算k
个簇的中心,对所有样本重新分类,直到中心不变,然后得到最终的中心b1,b2,b3,...,bk
。对于每个簇,只保留最接近簇中心的向量。如何实现?
kmeans
函数(在 统计和机器学习工具箱 中)正是执行此操作。只需使用:
C = kmeans(A, k, 'Distance', 'cosine')
以获得所需的输出。
最佳,