基于皮尔森相关性的相似度 —— Pearson correlation-based similarity

皮尔森相关系数反应了两个变量之间的线性相关程度,它的取值在[-1, 1]之间。当两个变量的线性关系增强时,相关系数趋于1或-1;当一个变量增大,另一个变量也增大时,表明它们之间是正相关的,相关系数大于0;如果一个变量增大,另一个变量却减小,表明它们之间是负相关的,相关系数小于0;如果相关系数等于0,表明它们之间不存在线性相关关系。

协方差(Covariance):在概率论和统计学中用于衡量两个变量的总体误差。如果两个变量的变化趋于一致,也就是说如果其中一个大于自身的期望值,另一个也大于自身的期望值,那么两个变量之间的协方差就是正值;如果两个变量的变化趋势相反,则协方差为负值。

其中u表示X的期望E(X), v表示Y的期望E(Y)

标准差(Standard Deviation):标准差是方差的平方根

方差(Variance):在概率论和统计学中,一个随机变量的方差表述的是它的离散程度,也就是该变量与期望值的距离。

即方差等于误差的平方和的期望

基于皮尔森相关系数的相似度有两个缺点:
(1) 没有考虑(take into account)用户间重叠的评分项数量对相似度的影响;
(2) 如果两个用户之间只有一个共同的评分项,相似度也不能被计算

上表中,行表示用户(1~5)对项目(101~103)的一些评分值。直观来看,User1和User5用3个共同的评分项,并且给出的评分走差也不大,按理他们之间的相似度应该比User1和User4之间的相似度要高,可是User1和User4有一个更高的相似度1。

同样的场景在现实生活中也经常发生,比如两个用户共同观看了200部电影,虽然不一定给出相同或完全相近的评分,他们之间的相似度也应该比另一位只观看了2部相同电影的相似度高吧!但事实并不如此,如果对这两部电影,两个用户给出的相似度相同或很相近,通过皮尔森相关性计算出的相似度会明显大于观看了相同的200部电影的用户之间的相似度。

皮尔森相关性的相似度相关推荐

  1. windows下设置进程CPU相关性/亲合度,解决CPU使用率占用100%的问题

    windows下设置进程CPU相关性/亲合度,解决CPU使用率占用100%的问题 参考文章: (1)windows下设置进程CPU相关性/亲合度,解决CPU使用率占用100%的问题 (2)https: ...

  2. 皮尔森相关性系数的计算python代码(一)

    部分代码 from math import sqrt import numpy as np import pandas as pddef excel_one_line_to_list():def mu ...

  3. 皮尔森相关性系数的计算python代码(四)(热力图版)

    部分代码: import numpy import pandas as pd import numpy as np from matplotlib.font_manager import FontPr ...

  4. 皮尔森相关性系数的计算python代码(三)

    部分代码 import os import pandas as pd import numpy as np from scipy.stats import pearsonrdef Pearson(da ...

  5. 协方差与皮尔森相关性系数

    协方差 定义 随机变量X.Y 的协方差Cov(X,Y): Cov(X,Y) = E[(X-E(X))(Y-E(Y))]= E[XY] - E[Y]E[X] 从直观上来看,协方差表示的是两个变量总体误差 ...

  6. 信息的相关性和冗余度:信息在整个文明中的作用

    文章目录 I 古埃及的象形文字 1.1 罗塞塔石碑 1.2 古埃及文字音节和希腊字母的对应表 1.3 破解古埃及文字 I 古埃及的象形文字 1.1 罗塞塔石碑 这个石碑是在公元前196年埃及国王托勒密 ...

  7. usercf itemcf java_UserCF和ItemCF都依赖于相似度的计算,因为只有通过衡量用户之.docx...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsp软件工程 UserCF和ItemCF都依赖于相似度的计算,因为只 ...

  8. 相似度计算的算法总结

    1         相似度的计算简介 关于相似度的计算,现有的几种基本方法都是基于向量(Vector)的,其实也就是计算两个向量的距离,距离越近相似度越大.在推荐的场景中,在用户-物品偏好的二维矩阵中 ...

  9. 搭建电商平台的标签系统?看这就够了

    咖友提问:如何建立电商平台的标签系统? 期待该问题的优质回答,给所有需要设计标签系统的童鞋一个很好的指引,简要说明一下要做的事情: 1.电商系统的标签,可以支持前台分类的搜索(或者叫查询?) 2.电商 ...

最新文章

  1. Android之TableLayout表格布局
  2. Elasticsearch 参考指南(介绍)
  3. 软件体系结构设计文档_一个java架构师是如何设计出一个好的架构的
  4. SPOJ COT Count on a tree 主席树
  5. gitlab ci mysql_php-Gitlab CI:在阶段之间保留MySQL数据
  6. java 非法线程_JVM中的线程行为
  7. android权限列表
  8. 素数/质数的判断(C++)
  9. mysql sum函数后面好多位小数点
  10. 孙鑫VC学习笔记:第十六讲 (一) 利用事件对象实现线程间的同步
  11. 国产13.56MHz读写器芯片Ci521替代兼容CV520
  12. javascript基础常识问答(二)
  13. pygame学习笔记——飞机大战爆炸效果
  14. *TEST 6 for NOIP + NOIP初赛
  15. layui表格宽度自适应
  16. C语言的s8数据结构
  17. JAVA 关于图片上传的代码
  18. VBA打印机设置(列出所有打印机名字、选用合适的打印机并设计端口号)
  19. 计算机重启恢复系统怎么操作,电脑如何恢复出厂设置 电脑开机怎么一键还原...
  20. 问题解决了,可是为什么呢?could not find the main class.program will exitmain

热门文章

  1. NAS开通外网访问功能的三种方法
  2. A9G开发板上报GPS定位数据实现微信公众号定位显示
  3. 新郑计算机培训机构排名前十,新郑美术培训中心排名
  4. 电脑假死卡的动不了_电脑卡死了动不了怎样恢复
  5. 【模板】仙人掌的基本概念和判定
  6. SpringFramework核心技术一(IOC:自定义一个bean的本质)
  7. c#中如何将byte数组转换成string从而在textbox中显示出来?
  8. Android Transtion
  9. win10任务栏透明_TrayS - 终极美化任务栏(透明、应用居中)
  10. 基于微信理发预约小程序系统设计与实现 开题报告