相关系数

PCA主成分分析

我是研究僧i 提交于 2019-12-28 00:23:34
PCA的流程: 代码参考: https://www.cnblogs.com/clnchanpin/p/7199713.html 协方差矩阵的计算 https://docs.scipy.org/doc/numpy/reference/generated/numpy.cov.html 思想: https://www.cnblogs.com/clnchanpin/p/7199713.html 求解协方差矩阵的特征值和特征向量 为什么PCA第一步是进行去掉数据中的平均值? 因为每列数据减去该列的平均值后才能进行协方差计算。 按照特征值的大小进行排序,用到了numpy 中argsort函数 https://blog.csdn.net/maoersong/article/details/21875705 这篇对numpy中的matrix 总结的很好 https://www.cnblogs.com/sumuncle/p/5760458.html 三、特征值和特征向量的应用实例 1、主成分分析(Principle Component Analysis, PCA) (1)方差、协方差、相关系数、协方差矩阵 方差: 协方差: , , **方差是衡量单变量的离散程度,协方差是衡量两个变量的相关程度(亲疏),协方差越大表明两个变量越相似(亲密),协方差越小表明两个变量之间相互独立的程度越大。 相关系数:

利用sklearn进行特征选择

浪尽此生 提交于 2019-12-21 09:02:19
3种特征选择 Filter 过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。 (先对数据集进行特征选择,然后再训练学习器) Wrapper 包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。 (给定学习器选择最有利于其性能、“量身定做”的特征子集) Embedded 嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。 (将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择) 特征选择的功能 ①减少特征数量、降维,使模型泛化能力更强,减少过拟合。 ②增强对特征和特征值之间的理解。 一、Filter 1、删除低方差特征 Removing features with low variance 假设某特征的特征值只有0和1,并且在所有输入样本中,95%的实例的该特征取值都是1,那就可以认为这个特征作用不大。如果100%都是1,那这个特征就没意义了,可以对其进行删除。 这种方法简单但不实用。 假设我们想要删除 超过80%的样本数都是0或都是1(假设是boolean features) 的所有特征,由于boolean features是bernoulli随机变量

推荐中相似度计算问题(选择与总结)

僤鯓⒐⒋嵵緔 提交于 2019-12-20 11:34:44
《Dataminingguide》书阅读,第二章 推荐系统入门 1、 曼哈顿距离 最简单的距离计算方式。在二维计算模型中,每个人都可以用(X,Y)的点来表示。例如(X1,Y1)来表示艾米,(X2,Y2)来表示另一位人,那么他们之间的曼哈顿距离就是: |X1-X2|+|Y1-Y2| 也就是x之差的绝对值加上y之差的绝对值。 曼哈顿距离的优点之一就是计算速度快,对于Facebook这样需要计算百万用户之间的相似度时就非常有利。 2、 欧几里得距离 还是用(X,Y)来表示一个人,那么两个人之间的距离就是: 在计算两个用户之间的相似度距离时,只取双方都评价过的商品。 曼哈顿距离和欧几里得距离在 数据完整 的情况下效果最好。 3、闵克夫斯基距离 可以将曼哈顿距离和欧几里得距离归纳成一个公式,这个公式称为闵可夫斯基距离: R值越大,单个维度的差值大小会对整体距离有更大的影响。 4、 皮尔逊相关系数 分数膨胀:例如用户对乐队的评分,可以发现每个用户的打分标准非常不同,A的4分相当于B的4分还是5分? 解决方法之一就是使用皮尔逊相关系数。 皮尔森相关系数用于衡量两个变量之间的相关性,它的值在-1到1之间,1表示完全吻合,-1表示完全相悖。 皮尔逊相关系数的计算公式是: 上面的公式除了看起来比较复杂,另一个问题是要获得计算结果必须对数据做多次便利,好在有另外一个公式,能够计算皮尔逊相关系数的近似值:

特征工程之距离相关系数( Distance correlation coefficient )

故事扮演 提交于 2019-12-18 02:23:36
距离相关系数: 线性关系可以通过pearson相关系数来描述,单调关系可以通过spearman或者kendall来描述,非线性如何描述,距离相关系数可以非线性相关性。 我们都知道,皮尔森关联系数只能描述数据键的线性相关性程度,对于非线性相关数据,皮尔森关联系数显然不适合的, 距离相关系数 恰恰能在很大程度上客服皮尔森相关系数的弱点。 比如:Pearson相关系数等于0,这两个变量并不一定就是独立的(有可能是非线性相关);但如果距离相关系数为0的话,那么就可以说这两个变量是独立的了。 距离相关系数的计算依赖于距离协方差和距离方差,首先我们先了解下距离协方差的定义,假设有n维(X,Y)统计样本。 首先计算包含的所有成对距离(即:数组间每行数据之间的范数距离) 为了防止我没有描述清楚,直接上代码: #生成一个3行2列的数组 X = np.random.randint(-100,100,(3,2)) 0.1 out:array([[ 4.8, 7.7], [-2.6, 6.8], [ 5.9, 9. ]]) Y = X**2 #取数据集的行 col = X.shape[0] #做成n n的零矩阵,用于盛放数据 a = np.zeros((col,col)) b = np.zeros((col,col)) A = np.zeros((col,col)) B = np.zeros((col

典型关联分析(CCA)原理总结

