2012-04-29 9 views
1

私は0,1,2の161X911のデータ行列を持っていて、行列全体にいくつかのNaNがあります。私はそれがこのkmeans関数をNaNの行列で実行していますか?

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よりも大きいデータに関数関数kmeansに建てられたと私はK(クラスタの数)を持っている時はいつでも値がこれを回避する方法があります試してみて、実行しますか?私は5行だけにNaNがないと思う。

答えて

3

この質問のこの心は、NaNについての簡単なプログラミングの質問を超えています。これは欠けているデータの存在下でのクラスタリングに関するより基本的な質問です。

これらの場合の例を示すリンクがいくつかあります。どの方法があなたの状況に最も適しているか。

  1. Paper showing nearly exactly what you want to do.
  2. Code projects on Google code
  3. Another paper in an IEEE Journal
1

K-Meansを使用する場合は、数字以外の場所に数字を入力する必要があります。これを行う1つの方法は、各列について、非NaN値の平均を取って、その列のNaNをその値で置き換えることです。

関連する問題