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