Thm*_*hms 1 matlab opencv cluster-analysis k-means vlfeat
假设我们有一个64dim矩阵来聚类,假设矩阵数据集是dt = 64x150.
使用vl_feat的库中的kmeans函数,我将我的数据集聚集到20个中心:
[centers, assignments] = vl_kmeans(dt, 20);
Run Code Online (Sandbox Code Playgroud)
centers
是一个64x20矩阵.
assignments
是一个1x150矩阵,其中包含值.
根据手册:向量分配包含输入数据到集群的(硬)分配.
我仍然无法理解矩阵中的这些数字是什么assignments
意思.我根本得不到它.有人介意帮我一点吗?一个例子或一些东西会很棒.这些价值观代表什么呢?
在k-means中,您要解决的问题是将您的150
点聚类为20个聚类的问题.每个点都是64维点,因此由大小为64的向量表示.因此在您的情况下dt
是点集,每列是64维向量.
运行算法后,你得到centers
和assignments
.centers
是集群中心在64个昏暗空间中的20个位置,以防您想要显示它,测量点和集群之间的距离等.另一方面,"分配"包含每个64点调整点的实际分配.dt
.所以,如果assignments[7]
是15
则表示,在7日矢量dt
属于第15组.
对于这里例如你可以看到很多的聚集2d
点,让我们说1000
成3
集群.在这种情况下dt
会2x1000
,centers
将2x3
和任务是1x1000
,将持有的数字,从1
到3
(或0
到2
,如果你正在使用openCV
)
编辑:生成此图像的代码位于:http://pypr.sourceforge.net/kmeans.html#k-means-example以及有关pyPR的kmeans教程.
归档时间: |
|
查看次数: |
1553 次 |
最近记录: |