gpt4 book ai didi

Matlab:Kmeans每次给出不同的结果

转载 作者:太空宇宙 更新时间:2023-11-03 19:21:10 25 4
gpt4 key购买 nike

我在 400x1000 矩阵上的 matlab 中运行 kmeans,出于某种原因,每当我运行该算法时,我都会得到不同的结果。下面是一个代码示例:

[idx, ~, ~, ~] = kmeans(factor_matrix, 10, 'dist','sqeuclidean','replicates',20);

出于某种原因,我每次运行这段代码都会得到不同的结果?有什么想法吗?

我用它来识别多重共线性问题。

感谢您的帮助!

最佳答案

MATLAB 中的 k-means 实现有一个随机组成部分:初始中心的选择。这导致不同的结果。然而,实际上,MATLAB 多次运行 k-means 并返回具有最低失真的聚类。如果您每次都看到截然不同的聚类,这可能意味着您的数据不适合 k-means 寻找的那种聚类(球形),并且表明要尝试其他聚类算法(例如光谱算法)。

您可以通过将一组初始中心作为函数参数之一(start parameter)传递给它来获得确定性行为。这每次都会为您提供相同的输出聚类。有几种启发式方法可以选择初始中心集(例如 K-means++ )。

关于Matlab:Kmeans每次给出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12137282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com