核能气质少年 提交于 2019-12-07 16:17:48
原文地址: https://www.cnblogs.com/pinard/p/6288716.html 典型关联分析(Canonical Correlation Analysis,以下简称CCA)是最常用的挖掘数据关联关系的算法之一。比如我们拿到两组数据,第一组是人身高和体重的数据,第二组是对应的跑步能力和跳远能力的数据。那么我们能不能说这两组数据是相关的呢?CCA可以帮助我们分析这个问题。 1. CCA概述     在数理统计里面,我们都知道相关系数这个概念。假设有两组一维的数据集X和Y,则相关系数 ρ ρ 的定义为: ρ ( X , Y ) = c o v ( X , Y ) D ( X )−−−−−√ D ( Y )−−−−−√ ρ(X,Y)=cov(X,Y)D(X)D(Y)     其中 c o v ( X , Y ) cov(X,Y) 是X和Y的协方差,而 D ( X ) , D ( Y ) D(X),D(Y) 分别是X和Y的方差。相关系数 ρ ρ 的取值为[-1,1],  ρ ρ 的绝对值越接近于1,则X和Y的线性相关性越高。越接近于0,则X和Y的线性相关性越低。     虽然相关系数可以很好的帮我们分析一维数据的相关性,但是对于高维数据就不能直接使用了。拿上面我们提到的,如果X是包括人身高和体重两个维度的数据,而Y是包括跑步能力和跳远能力两个维度的数据

典型关联分析(CCA)原理总结

不想你离开。 提交于 2019-12-07 16:16:52
原文地址: https://www.cnblogs.com/pinard/p/6288716.html 典型关联分析(Canonical Correlation Analysis,以下简称CCA)是最常用的挖掘数据关联关系的算法之一。比如我们拿到两组数据,第一组是人身高和体重的数据,第二组是对应的跑步能力和跳远能力的数据。那么我们能不能说这两组数据是相关的呢?CCA可以帮助我们分析这个问题。 1. CCA概述     在数理统计里面,我们都知道相关系数这个概念。假设有两组一维的数据集X和Y,则相关系数 ρ ρ 的定义为: ρ ( X , Y ) = c o v ( X , Y ) D ( X )−−−−−√ D ( Y )−−−−−√ ρ(X,Y)=cov(X,Y)D(X)D(Y)     其中 c o v ( X , Y ) cov(X,Y) 是X和Y的协方差,而 D ( X ) , D ( Y ) D(X),D(Y) 分别是X和Y的方差。相关系数 ρ ρ 的取值为[-1,1],  ρ ρ 的绝对值越接近于1,则X和Y的线性相关性越高。越接近于0,则X和Y的线性相关性越低。     虽然相关系数可以很好的帮我们分析一维数据的相关性,但是对于高维数据就不能直接使用了。拿上面我们提到的,如果X是包括人身高和体重两个维度的数据,而Y是包括跑步能力和跳远能力两个维度的数据

关于相关系数

♀尐吖头ヾ 提交于 2019-12-05 17:46:51
在回归方程中: 未标准话的系数表示的是自变量变化一个单位,因变量的变化程度。 标准化的系数表示自变量之间已经没有单位,回归系数可以直接比较大小了,而未标准化的系数则不能够比较大小。 上式中x与y的方差都是标量所以可以提进E()内。 可以看出相关系数r其实是自变量与因变量的Z分数之间的协方差 来源: https://www.cnblogs.com/zijidefengge/p/11938183.html

距离计算公式总结(转载)

前提是你 提交于 2019-12-05 11:47:55
计算推荐对象的内容特征和用户模型中兴趣特征二者之间的相似性是推荐算法中一个关键部分 ,相似性的度量可以通过计算距离来实现 在做很多研究问题时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。   本文的目的就是对常用的相似性度量作一个总结。 本文目录: 1. 欧氏距离 2. 曼哈顿距离 3. 切比雪夫距离 4. 闵可夫斯基距离 5. 标准化欧氏距离 6. 马氏距离 7. 夹角余弦 8. 汉明距离 9. 杰卡德距离 & 杰卡德相似系数 10. 相关系数 & 相关距离 11. 信息熵 1. 欧氏距离(Euclidean Distance) 欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式。 (1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离: (2)三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离: (3)两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的欧氏距离:   也可以用表示成向量运算的形式: (4)Matlab计算欧氏距离 Matlab计算距离主要使用pdist函数。若X是一个M×N的矩阵,则pdist(X

MATLAB实例:求相关系数、绘制热图并找到强相关对

跟風遠走 提交于 2019-12-05 00:39:19
MATLAB实例:求相关系数、绘制热图并找到强相关对 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 用MATLAB编程,求给定数据不同维度之间的相关系数,并绘制热图,保存图片,找到强相关的维度对。 数据集来自UCI中的wine: https://archive.ics.uci.edu/ml/datasets/Wine 1. demo.m clear clc etea=0.8; %阈值 % 加载数据 data_load=dlmread('E:\scanplot\wine.data'); data=data_load(:,2:14); [N, D]=size(data); % 求维度之间的相关系数 rho = corr(data, 'type','pearson'); % 绘制热图 string_name={'Alcohol','Malic acid','Ash','Alcalinity of ash','Magnesium','Total phenols','Flavanoids','Nonflavanoid phenols','Proanthocyanins','Color intensity','Hue','Diluted wines','Proline'}; xvalues = string_name; yvalues =