-1

を用いた等価検索:最適なクラスタ式:私は行列Bから算出した2つの変数を持ってNbClust

1)相関行列

から相関行列 cor(B)

2)非類似度マトリックスの階層クラスタ

その後、clustConfigurations関数を使用して「エルボーグラフ」を計算して、最適なクラスター量を決定しました。以下は

を参照してくださいコード:私はNbClustと呼ばれる別のパッケージを使用することにしましたので

私は大きな行列X 1213、特に1213年にこれをやってみました
library(NetCluster) 

B = matrix( 
     c(2, 0, 0, 1, 0, 0, 1, 
     0, 1, 0, 0, 2, 1, 0, 
     0, 0, 3, 1, 0, 0, 2, 
     1, 0, 1, 4, 0, 0, 2, 
     0, 0, 0, 0, 4, 0, 2, 
     0, 1, 0, 0, 0, 2, 1, 
     1, 0, 2, 2, 2, 1, 8), 
    nrow=7, 
    ncol=7) 
    colnames(B) = c("A", "B", "C", "D", "E", "F", "G") 
    rownames(B) = c("A", "B", "C", "D", "E", "F", "G") 
B 

    A B C D E F G 
A 2 0 0 1 0 0 1 
B 0 1 0 0 0 1 0 
C 0 0 3 1 0 0 2 
D 1 0 1 4 0 0 2 
E 0 2 0 0 4 0 2 
F 0 1 0 0 0 2 1 
G 1 0 2 2 2 1 8 

Correlation_Matrix <- cor(B) 
dissimilarity <- 1 - Correlation_Matrix 
Correlation_Matrix_dist <- as.dist(dissimilarity) 
Correlation_Matrix_dist 
HClust_Correlation_Matrix <- hclust(Correlation_Matrix_dist) 
clustered_observed_cors = vector() 
num_vertices <- ncol(B) 
clustered_observed_cors1 <-clustConfigurations(num_vertices,HClust_Correlation_Matrix,Correlation_Matrix) 

、マトリックスは、このスクリプトを実行するには大きすぎました。

ドキュメント:

https://cran.r-project.org/web/packages/NbClust/NbClust.pdf

私の目標は、この新しいパッケージで上記のプロセスを再作成することでしたが、私は以下のコードは、上記と同等であるかどうかわからない:

library(NbClust) 

nbclustering<-NbClust(diss = Correlation_Matrix_dist, 
distance = NULL, 
min.nc=2, 
max.nc=20, 
method = "complete", 
index = "dunn") 

This would give you the optimal amount of clusters: 
nbclustering$Best.nc 

上記のコードは私の元のコードと同じですか?そうでない場合は、どのような変更が必要ですか?

ありがとうございます!

+0

最終的に何を達成したいですか?それはあなたの変数をクラスタ化していますか?あなたの質問はあなたが答えたいものではないかもしれません。 – YCR

+0

私はクラスターの最適な量を見つけて、階層クラスターの樹状図に戻り、私の発見に基づいてカットオフを作りたいと思います。私はdendogramを使いません。結果を使うだけです。 @YCR –

+0

私はリファレンスとしてStanford R Labsを使用していましたが、相関行列を使用するように言及しました。これはソーシャルネットワーク分析の最終目標です。 http://sna.stanford.edu/lab.php?l=6このコードは124行目から始まります。 –

答えて

1

NbClustは、hclustよりも広い機能であり、最後のクラスタ数を評価するためのメトリクスに重点を置いています。

hclustのデフォルトの方法は"complete"です。

NbClustと同じ方法で、オプションがmethod = "complete"の場合と同じです。

したがって、Nbclustの結果を使用して、関数hclustによって得られたクラスタリングの最終クラスタの数を定義することは正しいです。

+0

インデックスについては、frey、mcclain、cindex、sihouette、dunnの4つのオプションがあります。元のコードと同じ結果をもたらすものはどれですか? –

+0

'clustConfigurations'関数はNbClustに実装されていません。しかし、他のメトリックを使用して、問題に最適な数のクラスタを非グラフィカルに検出することができます。 – YCR

+0

ありがとう、多分私は5つのインデックスのうち、最も人気のあるものが何であるかを見て、それを選ぶことができます。これを行う最善の方法だと思っているのですか、それとも別の提案がありますか? @YCR –

関連する問題