如何将K-mean算法应用于多维数组?

时间:2015-08-05 03:24:10

标签: matlab machine-learning matlab-guide data-analysis

我有一个矩阵A = (a1,a2,a3,...,an)',其中a1, a2,..., an是行向量。我想将k-means算法应用于矩阵A,以便将行向量ai (i=1,2,3...,n)群集到k个群集或更多。假设b1, b2, b3,...,bkk个群集的中心,k个样本会被随机选为k个群集的初始中心。所有样本(a1,a2,a3,...,an)都根据它们与中心bi (i=1,2,3,...,k)k类的余弦距离进行分类,即k个群集。重新计算k簇的中心,重新分类所有样本,直到中心不变,然后获得最终中心b1,b2,b3,...,bk。对于每个群集,仅保留最靠近群集中心的向量。怎么实现这个?

1 个答案:

答案 0 :(得分:2)

kmeans功能(在统计和机器学习工具箱中)执行此操作。只需使用:

C = kmeans(A, k, 'Distance', 'cosine')

获得所需的输出。

最佳,