recommendation-engine - 在 CF item-item 推荐器中,当矩阵稀疏时如何计算项目相似度?
问题描述
在寻找项目邻居的路上,我首先需要计算相似度。如何在稀疏矩阵中计算它?这是正确的吗?
解决方案
在基于项目的协同过滤中,我们计算项目之间的相似度。
这里我们可以使用余弦相似度,因为无论向量有多稀疏,余弦相似度都会根据向量之间的余弦角或向量空间中两个向量的接近度来计算邻居。不是基于 thè 向量的值。例如:-
Per1 Per2 Per3
Item1 5 3 1
Ttem2 2 3 3
如果我们计算两个向量的余弦相似度:
Cos_sim_1 = (5*2 + 3*3 + 1*3) / sqrt((25+9+1)*(4+9+9)
Cos_sim_1 = 0.792
如果矩阵是稀疏的:
Per1 Per2 Per3 Per4 Per5 Per6 Per7 per8
Item1 5 3 1 0 0 0 0 0
Ttem2 2 3 3 0 0 0 0 0
以及稀疏向量的余弦相似度:
Cos_sim_2 = (5*2 + 3*3 + 1*3 + 0*0 + 0*0 +0*0 +0*0 +0*0) / sqrt((25+9+1+0+0+0+0+0)*(4+9+9+0+0+0+0+0))
Cos_sim_2 = 0.792
推荐阅读
- python - Django 表单cleaned_data
- java - 中断中跨度文本的 Xpath
- ios - 3D 地形 + 受限坐标边界不起作用
- android - 使用蓝牙计算两个安卓设备之间的距离
- sql - 如何将 sql 语句转换为 dplyr 表示法?
- asynchronous - 为什么我需要三个 await 关键字才能得到正确的结果?
- flutter - Flutter Sliver:带有 SliverFillRemaining 的 TabBarView 上的问题
- database - 如何使用 Laravel 关系创建表?
- python - 从 tf.data 中随机抽取 2000 个元素
- c++ - 使用 Media Foundation UWP C++ 提供自定义频道矩阵