2

R では、あらゆる種類のメトリクスを使用して、クラスタリングの前に距離行列を構築できます。たとえば、バイナリ距離、マンハッタン距離などです。 )、これらのリンケージはすべてユークリッド距離を使用します。これは、距離行列を構築するために差分メトリックに依存している場合、特に適切ではないようです。

クラスタリング ツリーを構築するときに、リンケージ メソッドに他の距離を適用する方法 (またはライブラリ...) はありますか?

ありがとう!

4

3 に答える 3

1

私はあなたの質問を本当に聞きません。たとえば、次のデータがあるとします。

x <- matrix(rnorm(100), nrow=5)

次に、を使用して距離行列を作成できますdist

##Changing the distance measure
d_e = dist(x, method="euclidean")
d_m = dist(x, method="maximum")

その後、クラスター化できます。

##Changing the clustering method
hclust(d_m, method="median")
于 2012-08-30T13:39:15.747 に答える
1

ペアごとの距離をすでに表す行列を構築している場合は、たとえば次のように使用します。

hclust(as.dist(mx), method="single")
于 2012-09-03T11:16:37.173 に答える
0

agnesではなくを使用しhclustて、距離行列を渡すことをお勧めします。これに関する素晴らしいチュートリアルがあります: http://strata.uga.edu/software/pdf/clusterTutorial.pdf

チュートリアルから、クラスタリングのために距離行列を生成して使用する方法は次のとおりです。

> library(vegan)
# load library for distance functions
> mydata.bray <- vegdist(mydata, method="bray")
# calculates bray (=Sørenson) distances among samples
> mydata.bray.agnes <- agnes(mydata.bray)
# run the cluster analysis

私自身、Daniel Müllner 教授のfastcluster ライブラリを使用しています。このライブラリは とまったく同じ API を備えていますagnesが、大規模なデータ セットに対して桁違いに高速です。

于 2012-08-30T13:50:18.090 に答える