皮尔逊相关度

当数据不规范的时候可以给出更好的结果,更好的得出变量的总体变化。

但是公式一点也不直观。。。

# -*- coding: UTF-8 -*-
from math import sqrt
prefs={}#总数据
p1={}
p2={}#两个要比较的数据,用字典表示
si={}#相同的序列表
for item in prefs[p1]:
    if item in prefs[p2]:
        si[item]=1
n=len(si)#得到相同的个数
if n==0: flag = 1
sum1 = sum([prefs[p1][it] for it in si])#求和
sum2 = sum([prefs[p2][it] for it in si])

sum1sq = sum([pow(prefs[p1][it],2)for it in si])#求平方和
sum2sq = sum([pow(prefs[p2][it],2)for it in si])

psum = sum([prefs[p1][it]*prefs[p2][it] for it in si])#求乘积之和

num = psum-(sum1*sum2/n)
den = sqrt((sum1sq-pow(sum1,2)/n)*(sum2sq-pow(sum2,2)/n))
if den==0: flat = 0

r = num/den
if flag != 1:
    print r
时间: 2024-11-05 23:20:08

皮尔逊相关度的相关文章

皮尔逊相关度系数原理,以及java实现

转载请标明出处:http://blog.csdn.net/u010670689/article/details/41895105 1.原理: 以上列出的四个公式等价,其中E是数学期望,cov表示协方差,N表示变量取值的个数. 数学期望,协方差解释文章链接:http://blog.csdn.net/u010670689/article/details/41896399 相关系数的值介于–1与+1之间,即–1≤r≤+1.其性质如下: 当r>0时,表示两变量正相关,r<0时,两变量为负相关. 当|r

皮尔逊相关系数

皮尔逊相关系数是比欧几里德距离更加复杂的可以判断人们兴趣的相似度的一种方法.该相关系数是判断两组数据与某一直线拟合程序的一种试题.它在数据不是很规范的时候,会倾向于给出更好的结果. 如图,Mick Lasalle为<<Superman>>评了3分,而Gene Seyour则评了5分,所以该影片被定位中图中的(3,5)处.在图中还可以看到一条直线.其绘制原则是尽可能地靠近图上的所有坐标点,被称为最佳拟合线.如果两位评论者对所有影片的评分情况都相同,那么这条直线将成为对角线,并且会与图

【NLP】Python实例:基于文本相似度对申报项目进行查重设计

Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起到一定纠正作用.单位主要针对科技项目申报审核,传统的方式人力物力比较大,且伴随季度性的繁重工作,效率不高.基于此,单位觉得开发一款可以达到实用的智能查重系统.遍及网络文献,终未得到有价值的参考资料,这个也是自然.首先类似知网,paperpass这样的商业公司其毕业申报专利并进行保密,其他科研单位因发

Note3 :《集体智慧编程》用户相似度计算

欧几里德距离评价: 以经过人们一致评价的物品为坐标轴,然后将参与评价的人绘制到图上,并考察他们彼此之间的距离远近.计算出每一轴向上的差值,求平方之后再相加,最后对总和取平方根. # -*- coding: UTF-8 -*- #一个涉及影评者及其对几部影片评分情况的字典 critics={'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5, 'Just My Luck': 3.0, 'Superman Returns'

初学数据挖掘——相似性度量

好久没有写这个了.也就是在去年到今年这个时间段里,同时决定好几件事情.第一:考研.第二:以后方向就是大数据或者是叫数据挖掘.这两件事当然是有联系的,第一件事就是考研考到北京,接着研究生的方向就是数据挖掘了吧.在一边准备考研的同时,还必须得一边准备着数据挖掘方面的知识.无奈本科前三年这方面接触得极少,只好利用现在的时间来恶补了. 不久前买了一边<集体智慧编程>,开篇即开始讲算法,或者是整本书都是在讲算法,而第一个算法就是——相似度度量.这个在现在用得非常多,在QQ音乐等音乐播放器上有类似“猜你喜

协同过滤介绍和简单推荐系统的实现

本文引自http://blog.csdn.net/database_zbye/article/details/8664516 本文介绍推荐系统.协同过滤思想,两种基本的相似度衡量,并用python实现.最后就MovieLens数据集上作出简单的推荐. 一.相关知识 (1)推荐系统 如今,推荐系统已经在多方面得到应用,例如淘宝.当当.亚马逊等网站的商品推荐.而个性化推荐系统则是通过发掘用户的兴趣爱好,作出针对性的推荐.个性化推荐的方法较多,最常用的是协同过滤方法,而本文主要讲的也是基于协同过滤的个

《集体智慧编程》学习笔记 第三章

from math import sqrt from PIL import Image, ImageDraw import random def readfile(filename): with open(filename) as f: lines = [line for line in f] colnames = lines[0].strip().split('\t')[1:] rownames = [] data = [] for line in lines[1:]: p = line.st

集体智慧编程_第二章(提供推荐)_1

前言:最近正在拜读Toby Segaran先生写的集体智慧编程,首先感谢Toby Segaran先生将知识以书本的方式传播给大家,同时也感谢莫映和王开福先生对此书的翻译,谢谢各位的不辞辛苦.首先在写随笔之前,跟各位分享一下我的编程环境:win7系统,python版本是2.7.10,开发环境我选择的是pycharm程序.本书的第一章为集体智慧导言,主要介绍的何为集体智慧和机器学习的相关概念和其局限性,以及与机器学习相关的例子和应用场景.下面开始机器学习第二章--提供推荐的相关内容. 本章主要内容:

推荐——基于python

资料来源: <集体智慧编程>&网络 一.推荐系统 概述 定义 维基百科定义: 推荐系统属于资讯过滤的一种应用. 推荐系统能够将可能受喜好的资讯或实物(例如:电影.电视节目.音乐.书籍.新闻.图片.网页)推荐给使用者. 形成过程 随着互联网的发展,人们正处于一个信息爆炸的时代.相比于过去的信息匮乏,面对现阶段海量的信息数据,对信息的筛选和过滤成为了衡量一个系统好坏的重要指标.一个具有良好用户体验的系统,会将海量信息进行筛选.过滤,将用户最关注最感兴趣的信息展现在用户面前.这大大增加了系统