我们如何计算由它们的评分表示的两个项目的调整余弦相似度?

Posted

技术标签:

【中文标题】我们如何计算由它们的评分表示的两个项目的调整余弦相似度?【英文标题】:How can we calculate adjusted cosine similarity for two items represented by their ratings? 【发布时间】:2016-05-30 08:35:22 【问题描述】:

我想计算分别由ab 表示的两个项目的调整余弦相似度值。我们采用两个向量a=2,3,1,0b=1,0,4,2。我知道余弦相似度是如何工作的,但我坚持使用调整后的余弦相似度方法。

【问题讨论】:

您面临的编程问题到底是什么? 【参考方案1】:

这可能对你有用:

function sim(i,j) 
    item1 = 0
    item2 = 0

    for (k = 0; k < length(data); k++) 
        item1 += (data[k][i] - avg(data[k]))
        item2 += (data[k][j] - avg(data[k]))
    

    var numerator = item1*item2
    var denominator =(sqrt(item1*item1)*sqrt(item2*item2)
    var result = (numerator /denominator )
    return result

【讨论】:

以上是关于我们如何计算由它们的评分表示的两个项目的调整余弦相似度?的主要内容,如果未能解决你的问题,请参考以下文章