本文主要是介绍协同过滤之余弦距离相似度计算手推过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考:https://www.bilibili.com/video/av38554878?p=4
https://blog.csdn.net/huozi07/article/details/45600963
多维向量余弦距离相似度公式
参考:https://blog.csdn.net/smile_shujie/article/details/89516305
与sklearn 对比
from sklearn.metrics.pairwise import cosine_similaritykkkk=[[0. , 0. , 0.60534851, 0.79596054, 0. ,0. , 0. , 0. , 0. ],[0.52863461, 0.52863461, 0.40204024, 0. , 0. ,0. , 0. , 0. , 0.52863461],[0. , 0. , 0. , 0. , 0.5 ,0.5 , 0.5 , 0.5 , 0. ]]
cosine_similarity(kkkkk)###直接公式,一二行数据相似度
(0.60534851*0.40204024)/(((0.60534851**2+0.79596054**2)**0.5) * ((0.52863461**2+0.52863461**2+0.52863461**2+0.40204024**2)**0.5))
2、user_cf相关打分计算:
重点就是求两两相关性是求两者共同有的之间进行的相关性计算
下面是求出的u1对i2的打分预测:
这篇关于协同过滤之余弦距离相似度计算手推过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!