美文网首页
数据预处理_数据相关性分析

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

作者: 南有妖尾 | 来源:发表于2020-04-22 19:19 被阅读0次

相关性分析

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

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

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

  • 相关系数取值范围:-1≤R≤1,R>0为正相关表示两个变量的增长趋势相同,R<0为负相关表示两个变量的增长趋势相反
  • 相关性的强弱看相关系数R的绝对值。
    • |R|=0,不存在线性关系,|R|=-1,完全线性相关
    • |R|≤0.3,极弱线性相关或不存在线性相关
    • 0.3<|R|≤0.5,低度线性相关
    • 0.5≤|R|≤0.8,显著线性相关
    • |R|>0.8,高度线性相关
# 设置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')

  • pearson相关系数一般用于分析两个连续性变量之间的关系,且要求连续变量的取值服从正态分布。

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

  • 参数说明:
    • method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}
      • pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性数据便会有误差。
      • kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据
      • spearman:非线性的,非正太分析的数据的相关系数
    • min_periods:样本最少的数据量
# 此处假设数据服从正态分布

# 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')

  • 不服从正态分布的变量、分类或等级变量之间的关联性可采用Spearman秩相关系数来描述,因此Spearman秩相关系数又称为等级相关系数
# Sperman秩相关系数矩阵
spearman = round(data.corr(method='spearman'),2)
spearman
  • 当数据变量之间的相关性较强的时,说明变量间可能存在共线性相关性,可以采取降维的处理方法,从原有的变量中提取部分特征代替原数据的所有特征。

相关文章

  • 读书笔记-sklearn笔记

    本文是该系列读书笔记的第二章数据预处理部分 获取数据 数据的初步分析,数据探索 地理分布 数据特征的相关性 创建新...

  • 1分钟了解数据分析挖掘体系

    总体上来讲,数据分析挖掘体系可分为数据预处理、分析挖掘、数据探索、数据展现和分析工具。 数据预处理 数据预处理包含...

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

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

  • CPDA_数据的获取_2019-07-15

    数据分析的主要流程涵盖:数据的获取、数据预处理、数据模型分析、数据可视化等,其中数据预处理很重要,数据模型分析较为...

  • 相关性及PCA分析

    简要介绍相关性及PCA分析 1、 相关性分析 本次使用数据如下所示: 加载数据 相关性分析 结果如下 2、PCA分...

  • 空间组数据和单细胞数据的相关性分析(Seurat)2022-05

    相似关键词 单细胞数据集相关性分析 空间组与单细胞数据集相关性分析 空间组数据集相关性分析 适用背景 近年来,单细...

  • 相关性分析的TIPS

    相关性分析 tips:相关性分析不要局限在数值型数据和数值型数据之间(散点图),还有其他的相关性可供分析: 1.数...

  • R数据分析实战—LOL中游戏时长对双方阵营胜率的影响

    复杂数据分析处理的一般过程为:理解数据——>数据导入——>数据预处理——>数据计算——>数据显示其中,数据的预处理...

  • 数据挖掘算法(一)

    数据挖掘,根据我的学习,包括数据预处理、数据模式分析、数据分类、数据聚类分析、离群值分析等。 前言 其实我们在中学...

  • 如何做好数据预处理(一)

    数据分析中,需要先挖掘数据,然后对数据进行处理。数据预处理的字面意思就是对于数据的预先处理,数据预处理的作用就是为...

网友评论

      本文标题:数据预处理_数据相关性分析

      本文链接:https://www.haomeiwen.com/subject/czwwihtx.html