数据预处理_数据相关性分析

2020-04-22  本文已影响0人  南有妖尾

相关性分析

1、相关性分析是指对多个具备相关关系的变量进行分析,从而衡量变量间的相关程度或密切程度

2、相关性可以应用到所有数据的分析过程中,任何事物之间都是存在一定的联系

3、为了更准确描述变量之间的相关程度,通过计数相关系数来表示,在二元变量的相关分析中用相关系数(R)表示,而常用的有Pearson相关系数(皮尔逊相关系数) 和Spearman秩相关系数(斯皮尔曼相关系数)

# 设置cell多行输出

from IPython.core.interactiveshell import InteractiveShell 
InteractiveShell.ast_node_interactivity = 'all' #默认为'last'

# 导入相关库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import os
import warnings

warnings.filterwarnings('ignore')
os.chdir(r'E:\python_learn\data\python_book_v2\chapter3')
file_name='data5.txt'
data = pd.read_table(file_name,names=list('ABCDEFGHIJ'))
data.head()

Pearson相关系数 → data.corr(method='pearson')

→pandas的corr()函数可以直接给出数据字段的相关系数矩阵,返各类型之间的相关系数DataFrame表格。

# 此处假设数据服从正态分布

# pearson相关系数矩阵
pearson = round(data.corr(method='pearson',min_periods=1),2)   # method默认pearson
pearson
# 用色彩映射表现返回的相关性矩阵的相关性强弱
pearson_abs = np.abs(pearson)
pearson_abs.style.background_gradient(cmap='Blues',axis =1,low=0,high=1)
# cmap:颜色
# axis:映射参考,0为行,1以列
# 用热力图可视化
fig,ax = plt.subplots(1,1,figsize=(8,6))
hot_img = ax.matshow(np.abs(pearson),vmin=0,vmax=1,cmap='Greens')
# vmin=0,vmax=1  设置值域从0-1
fig.colorbar(hot_img)  # 生成颜色渐变条(右侧)
ax.set_title('热力图-Pearson相关性矩阵',fontsize=14,pad=12)
ax.set_xticks(range(0,10,1))
ax.set_yticks(range(0,10,1))
ax.set_xticklabels(['x'+str(i) for i in range(len(pearson))],fontsize=12)
ax.set_yticklabels(['x'+str(i) for i in range(len(pearson))],fontsize=12)

Spearman秩相关系数 → data.corr(method='spearman')

# Sperman秩相关系数矩阵
spearman = round(data.corr(method='spearman'),2)
spearman
上一篇下一篇

猜你喜欢

热点阅读