关于kmeans聚类(K均值聚类):用matlab中的函数kmeans聚类结果跟预期的不一致?看下面这个例子。
Nodule_NOfeature1feature2category11.01.5021.04.5032.01.5042.03.5053.02.5065.06.00要对这个...
Nodule_NO feature1 feature2 category
1 1.0 1.5 0
2 1.0 4.5 0
3 2.0 1.5 0
4 2.0 3.5 0
5 3.0 2.5 0
6 5.0 6.0 0
要对这个数据集进行聚类,第一列是数据序号,最后一列是聚类完成后要对各行标注其属于哪个类,也就是kmeans要操作的聚类矩阵就是feature1、feature2这两列元素,然后有6行,即6*2的矩阵,初始聚类中心我选第1、3、4、5行四个元素,我利用idx=kmeans(data,4,'start',data([1 3 4 5 ],:))进行matlab聚类,得到的结果为:
idx =
1
4
1
4
2
3
其中data为6*2的矩阵。但是我们可以手工算一下,发现结果应该是:
1号为一类,3号为一类,5号为一类,2、4、6号为一类
与上面的1、3号为一类,2、4号为一类、5号为一类、6号为一类不一致啊,我手工算的kmeans应该是没有错的,算了好几次,而且只需要一次就稳定了。
大家看看是什么原因????? 展开
1 1.0 1.5 0
2 1.0 4.5 0
3 2.0 1.5 0
4 2.0 3.5 0
5 3.0 2.5 0
6 5.0 6.0 0
要对这个数据集进行聚类,第一列是数据序号,最后一列是聚类完成后要对各行标注其属于哪个类,也就是kmeans要操作的聚类矩阵就是feature1、feature2这两列元素,然后有6行,即6*2的矩阵,初始聚类中心我选第1、3、4、5行四个元素,我利用idx=kmeans(data,4,'start',data([1 3 4 5 ],:))进行matlab聚类,得到的结果为:
idx =
1
4
1
4
2
3
其中data为6*2的矩阵。但是我们可以手工算一下,发现结果应该是:
1号为一类,3号为一类,5号为一类,2、4、6号为一类
与上面的1、3号为一类,2、4号为一类、5号为一类、6号为一类不一致啊,我手工算的kmeans应该是没有错的,算了好几次,而且只需要一次就稳定了。
大家看看是什么原因????? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询