如何编写自己的函数来计算矩阵中每行的余弦相似度作为语言R中的给定2个参数?

时间:2015-12-04 16:26:04

标签: r machine-learning statistics text-mining data-science

这是我的代码如下。我只是能够比较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行和6列

      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

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

任何人都可以解释如何解决我的问题吗?

0 个答案:

没有答案