0
パッケージ 'lsa'から余弦()を使ってコサインの類似度を計算します。ここでは3つのテストベクトルを有する:今R:コサイン類似度とMDSのエラー
d <- data.frame(c(-1,1,0,-1,1,1,-1,1,0),c(-1,1,1,1,-1,1,-1,0,1),c(0,0,1,0,-1,-1,0,1,-1))
colnames(d) <- c("vector1","vector2","vector3")
d_dist <- cosine(as.matrix(d))
、私はそれ散布としてcmdscaleとし、そのプロットした後、次元削減をしたい:(d_dist
fit <- cmdscale(d_dist,k=2)
x <- fit[,2]
y <- fit[,1]
plot(x,y)
をしかし、私はいつもcmdscaleで警告を取得し、 k = 2):最初の2つの固有値のうち0だけがドイツ語から翻訳された> 0であり、空のフィットオブジェクトです。
私は間違っていますか?手伝ってくれてどうもありがとう!
ありがとうございます。できます。 cmdscaleが負の値で動作しないため、1-d_distですか? –
余弦は0と1の間にあり、負の値はここでは適用されません。エラーメッセージは、マトリックスが分解できないことを示しています(つまり、マトリックスは対角化できません)。実際に言えば、距離/非類似行列ではなく、類似行列を入力するからです。 – thc