我一直在使用Matlab内置的kmeans函数进行聚类。由于算法中使用的随机性,如果我设置不同的种子,结果将有所不同。这有点烦人。有没有办法减少聚类结果的差异?另外,在Matlab中是否存在用于聚类的确定性函数?
答案 0 :(得分:1)
如果您拥有图像处理工具箱,那么有些工具将使用确定性的Otsu方法
https://en.wikipedia.org/wiki/Otsu's_method
如果datain是您的输入数据:
2节课:
threshold = graythresh(datain);
阈值=将数据分为2类的阈值,归一化为[0,1]
对于多个班级:
thresholds = multithresh(datain,N);
N =阈值数量
阈值= 1xN个阈值向量(未规范化)
答案 1 :(得分:0)
这是正常的。 k平均算法在每次迭代后都会创建新的类,因此结果可能会有所不同。 例如:该算法将确定哪个水果是带有梨的苹果。可以将苹果分类为梨,但是所有的苹果都是梨,而所有的梨都是苹果。
答案 2 :(得分:0)
我想出了一些方法来减少聚类结果的差异。
只要我们追求kmeans的最佳结果,我们就更有可能获得一致的结果。