python质量数据关联性分析_相关性检验之Pearson系数及python实现
相关性检验之Pearson系数及python实现
一、Pearson相关系数
皮尔森相关系数是用来反应俩变量之间相似程度的统计量,在机器学习中可以用来计算特征与类别间的相似度,即可判断所提取到的特征和类别是正相关、负相关还是没有相关程度。
Pearson系数的取值范围为[-1,1],当值为负时,为负相关,当值为正时,为正相关,绝对值越大,则正/负相关的程度越大。若数据无重复值,且两个变量完全单调相关时,spearman相关系数为+1或-1。当两个变量独立时相关系统为0,但反之不成立
Pearson相关系数的计算方法有三种形式,如下列公式所示
其中X,Y代表两个特征数组, , 为X,Y特征的平均值。对于第一种形式的Pearson表示,可以看做是两个随机变量中得到的样本集向量之间夹角的cosine函数。
二、Python代码实现
在这里主要实现了第一种Pearson形式的代码,代码分为三个模块,第一个模块的功能是来获取两个向量的平均值;第二个模块的功能实现的是求两个向量间的pearson系数,返回pearson系数;最后一个模块是来求取所有特征和类的相似程度
[python]view plaincopy
#计算特征和类的平均值
ef calcMean(x,y):
sum_x = sum(x)
sum_y = sum(y)
n = len(x)
x_mean = float(sum_x+0.0)/n
y_mean = float(sum_y+0.0)/n
return x_mean,y_mean
[python]view plaincopy
#计算Pearson系数
def calcPearson(x,y):
x_mean,y_mean = calcMean(x,y) #计算x,y向量平均值
n = len(x)
sumTop = 0.0
sumBottom = 0.0
x_pow = 0.0
y_pow = 0.0
for i in range(n):
sumTop += (x[i]-x_mean)*(y[i]-y_mean)
for i in range(n):
x_pow += math.pow(x[i]-x_mean,2)
for i in range(n):
y_pow += math.pow(y[i]-y_mean,2)
sumBottom = math.sqrt(x_pow*y_pow)
p = sumTop/sumBottom
return p
[python]view plaincopy
[python]view plaincopy
#计算每个特征的spearman系数,返回数组
def calcAttribute(dataSet):
prr = []
n,m = shape(dataSet) #获取数据集行数和列数
x = [0] * n #初始化特征x和类别y向量
y = [0] * n
for i in range(n): #得到类向量
y[i] = dataSet[i][m-1]
for j in range(m-1): #获取每个特征的向量,并计算Pearson系数,存入到列表中
for k in range(n):
x[k] = dataSet[k][j]
prr.append(calcSpearman(x,y))
return prr
三、样例演示
这里有一个1162*22的数据集,如下图所示,前21列表示特征,第22列表示类别。该数据集是一个二分类问题。
对于每个特征,调用上述函数,得出的每个特征的pearson系数如下图所示。根据得到的结果,对于特征选择就有一定的依据啦~
完 谢谢观看
python质量数据关联性分析_相关性检验之Pearson系数及python实现相关推荐
- 相关性检验之Pearson系数及python实现
一.Pearson相关系数 皮尔森相关系数是用来反应俩变量之间相似程度的统计量,在机器学习中可以用来计算特征与类别间的相似度,即可判断所提取到的特征和类别是正相关.负相关还是没有相关程度. Pears ...
- python爬取岗位数据并分析_区块链岗位薪资高,Python爬取300个区块链岗位分析,龙虎榜出炉...
原创: 菜鸟哥 菜鸟学Python 最近区块链技术再次被大家热议,既然区块链受到如此高的关注,我们就不妨去采集数据分析看看,目前所有与区块链相关的招聘信息吧. 1数据的爬取 首先是对于数据的爬取,由于 ...
- python金融量化书籍_超强干货 | Python金融数据量化分析教程+机器学习电子书
如今Python语言的学习已经上升到了国家战略的层面上.Python语言是人工智能的基础语言,国家相关教育部门对于"人工智能普及"格外重视,不仅将Python列入到小学.中学和高中 ...
- [转载] Python大数据文本分析及应用
参考链接: 使用Python的SQL 3(处理大数据) 实践课题报告: 大数据文本分析与应用 学 校:xxx 学 院:大数据与智能工程学院 专 业:信息工程(数据科学与大数据技术) 年 级:2017级 ...
- Python基金数据实战分析:偏债混合基金篇
Python基金数据实战分析:偏债混合基金篇 如何从众多的基金中选择适合自己的 需求场景 从基金网站获取基金代码 先整体看一下基金情况 获取所有混合C基金的历史净值数据 分析混合C基金 画线图予以核实 ...
- 如何对质量数据进行分析?
请参考下表对质量数据进行分析. 常见质量管理手段的定量分析方法示例 横向对比 纵向对比 性能基线 性能模型 质量保证过程 不同NC问题类型的分布分析 不同类型项目的NC问题类型分布对比分析 各个检查项 ...
- python大数据可视化分析淘宝商品,开专卖店不行啊
python大数据可视化分析淘宝商品,开专卖店不行啊 现如今大数据分析异常火爆,如何正确分析数据,并且抓住数据特点,获得不为人知的秘密?今天沉默带你用python爬虫,爬取淘宝网站进行淘宝商品大数据分 ...
- 数据探索性分析_探索性数据分析
数据探索性分析 When we hear about Data science or Analytics , the first thing that comes to our mind is Mod ...
- 数据挖掘——如何利用Python实现产品关联性分析apriori算法篇
在实际业务场景中,我们常常会探讨到产品的关联性分析,本篇文章将会介绍一下如何在Python环境下如何利用apriori算法进行数据分析. 1.准备工作 如果需要在Python环境下实现apriori算 ...
最新文章
- php查找函数所在文件
- Redux 学习笔记
- Exynos4412 Uboot 移植(三)—— Uboot添加自定义命令
- python 浏览器自动化 弹窗控制_Selenium2+Python自动化-处理浏览器弹窗(转载)
- 【金融】【python】处理表格(*.xlsx)形式的期货数据
- 非常简单,让log4j输出mybatis的sql语句和执行结果
- C#基础知识回顾-- 反射(1)
- 17、生命周期-BeanPostProcessor在Spring底层的使用
- 峨眉山三日游攻略:带一个伤心的女纸,去峨眉寻一点清净
- CHAPTER 10 Formal Grammars of English
- Mac 配置远程服务器 - 免密登陆
- 卡通人物数据集下载地址
- java.lang.reflect.AccessibleObject
- Värde任命新合伙人和高级董事总经理
- mysql如何查看事务日记_详解 Mysql 事务和Mysql 日志
- Elasticsearch X-pack证书过期解决方法
- 制造业企业防范勒索病毒攻击的一些建议措施
- matlab用正弦做随机信号程序,(MATLAB辅助现代工程数字信号处理)第6章平稳随机信号处理与分析.ppt...
- 分布式事务简介(seata)
- arduino红外对管
热门文章
- 对象可以创建数组吗_“跟相亲对象这样聊天可以吗?在线等挺急的!”哈哈哈哈……太逗了...
- 基于Matlab火灾图像检测系统设计
- C语言的函数实现模板化程序
- MCN的网红孵化毁了短视频行业
- Hibernate - 单向一对多关联关系映射
- c# 自动安装X509证书\windows安装X509证书\端口绑定ssl\服务端开启ssl
- 什么事webshell?
- 为小程序端添加一个session机制
- python的金融计算器_基于python实现的计算器
- 《动物庄园》的乌托邦