如何构建一个计算语言R中余弦相似度的函数?

时间:2015-12-03 10:02:12

标签: r machine-learning cosine-similarity data-science

          ios d.0 d.1 d.2 d.3 d.4 d.5
1   190371877 HDa 2Pb   2 BxU BuQ Bve
2   190890807 HCK 2Pb   2  09   F   G
3   193999742 HDa 2Pb   2 1wL 1ye    
4   192348099 HDa 2Pb   2 2WP        
5   194907960 HDa 2Pb   2   Y   F   G
6   194306872 HDa 2Pb   2 2WP        
7   190571682 HDa 2Pb   2   i   F   C
8   195878080 HDa 2Pb   2   Y   F   G
9   195881580 HDa 2Pb   2   Y   F   G
10  193746161 HDa 2Pb   2 1wL     

这是我的代码如下。我只能做比较2矢量,现在ı想建立一个功能

library('lsa')
td = tempfile()
dir.create(td)
write( c("HDa","2Pb","2","BxU","BuQ","Bve"), file=paste(td, "D1", sep="/"))
write( c("HCK","2Pb","2","09","F","G"), file=paste(td, "D2", sep="/"))


myMatrix = textmatrix(td, minWordLength=1)
res <- lsa::cosine(myMatrix[,1], myMatrix[,2])
res
#0.3333

我有一个矩阵266行和7列,如上所述。第一列是我的产品ID,其他是产品的权威标签。如果我想拥有自己的功能并给出2输入,那么就是一个明确的标签向量(如c(“HDa”,“2Pb”,“2”,“BxU”,“BuQ”,“Bve”))和另一个是产品ID(ios)。因此,我希望在前8个产品中看到真或假(1或0),这与产品id的向量最相似。

任何人都可以告诉我应该做些什么来解决我的问题?

0 个答案:

没有答案