0
我使用包'lsa'中的cosine()計算餘弦相似度。這裏有三個測試向量: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和情節後,作爲散點圖:
fit <- cmdscale(d_dist,k=2)
x <- fit[,2]
y <- fit[,1]
plot(x,y)
但我一直得到警告在cmdscale(d_dist, k = 2):前2個特徵值中只有0個> 0 [從德語翻譯]和一個空的擬合對象。
我在做什麼錯?非常感謝你的幫助!
謝謝。有用。它是1-d_dist,因爲cmdscale不適用於負值? –
餘弦在0和1之間,負值不適用於此。錯誤信息告訴你矩陣不能被分解(即,矩陣不可調整)。實際上,這是因爲你輸入了一個相似度矩陣,而不是一個距離/相異矩陣。 – thc