python相关性分析_Python:相关性分析
一、相关关系:相关分析与回归分析在实际应用中有密切关系。然而在回归分析中,所关心的是一个随机变量Y对另一个(或一组)随机变量X的依赖关系的函数形式。而在相关分析中 ,所讨论的变量的地位一样,分析侧重于随机变量之间的种种相关特征。例如,以X、Y分别记小学生的数学与语文成绩,感兴趣的是二者的关系如何,而不在于由X去预测Y。
确定相关关系的存在,相关关系呈现的形态和方向,相关关系的密切程度。其主要方法是绘制相关图表和计算相关系数。
二、代码案例
创建一个具有相关关系的数据集:
from collections import OrderedDict
import pandas as pd
#数据集
examDict = {
'学习时间':[0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,
2.50,2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50],
'分数':[10,22,13,43,20,22,33,50,62,48,55,75,62,73,81,76,64,82,90,93]
}
examOrderDict = OrderedDict(examDict)
examDf = pd.DataFrame(examOrderDict)
#查看前五行
examDf.head()
画出散点图,直观分析学习时间与分数之间的相关性
exam_X = examDf.loc[:,'学习时间']
exam_Y = examDf.loc[:,'分数']
# 绘制散点图
import matplotlib.pyplot as plt
#散点图
plt.scatter(exam_X,exam_Y,color='b',label='exam data')
#添加图标标签
plt.xlabel("hours")
plt.ylabel("score")
#画图
plt.show()
可以看出两者之间是呈现正相关关系的,分数会随着学习时间的变大而增加。
那么两者之间的相关性到底有多强呢?我们引入相关系数来衡量
corrDf = examDf.corr()
corrDf
此图为相关系数矩阵。相关系数矩阵用于表示两种以上数据之间的相关系数。相关系数矩阵的对角线值为1,因为自己与自己的相关系数是1。比如上图中行名“学习时间”和列名“学习时间”的相关系数值为1。对角线两侧对应的值是一样的,学习时间和分数的相关系数为0.92,与分数和学习时间的相关系数值是一样的。
所以,以后再看到相关性矩阵时,只需看对角线一边的值就可以了。
那么学习时间与分数的相关系数0.92表示什么意义呢?
1.这个值大于0.6,表示高度正相关,也就是说“学习时间”与“成绩”有很高的相关关系
2.这个值大于0,表示正相关,也就是“学习时间”越大,“成绩”也就越高
总结
相关分析就是得到相关系数,通过相关系数来衡量两个变量的相关程度。
通常,在做相关分析的时候,我们会在散点图上给出相关系数,这么做的好处是:
通过散点图和相关系数,我们知道,学习时间和成绩有高度正相关关系,也就是说,想要获得更高的成绩我们就需要付出更多的学习时间。
python相关性分析_Python:相关性分析相关推荐
- python性能差_Python 性能分析大全
虽然运行速度慢是 Python 与生俱来的特点,大多数时候我们用 Python 就意味着放弃对性能的追求.但是,就算是用纯 Python 完成同一个任务,老手写出来的代码可能会比菜鸟写的代码块几倍,甚 ...
- python数据获取与文本分析_python文本分析之处理和理解文本
前言: 在进行自然语言的建模(NLP)时,我们通常难以处理文字类型的数据,因此在常见的机器学习项目中,数据的格式是结构化的,就算在视觉处理的时候也是一个矩阵或者高维张量的形式.那么文字类型的数据我们应 ...
- 如何用python进行相关性分析_Python 相关性分析 显著性检验
Pandas中有pandas.DataFrame.corr和pandas.Series.corr两个方法进行相关性的计算,第一个针对整个dataframe数据返回一个矩阵,第二个针对不同的column ...
- python代码性能分析_Python 性能分析入门指南
虽然并非你编写的每个 Python 程序都要求一个严格的性能分析,但是让人放心的是,当问题发生的时候,Python 生态圈有各种各样的工具可以处理这类问题. 分析程序的性能可以归结为回答四个基本问题: ...
- python代码覆盖率测试_Python代码覆盖率分析工具----Coverage
本文来自Tynam Yang投稿 简介 在测试中,为了度量产品质量,代码覆盖率被作为一种测试结果的评判依据,在Python代码中用来分析代码覆盖率的工具当属Coverage.代码覆盖率是由特定的测试套 ...
- python代码覆盖率工具_Python代码覆盖率分析工具Coverage
简介 在测试中,为了度量产品质量,代码覆盖率被作为一种测试结果的评判依据,在Python代码中用来分析代码覆盖率的工具当属Coverage.代码覆盖率是由特定的测试套件覆盖被测源代码的程度来度量,Co ...
- 哪些模块可用于python性能分析_python性能分析之cProfile模块
cProfile是标准库内建的分析工具的其中一个,另外两个是hotshot和profile #-s cumulative -s cumulative开关告诉cProfile对每个函数累计花费的时间进行 ...
- python 做表格分析_Python 处理分析 128 张 Excel 表格竟不到3秒?| 附数据集
原标题:Python 处理分析 128 张 Excel 表格竟不到3秒?| 附数据集 有不少旁友想要了解怎么用Python提升处理数据的效率,或者说怎么用Python自动处理多张Excel表格,于是乎 ...
- python 涨停统计_python涨停分析 -股票量化
关键词:涨停分析, 量化 开发环境 编程语言: Python 3.6 必要包:tushare, pandas Tushare Tushare(www.tushare.org/)是一个免费.开源的pyt ...
- python微信好友分析_Python简单分析微信好友
开发工具 Python版本:3.6.4 相关模块: itchat模块: pandas模块: pyecharts模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 相关文 ...
最新文章
- 亿级商城计价中心 - 从容应对复杂场景价格计算
- HJ10 字符个数统计
- 【Spring学习】Spring JdbcTemplate之五类方法总结
- 安卓ps2模拟器_安卓PSP模拟器评测:合金装备 和平步行者
- 你知道source map如何帮你定位源码么?
- 单层神经网络线性回归_单层神经网络| 使用Python的线性代数
- [转载] numpy.base_repr 方法解释
- 全球四大互联网公司最大的敌人是谁
- sklearn之PCA(主成分分析)
- pdf复制文字时对于回车的处理
- yaahp使用教程_yaahp(yaahp教程使用视频)
- Win11到底意味着什么
- Simscape/Fluids液压元件 -- Pressure Reducing Valve(减压阀)
- C语言-打印菱形三角形等图形
- 李宏毅2022机器学习hw5
- 用Matlab的FDAtool生成IIR滤波器参数
- [论文阅读] Facial Expression Recognition Using Residual Masking Network
- P2135 方块消除
- QT(1)- QString
- 10大关键词解读中国互联网五年间创新飞跃在哪里