在带有NaN的矩阵上运行kmeans函数?

3

我有一个161X911的数据矩阵,其中包含0、1、2以及一些NaN值。我尝试对该数据运行内置函数 kmeans,但是当我设置K(聚类数)大于5时,它会返回以下结果:

Warning: Ignoring rows of X with missing data. 
> In kmeans at 128
??? Error using ==> kmeans at 284
X must have more rows than the number of clusters.

有没有办法绕过这个问题?我猜只有5行中没有任何NaN。

2个回答

9

我刚刚注意到第三个链接是坏的。已修复。 - Chris A.

1

如果你想使用K-Means算法,那么你必须在那些非数字的位置上填上数字。一种方法是对于每一列,取非NaN值的平均值,并将该列中的NaN值替换为该值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接