2017-06-23 4 views
-1

以下に示すように、私は、84個の変数300人の観察とそれぞれとデータセットmydataを有する:なぜk-meansはRの変数ではなく観測値をクラスタリングするのですか?

enter image description here

Iはmydata 5におけるクラスタクラスタには、次のコードを使用しています:これは、生成

mydata <- read.csv("mydata.csv", header = TRUE) 

# K-Means Clustering with 5 clusters 
fit <- kmeans(mydata, 5) 

# Cluster Plot against first 2 principal components 

# vary parameters for most readable graph 
library(cluster) 
clusplot(mydata, fit$cluster, color=TRUE, shade=TRUE, labels=2, lines=0) 

を次のプロット:enter image description here

私は84変数を名前でプロットすることを期待していました。観察に基づいて第1の画像を生成する。しかし、代わりに、最後の画像に見られるように、それは300の観測値を集めています。これを修正するには?

私はmydataの転置を試みましたが、それでも問題は解決しません。

編集:私はこのようなプロットを期待していました(しかし、このプロットは別のデータセット用です)。このプロットは、プロット上の変数の名前を表示するためだけに表示されます。つまり、変数が(観測値に基づいて)プロットされています。あなたが言及 enter image description here

+6

これがk-meansのやり方です。それは観測をクラスタリングする。なぜあなたはそれが何か違うと思いますか? –

+0

@GordonLinoff私が求めている質問を理解してください。私は、あなたが私のことを理解できるように、サンプルクラスタを編集に含めました。 – Kristada673

+3

ゴードンはあなたの質問に正しく答えました。変数全体を使用するときは、変数を介してグローバルな関連性に基づいて、エンティティ(観察)をクラスタ化します。各変数を別々にクラスター化したい場合は、コード内のデータを分割して各変数を個別に表示する必要があります。 – sconfluentus

答えて

0

プロットは、おそらくmtcarsデータセットを使用して作成されていた:

print(datasets::mtcars) 

あなたが見るポイントが明確に観測されています。

あなたは、変数のクラスタを作成する場合は、複数のオプションが存在します。

  • corとexempleのためのあなたの変数間の距離の行列を、作成しhclustで階層的クラスタリングを行います。
  • pcaを実行して、作成したコンポーネントに対して変数の投影をクラスタ化します。これにより、kmeansを使用して変数をクラスタ化できます。
  • すべての変数が数値である場合、データフレームを転置し、k平均クラスタリングを実行できます。

また、なぜ変数をクラスタ化するのかという疑問は、おそらくもっと考えなければならないでしょう。

+0

私はこれを理解していません。クラスタ化する4つの要素(花など)があり、100種類の異なる機能(臭い、色、サイズ、テクスチャなど)があるとします。ですから、私がこれらの測定をすると、私は4つの変数と100の観測値を持っていますよね?私がそれらをクラスタリングするとき、私はアルゴリズムがそれぞれの100の観測に基づいて1つまたは2つのクラスターに4つの花を集めることを期待します。それ以外の方法ではありません。つまり、4に基づいてクラスタ100の観測を行います。そうじゃない? – Kristada673

+0

私は 'mtcars'データセットを表示しました。プロットしているのは、確かに、mpg、cyl、dispなどの特徴(すなわち、観測値)に基づく車の名前(すなわち変数)であり、他の方法ではありません。 – Kristada673

+0

車名は定性的な変数です。あなたの観察は、その変数のモダリティの1つを持つことができます。モデリング・コンテキストの場合にのみフィーチャーを使用する方が好きです。それ以外の場合は複雑になります。 – YCR

1

をクラスタ変数にする場合は、のインスタンスではなく、の転記のデータマトリックスを使用できます。

通常、クラスタリングはデータポイントに適用され、列には適用されません。

k-meansの通常の制限に注意してください。規模に非常に敏感です。

+0

転記を試みましたが、エラーが発生します – Kristada673

+0

どのようなエラーが出ますか?エラーを修正しようとしましたか? –

関連する問題