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算 ...
最新文章
- 机器学习——聚类算法
- 【转载】浅析游戏引擎开发
- 学习一下spring-cloud-function中官方修复的一个问题
- Elastic-Job项目启动后,控制台一直报Cron表达式有误且Cron表达式与当前配置的表达式不一样
- 日本词汇的认识与理解
- python验证码识别——前处理
- 基于Yolov5目标检测的物体分类识别及定位(三) -- 训练、测试
- 关于wps公式编辑器的大括号里面空白很大
- ae插件form_四分钟了解全网最受欢迎的10大AE插件
- 一个完全免费的在线文字云网站
- python调整excel列宽_python - 有没有一种方法可以使用pandas.ExcelWriter自动调整Excel列的宽度? - 堆栈内存溢出...
- DLL加载: Debug版本正常加载,Release版本LoadLibrary加载失败,返回错误126
- 【829】【06 信息检索策略和方法】
- g6的minimap中的配置_Minimap 缩略图
- C语言推荐书籍从入门到进阶带你走上大牛之路(珍藏版)
- Lora技术- 码片/码元/数据速率以及空中时间计算
- java 时分秒加减_JAVA日期加减运算
- 普通话测试哪个软件准确吗,免费普通话测试软件哪个好_哪个app可以免费测普通话_普通话测试软件准不准...
- GE Fanuc触摸屏维修ES0611人机界面维修详解
- 为啥需要RPC,而不是简单的HTTP?