R では、あらゆる種類のメトリクスを使用して、クラスタリングの前に距離行列を構築できます。たとえば、バイナリ距離、マンハッタン距離などです。 )、これらのリンケージはすべてユークリッド距離を使用します。これは、距離行列を構築するために差分メトリックに依存している場合、特に適切ではないようです。
クラスタリング ツリーを構築するときに、リンケージ メソッドに他の距離を適用する方法 (またはライブラリ...) はありますか?
ありがとう!
R では、あらゆる種類のメトリクスを使用して、クラスタリングの前に距離行列を構築できます。たとえば、バイナリ距離、マンハッタン距離などです。 )、これらのリンケージはすべてユークリッド距離を使用します。これは、距離行列を構築するために差分メトリックに依存している場合、特に適切ではないようです。
クラスタリング ツリーを構築するときに、リンケージ メソッドに他の距離を適用する方法 (またはライブラリ...) はありますか?
ありがとう!
私はあなたの質問を本当に聞きません。たとえば、次のデータがあるとします。
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")
ペアごとの距離をすでに表す行列を構築している場合は、たとえば次のように使用します。
hclust(as.dist(mx), method="single")
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
が、大規模なデータ セットに対して桁違いに高速です。