2

0 ~ 1 のスケールで 1200 人までの任意の 2 つのペア間の類似性/非類似性を計算しています。

これらの関係を XY 平面で視覚化したいと思います。これらの関係を利用して、類似性の高い人同士を近づけ、非類似性の高い人同士を遠ざけることができるソフトウェア ツールはありますか?

4

1 に答える 1

2

多次元スケーリングを使用する必要があります。目的は、2 次元の線形距離との類似性の相対的な違いを表すデータの変換を特定することです。これには、従来のスケーリングまたはメトリック ベースのスケーリングを使用する必要があります。

R を使用した例を次に示します。

MDS プロット

コードはかなり単純です。の距離行列を作成するための魔法がすべて入ってcmdscaleおり、 を使用しています。次に、R を使用するか、視覚化のためにデータを別の場所にエクスポートできます。vegdistcmdscale

## load libraries
library(ggplot2) # for charting
library(vegan) # for jaccard

## simulate some data - 1200 rows, 5 features/cols/fields
features <- matrix(abs(rnorm(1200*5)),ncol=5)
rownames(features) <- paste("P", seq(1:1200), sep="")

## calculate jaccard distances
d <- vegdist(features, method = "jaccard")

## Multidimensional Scaling
fit <- cmdscale(d,eig=TRUE, k=2)

# prepare the data for plotting
mds <- data.frame(
  x    = fit$points[,1],
  y    = fit$points[,2],
  name = rownames(features))

# plot
ggplot(mds, aes(x=x,y=y,label=color=name)) + geom_text(size=1)

## bonus visualization! - a dendrogram
fit <- hclust(d, method="ward")
plot(fit)
于 2013-09-21T06:18:25.867 に答える