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安装需要的相关模块即可. 相关文 ...
最新文章
- 原始数据极速上传NCBI SRA教程
- 【nginx】从主页搭建看nginx常用配置
- 【学习笔记】吴恩达机器学习 WEEK1
- SELECT COUNT语句
- volatile 和 synchronized的区别
- Java 数据类型内存分析
- c#和java_C#和Java接口对比
- c++ gdb 绑定源码_2020重学Go系列:30. 非常详细的 Go 语言 GDB 调试指南
- Google宣布支持Vulkan作为Android的底层图形API
- 屏幕释放第八章 Libgdx输入处理(3)输入设备
- OC-内存管理的一些要点
- 5千万个密码的密码字典全家桶
- 初级软考程序员科目一考什么内容?
- 计算机常用算法程序设计案例教程,计算机常用算法与程序设计案例教程
- android的sd卡分区,AndroidSD卡做磁盘分区图文教程
- SugarCRM源码分析之loadFileMap
- shell脚本 插队
- Python正则表达式用法详解
- 方差分析-单因素方差分析示例 (Between Subjects)
- 2022-2028全球与中国无线工作灯市场现状及未来发展趋势