- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用协同过滤构建推荐引擎。对于相似度分数,我使用 Pearson 相关性。大多数时候这很好,但有时我的用户只共享 1 或 2 个字段。例如:
User 1{
a: 4
b: 2
}
User 2{
a: 4
b: 3
}
最佳答案
您可能需要考虑使用余弦相似度而不是 Pearson 相关性。它没有这个问题,并且被广泛用于推荐系统文献中。
Herlocker 等人描述了对此的规范解决方案。在“基于邻域的协同过滤算法中的设计选择的实证分析”中,是“阻尼”皮尔逊相关性以纠正具有小协同评级集的用户之间的过高相关性。基本上,您将 Pearson 相关系数乘以 1 和 cc/50 中的较小者,其中 cc 是两个用户都评价过的项目数。效果是,如果它们至少有 50 个共同点,那么相似度就是原始 Pearson;否则,它会与它们共同的评分项数成线性比例。它将 1 的虚假相关性变成了 0.02 的相似性。
50 可能需要根据您的域和系统进行调整。
您还可以使用余弦相似度,它不会以相同的方式受到此限制。然而,对于用户-用户 CF,通常首选 Pearson 相关。
更新:在最近的工作中,我们发现基于用户的 CF 过早地忽略了余弦相似性。余弦相似度,当在归一化数据上执行时(在计算余弦相似度之前从每个评分中减去用户的平均值——结果与帕森相关非常相似,只是它有一个内置的自阻尼项),优于皮尔逊“标准”环境。当然,如果可能,您应该对自己的数据和环境进行一些测试,看看哪种效果最好。论文在这里:http://grouplens.org/node/479
免责声明:我是制作上述 Herlocker 论文的实验室的一名学生。
关于sparse-matrix - 协同过滤程序 : What to do for a Pearson Score When There Isn't Enough Data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1927266/
虽然 find(["a", "b"], "c") 没有问题,但在尝试查找结构数组中的结构索引时出现错误: struct Score { //... } var scores: [Score]
也许我在 http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials 中遗漏了一些东西 似乎要渲染部分,我们可以使用
我正在发布 Android Facebook 游戏的分数,我返回“真实”,但我在任何地方都看不到这个故事。我错过了什么? 最佳答案 Facebook 似乎有一些逻辑,有时只发布基于分数的故事。 您可以
我有包含一些数据和特定省略列表的文档(参见 mapping 和 example data ): 我想编写一个执行以下操作的 ES 查询: 计算文档的一些“基本”分数(查询 1): { "expla
我是 iOS 开发的新手,我已经成功地集成了 facebook 登录等...但是我的问题是 Score api。我可以阅读乐谱,但我似乎无法发布它,我拥有 publish_actions 权限,并且正
如果我有 2 个标签(1 和 0),并且在我通过 softmax 激活层传递我的 logits 之后,我得到如下内容: [[0.1, 0.9], [0.3, 0.7], [0.333, 0.667]]
我正在使用 k 折交叉验证来计算加法平滑参数 alpha 的最佳值。另外,我想根据 alpha 值绘制训练准确度和验证准确度的曲线。我为此编写了代码: alphas = list(np.arange(
我使用的示例摘自《Mastering Machine Learning with scikit learn》一书。 它使用决策树来预测网页上的每个图像是否是一个广告或文章内容。然后可以使用级联样式表隐
我使用 scipy.cluster.hierarchy.linkage 作为聚类算法并将结果链接矩阵传递给 scipy.cluster.hierarchy.fcluster ,以获得扁平化的集群,用于
我有以下代码,我想用它来检查用户答案并输出分数(满分 5 分)。我使用包含答案的 plist 并检查 textField.text 。我正在努力解决的是:如何使用这种方法获得总输出分数? - (IBA
我知道还有很多其他类似的问题与该领域有关,但没有一个答案有效。就我而言,我有以下代码,我试图按分数降序对记录数组进行排序。 function score(string, pattern){ str
我希望能够保留玩家在玩我的游戏时获得的分数,以及当他们关闭游戏并重新打开游戏时分数仍然保存。我能想到的唯一方法是使用文本文件来完成此操作,就像我在 VB6 中所做的那样。但是,这意味着他们可以编辑文本
现在我已经完成了我的游戏制作,我需要添加的是应用内购买和排行榜,并且为了不搞砸我正在使用测试应用做的任何事情。我的排行榜现在正在显示,即使我在测试时(在真实设备和模拟器上)登录到游戏中心,查看排行榜时
您可以使用 1 行代码轻松提取轮廓分数,该代码对所有集群的分数进行平均,但是如何从轮廓分数的 scikit learn 实现中提取每个中间分数?我希望能够为每个集群单独提取相同的分数,而不仅仅是获得总
我正在用 JavaScript 和 HTML 制作一个在线游戏(一个非常简单的游戏,这是我的第一个游戏)。它工作正常,但有一个大问题。我希望每当单击特定图像时,都会将 10 添加到变量分数的值中。这是
我的 votes 表如下所示: id: integer vote: boolean voteable_id: integer voteable_type: string voter_id: integ
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this q
无法读取未定义的属性“分数”这是一个使用极小极大算法的井字游戏。这是我整个应用程序的笔。 https://codepen.io/MartinaMF/pen/LjNdNN $(document)
我有一个引用字典“dictA”,我需要将它(计算键和 vules 之间的相似度)与当场生成的 n 个字典进行比较。每个字典的长度相同。假设为了便于讨论,要与之比较的词典数量为 3:dictB、dict
1、计算F1-Score 对于二分类来说,假设batch size 大小为64的话,那么模型一个batch的输出应该是torch.size([64,2]),所以首先做的是得到这个二维矩阵的每一行的
我是一名优秀的程序员,十分优秀!