精华内容
下载资源
问答
  • 通过两组统计数据计算而得的协方差可以评估这两组统计数据的相似程度. 样本: A = [a1, a2, a3 ... an] B = [b1, b2, b3 ... bn] 求均值: ave_A = np.mean(A) ave_B = np.mean(B) 求离差: dev_A = [a1, a2, a3 .. ...

    本文所用文件的百度云链接:

    链接:https://pan.baidu.com/s/15-qbrbtRs4frup24Y1i5og 
    提取码:pm2c 
    

    协方差、相关矩阵、相关系数

    通过两组统计数据计算而得的协方差可以评估这两组统计数据的相似程度.

    样本:

    A = [a1, a2, a3 ... an]
    B = [b1, b2, b3 ... bn]
    

    求均值:

    ave_A = np.mean(A)
    ave_B = np.mean(B)
    

    求离差:

    dev_A = [a1, a2, a3 .. an] - ave_A
    dev_B = [b1, b2, b3 .. bn] - ave_B
    

    协方差:

    cov_ab = np.mean(dev_A * dev_B)
    cov_ba = np.mean(dev_B * dev_A)
    

    协方差可以简单的反应两组统计样本的相关性. 协方差值为正, 则为正相关; 若值为负, 则为负相关. 绝对值越大相关性越强.

    案例: 统计两只股票的相关程度. vale.csv bhp.csv

    # 计算两组数据的协方差
    vale_mean = np.mean(vale_closing_prices)
    bhp_mean = np.mean(bhp_closing_prices)
    dev_vale = vale_closing_prices - vale_mean
    dev_bhp = bhp_closing_prices - bhp_mean
    cov = np.mean(dev_vale * dev_bhp)
    print(cov)
    

    相关系数

    相关系数是一个[-1, 1]之间的数. 若相关系数越接近于1, 则表示两组样本越正相关. 若相关系数越接近于-1, 则表示两组样本越负相关. 若相关系数越接近于0, 则表示两组样本没啥大关系.

    相关系数的计算方式 (协方差除以两组样本标准差之积):

    cov_ab / (std_a * std_b)  a对于b的相关系数
    cov_ba / (std_b * std_a)  b对于a的相关系数
    

    案例:

    # 计算两支股票的相关系数
    k = cov / (np.std(vale_closing_prices) * \
    			np.std(bhp_closing_prices))
    print('K:', k)
    

    相关矩阵

    # 获取相关矩阵, 该矩阵中包含相关系数
    # 所以,当需要获取两组数据的相关系数时,
    # 可以通过该矩阵得到相关系数的值.
    m = np.corrcoef(vale_prices, bhp_prices)
    
    # 获取相关矩阵的分子矩阵 (协方差矩阵)
    cm = np.cov(a, b)
    
    """
    协方差示例
    """
    import numpy as np
    import matplotlib.pyplot as mp
    import datetime as dt
    import matplotlib.dates as md
    
    # 当numpy解析文本时,将会把第一列中的每个字符串
    # 都传给函数进行处理, 将处理完毕后的返回值
    # 转成需要的M8[D]类型
    def dmy2ymd(dmy):
    	dmy = str(dmy, encoding='utf-8')
    	# 把dmy转成日期对象
    	d = dt.datetime.strptime(dmy, '%d-%m-%Y')
    	t = d.date()
    	s = t.strftime('%Y-%m-%d')
    	return s
    
    # 加载文件
    dates, vale_closing_prices = np.loadtxt(
    	'../da_data/vale.csv', delimiter=',', 
    	usecols=(1,6), unpack=True, 
    	dtype='M8[D], f8' , 
    	converters={1:dmy2ymd})
    
    bhp_closing_prices = np.loadtxt(
    	'../da_data/bhp.csv', delimiter=',', 
    	usecols=(6,), unpack=True)
    
    
    # 绘制收盘价
    mp.figure('COV DEMO', facecolor='lightgray')
    mp.title('COV DEMO', fontsize=18)
    mp.xlabel('Date', fontsize=14)
    mp.ylabel('Price', fontsize=14)
    mp.tick_params(labelsize=10)
    mp.grid(linestyle=':')
    # 设置主刻度定位器为每周一
    ax = mp.gca()
    ax.xaxis.set_major_locator(
    	md.WeekdayLocator(byweekday=md.MO))
    ax.xaxis.set_major_formatter(
    	md.DateFormatter('%Y/%m/%d'))
    
    # 把M8[D]转为matplotlib识别的date类型
    dates = dates.astype(md.datetime.datetime)
    mp.plot(dates, vale_closing_prices, 
    	color='dodgerblue', linewidth=1,
    	linestyle='--', label='vale prices')
    mp.plot(dates, bhp_closing_prices, 
    	color='orangered', linewidth=1,
    	linestyle='--', label='bhp prices')
    
    # 计算两组数据的协方差
    vale_mean = np.mean(vale_closing_prices)
    bhp_mean = np.mean(bhp_closing_prices)
    dev_vale = vale_closing_prices - vale_mean
    dev_bhp = bhp_closing_prices - bhp_mean
    cov = np.mean(dev_vale * dev_bhp)
    print('COV:', cov)
    
    # 计算两支股票的相关系数
    k = cov / (np.std(vale_closing_prices) * \
    			np.std(bhp_closing_prices))
    print('K:', k)
    
    # 相关矩阵
    m = np.corrcoef(vale_closing_prices, 
    				bhp_closing_prices)
    print(m)
    print(np.cov(vale_closing_prices, bhp_closing_prices))
    
    mp.legend()
    # 自动格式化x轴的日期输出
    mp.gcf().autofmt_xdate()
    mp.show()
    

    在这里插入图片描述

    展开全文
  • 常用的统计分析方法-相似度计算

    千次阅读 2019-06-28 22:00:56
    基于欧几里得距离的相似度计算 欧几里得相似度计算是一种基于用户之间直线距离的计算公式。它用来表示三维空间中两个点的真实距离。 两个物品或者用户距离越大,可以看到其相似度越小;距离越小则相似度越大。 ...

     

    基于欧几里得距离的相似度计算

    欧几里得相似度计算是一种基于用户之间直线距离的计算公式。它用来表示三维空间中两个点的真实距离。

    d=\sqrt{(x1-x2)^{2}+(y1-y2)^{2})}

    两个物品或者用户距离越大,可以看到其相似度越小;距离越小则相似度越大。

    第二种:基于余弦角度的相似度计算

    如果两个目标较为相似,那么线段所形成的夹角越小。如果两个用户不相近,那么两条射线所形成的夹角越大。可以用夹角的大小反应目标之间的相似性。

    两者的区别:欧几里得相似度用以表现不同目标的绝对差异性,从而分析目标之间的相似度与差异情况。而余弦相似度更多是对目标从方向趋势上区分,对特定坐标数字不敏感。

     

     

    展开全文
  • 海量数据相似度计算

    2018-06-30 10:29:15
    针对海量的文本资源,可以有效的进行快速计算。满足动态计算需求
  • Excel对比两列数据相似度函数

    千次阅读 2020-04-13 17:26:06
    一列数据找出相似度高的归为一类,首先进行排序,将相似度高的数据紧挨着出现,然后将数据分别向上和向下调整一位,主看中间列,这样就可以实现同一列数据相似度分析了,只要D列或者E列有一个相似度高即可判断B列...

    一列数据找出相似度高的归为一类,首先进行排序,将相似度高的数据紧挨着出现,然后将数据分别向上和向下调整一位,主看中间列,这样就可以实现同一列数据相似度分析了,只要D列或者E列有一个相似度高即可判断B列数据存在另一个相似度高的数据,可分为一类数据。

    对比A3单元格和B3单元格相似程度并返回相似度百分比。
    =GetMatchingDegree(A3,B3)
    在这里插入图片描述

    展开全文
  • 相似度计算方法

    2015-07-06 16:49:56
    计算两组数据之间的距离,偏好越相似的人其距离就越短。。。为了处理方便,需要一个函数来对偏好越相近的情况给出越大的值(0~1之间)。 皮尔逊相关系数相关度评价 > 皮尔逊相关系数是判断两组叔叔与某一直线...
  • 如果两张图像的直方图一样,或者有极高的相似度,那么在一定程度上,可以认为这两幅图是一样的,这就是直方图比较的应用之一。通过默认的欧氏距离来比较直方图的相似性大小,值越小,两个图像的直方图越相似。 i1...
  • 数据预处理——相似度计算

    千次阅读 2020-02-03 12:08:04
    相似度计算在数据挖掘和推荐系统中有着广泛的应用场景。 1.在协同过滤算法中,可以利用相似度计算用户之间或物品之间的相似度。 2.在利用k-means进行聚类时,利用相似度计算公式计算个体到簇类中心的距离,进而判断...
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">... <...
  • 计算两组标签/关键词 相似度算法

    万次阅读 2016-02-05 11:03:40
    最近想做一个基于内容的新闻简单推荐系统,其中的一个推荐权重就是两篇新闻标签的相似度,由于没什么数据挖掘和机器学习经验,自己一直在摸索,感觉自己还没有入门,先记录下来,慢慢学习。应用案例比较现在有两篇...
  • 评定数据之间的相似度指标----距离

    千次阅读 2021-02-02 13:12:07
    检测点到目标的的距离通常作为算法的分类或判别依据,被用作评定数据之间的相似度指标 提示:以下是本篇文章正文内容,下面案例可供参考 一、基础距离 假设两点如下图所示: 曼哈顿距离(Manhattan) 欧几里得...
  • 当P(x)和Q(x)的相似度越高,KS散度越小 KS散度主要有两个性质: (1)不对称性 不对称性尽管KL散度从直观上是个度量或距离函数,但它并不是一个真正的度量或者距离,因为它不具有对称性,即D(P||Q)!=D(Q||P) (2...
  • 编辑距离算法虽然可以计算两组标签的相似度,但是会有一个很大的问题,就是标签中的每个关键词权重是不一样的,它不能带权重计算两组标签的相似度,可以通过向量空间模型计算两组标签的空间夹角的余弦值。...
  • 计算数组的相似度

    千次阅读 2018-11-20 21:54:39
    Problem G: 计算数组的相似度 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 1955 Solved: 584 [Submit][Status][Web Board] Description Jaccard系数主要用于计算个体间的相似度。对于两个集合A、B,定义其...
  • 聚类分析基础-相似度计算

    千次阅读 2020-07-10 18:09:15
    对于二元变量,我们通常比较为1的数据占比比例,对于为0的一般不比较相似性,因为没有目标特征的样本其差异无法判断。 2;标量 对只有大小,没有方向的两个样本,用欧几里何距离:e.g:y=(1,4,6),x=(3,5,120)e.g:y=(1...
  • 我们设定两组数据量差不多都是30w的数据的dat文件,地址(string)为dataAPath,dataBPath。通过地址读取数据byte[] 代码如下: // 通过地址读取数据 public byte[] readFile(String fileAddress){ InputStream ...
  • 该脚本将从免疫数据库中读取数据并计算不同特征样本之间的余弦相似度。 用法 -d name of database -s name of subject -f field of the columns used to separate data -t size threshold, lower bound clone size, ...
  • 将上面两个示例数据代入公式,可得两者的欧氏距离为:    除欧氏距离外,常用作度量标量相异度的还有曼哈顿距离和闵可夫斯基距离,两者定义如下:    欧氏距离和曼哈顿距离可以看做是闵可夫斯基距离...
  • 最近几个月一直在做内容咨询平台,然后有人提议用cos公式计算用户偏好度,我就感觉有点疑惑,这个公式不是计算相似度的吗?拿这个公式怎么能突出用户的偏好?最多反应A、B两个用户都看这篇文章,但不能体现谁更加...
  • 如题,这两组数据的对应位置无关,属于统计学的范畴。譬如说,A、B两组数据中,A组数据符合正态分布,那么求B组数据属于A组数据的可能性?这个应该用什么方法呢?
  • Python相似度评估

    千次阅读 2018-10-18 16:39:21
    在评估相似度的时候,经常会用到“距离”: 1. 在计算图片的相似度时,我自己用到过余弦距离: 有没有搞错,又不是学几何,怎么扯到夹角余弦了?各位看官稍安勿躁。几何中夹角余弦可用来衡量两个向量方向的差异,...
  • 模型解读为,在每个分类中跟实际值最吻合的为模型提升度比较好,尤其在第一组为新模型相对原模型认为纯保费最低的组,最后一组为新模型相对原模型认为纯保费最高的组,在这里可以看出,在这两组中新模型更切合实际值...
  • 欧式距离 ...#欧几里德距离计算两个数值的相似度 if __name__=="__main__": import numpy as np x=np.array([13,14,14,15,15]) y=np.array([25,26,26,27,27]) sum_XYSimlar=0 for i in r...
  • 我寻找项目的重点在于挖掘海量用户的需求,再去做自动化归类,数据量越大,归类越智能,找到的需求就越清晰。 分为两个方向挖掘:广泛和垂直,本篇文章重点讲解“广泛”这一个方向。接下来我一步步的演示给大家,我...
  • 5118数据量大,而百度的搜索数据无论是词还是搜索量都是官方的,很权威,我们的目的是尽可能的收集到足够多足够有代表性的词库: 关键词规划师 网页版使用起来比较麻烦,我们可以无视上述的方式,推荐使用这个工具:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,766
精华内容 1,106
关键字:

比较两组数据相似度