如何用python进行相关性分析

Python014

如何用python进行相关性分析,第1张

用python进行相关性分析应该主要根据数据的内容进行分析,如果是带标注的数据可以通过模型训练的方式来获取进行分析,找出对目标结果有最大影响的因素。如果没有标注的话,可以用python构建网络知识图谱手动分析,或者自己构建数据表格,人为观察数据分布图找到其中规律。一般来说相关性分析,主要依靠人为的观察,并用数据和模型来辅助计算,从而获得相对准确的结果。

方法/步骤

第一步我们首先需要知道相关性主要有两个方向,一个是正方向一个是负方向,相关性系数是衡量两个变量之间影响程度,如下图所示:

请点击输入图片描述

第二步下面通过公式计算两个变量之间相关性系数,代码如下:

import numpy

import pandas

X = [52,19,7,33,2]

Y = [162,61,22,100,6]

#公式计算#均值XMean = numpy.mean(X)

YMean = numpy.mean(Y)

#标准差XSD = numpy.std(X)

YSD = numpy.std(Y)

#z分数ZX = (X-XMean)/XSD

ZY = (Y-YMean)/YSD#相关系数

r = numpy.sum(ZX*ZY)/(len(X))

print(r)

请点击输入图片描述

第三步运行程序,可以得到相关性系数r ,r的值是0.999674032661831,相关性非常高,如下图所示:

请点击输入图片描述

第四步我们也可以通过numpy的corrcoef方法计算相关性系数,输入代码

t=numpy.corrcoef(X,Y)

print(t)

可以看到X与Y和Y与X的相关性系数,如下图所示:

请点击输入图片描述

请点击输入图片描述

第五步我们也可以通过pandas的corr方法计算相关性系数,代码

data = pandas.DataFrame({'X':X,'Y':Y})

t2=data.corr()

print(t2)

得到了相同的结果,如下图所示:

请点击输入图片描述

请点击输入图片描述

1. 运算优先级

括号、指数、乘、除、加、减

2

如果你使用了非 ASCII 字符而且碰到了编码错误,记得在最顶端加一行 # -- coding: utf-8 --

3. Python格式化字符

使用更多的格式化字符。例如 %r 就是是非常有用的一个,它的含义是“不管什么都打印出来”。

%s -- string

%% 百分号标记 #就是输出一个%

%c 字符及其ASCII码

%s 字符串

%d 有符号整数(十进制)

%u 无符号整数(十进制)

%o 无符号整数(八进制)

%x 无符号整数(十六进制)

%X 无符号整数(十六进制大写字符)

%e 浮点数字(科学计数法)

%E 浮点数字(科学计数法,用E代替e)

%f 浮点数字(用小数点符号)

%g 浮点数字(根据值的大小采用%e或%f)

%G 浮点数字(类似于%g)

%p 指针(用十六进制打印值的内存地址)

%n 存储输出字符的数量放进参数列表的下一个变量中

%c 转换成字符(ASCII 码值,或者长度为一的字符串)

%r 优先用repr()函数进行字符串转换(Python2.0新增)

%s 优先用str()函数进行字符串转换

%d / %i 转成有符号十进制数

%u 转成无符号十进制数

%o 转成无符号八进制数

%x / %X (Unsigned)转成无符号十六进制数(x / X 代表转换后的十六进制字符的大小写)

%e / %E 转成科学计数法(e / E控制输出e / E)

%f / %F 转成浮点数(小数部分自然截断)

%g / %G : %e和%f / %E和%F 的简写

%% 输出%

辅助符号 说明

* 定义宽度或者小数点精度

- 用做左对齐

+ 在正数前面显示加号(+)

<sp>在正数前面显示空格

# 在八进制数前面显示零(0),在十六进制前面显示“0x”或者“0X”(取决于用的是“x”还是“X”)

0 显示的数字前面填充“0”而不是默认的空格

m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)