栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

相关性的可视化展示python

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

相关性的可视化展示python

一 操作说明

使用Python可求取对应数据的相关性,两列数据之间的相关性系数的展示并不直观
如果进行图形化的展示,可以帮助使用者更好理解当前的数据
使用python的画图matplotlib的工具包和seaborn的工具
使用sklearn的鸢尾花数据进行数据演示

二 代码展示

通常情况下展示的两列关系散点图(手工,不直观):

# 引入工具包
from sklearn.datasets import load_iris
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd


# 获取鸢尾花数据
iris= load_iris()
x=iris.data
y=iris.target

#画图
fig = plt.figure()
axe1 = fig.add_subplot(2,3,1)
axe2 = fig.add_subplot(2,3,2)
axe3 = fig.add_subplot(2,3,3)
axe4 = fig.add_subplot(2,3,4)
axe5 = fig.add_subplot(2,3,5)
axe6 = fig.add_subplot(2,3,6)
axe1.scatter(x[y==0,0],x[y==0,1],c='red',label=iris.target_names[0])
axe1.scatter(x[y==1,0],x[y==1,1],c='green',label=iris.target_names[1])
axe1.scatter(x[y==2,0],x[y==2,1],c='blue',label=iris.target_names[2])


axe2.scatter(x[y==0,0],x[y==0,2],c='red',label=iris.target_names[0])
axe2.scatter(x[y==1,0],x[y==1,2],c='green',label=iris.target_names[1])
axe2.scatter(x[y==2,0],x[y==2,2],c='blue',label=iris.target_names[2])

axe3.scatter(x[y==0,0],x[y==0,3],c='red',label=iris.target_names[0])
axe3.scatter(x[y==1,0],x[y==1,3],c='green',label=iris.target_names[1])
axe3.scatter(x[y==2,0],x[y==2,3],c='blue',label=iris.target_names[2])

axe4.scatter(x[y==0,1],x[y==0,2],c='red',label=iris.target_names[0])
axe4.scatter(x[y==1,1],x[y==1,2],c='green',label=iris.target_names[1])
axe4.scatter(x[y==2,1],x[y==2,2],c='blue',label=iris.target_names[2])

axe5.scatter(x[y==0,1],x[y==0,3],c='red',label=iris.target_names[0])
axe5.scatter(x[y==1,1],x[y==1,3],c='green',label=iris.target_names[1])
axe5.scatter(x[y==2,1],x[y==2,3],c='blue',label=iris.target_names[2])

axe6.scatter(x[y==0,2],x[y==0,3],c='red',label=iris.target_names[0])
axe6.scatter(x[y==1,2],x[y==1,3],c='green',label=iris.target_names[1])
axe6.scatter(x[y==2,2],x[y==2,3],c='blue',label=iris.target_names[2])

展示图片如下:

使用seaborn辅助工具

# 引入工具包
from sklearn.datasets import load_iris
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

# 获取鸢尾花数据
iris= load_iris()
x=iris.data
y=iris.target
#数据格式转换
px = pd.Dataframe(x)
#获取相关系数
px.corr()
#展示两列关系图
#kind:用于控制非对角线上图的类型,可选'scatter'与'reg'
#diag_kind:用于控制对角线上的图分类型,可选'hist'与'kde'
#对角线上是各个属性的直方图(分布图)
sns.pairplot(px)
sns.pairplot(px,kind='reg',diag_kind='hist')
#展示相关系数热力图
sns.heatmap(px.corr())

展示结果如下:
相关系数:

相关性散点图:

展示线性关系:

相关性热力图:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/295942.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号