python关联分析可视化_python数据可视化-相互关系及分布

原标题:python数据可视化-相互关系及分布

撰文 Yotsunoha

编辑 袁老师

数据可视化是对数据初步和直观的判断。

使用统计模型来估计两个的观测值之间的简单关系是非常有帮助的。seaborn本身并不是统计分析的工具包。要获得与回归模型的拟合相关的定量度量,应使用statsmodels。但是,seaborn的目标是通过可视化方式快速而轻松地浏览数据集。

一、单变量分布

import numpy as np

import seaborn as sns

import matplotlib.pyplot as plt

sns.set(color_codes=True)

data = pd.read_csv("演示数据-副本.csv")

sns.distplot(data['cr_mean']);

sns.kdeplot(data['age'], shade=True);

二、数据相互关系

sns.jointplot(x="bun_mean", y="cr_mean", data=data, kind="reg");

上面这张图可以看到变量的各自分布情况及相互关系。

sns.jointplot(x="bun_mean", y="cr_mean", data=data,kind="kde");

上面这张图是核密度估计

g = sns.jointplot(x="bun_mean", y="cr_mean", data=data, kind="kde", color="m")

g.plot_joint(plt.scatter, c="g", s=30, linewidth=1, marker="+")

g.ax_joint.collections[0].set_alpha(0);

这张图是核密度并加上了数据分布情况

三、不同分层下的数据相互关系

sns.lmplot(x="bun_mean", y="cr_mean", data=data,hue="rrt");

图中rrt=0代表没有进行肾替代治疗,rrt=1代表进行了肾替代治疗。需要进行肾替代治疗的患者可能具有更高的cr值。

sns.lmplot(x="rdw_mean", y="aps", data=data,hue="survival", col="rrt");

图中survival=0代表生存,=1代表死亡。在未进行rrt治疗的患者中,aps评分和rdw可能能够预测患者是否会发生死亡。

sns.lmplot(x= "bun_mean", y= "cr_mean", data= data,hue= "survival", col= "rrt",row= "aki");

这组患者中未发生aki的患者很少进行rrt治疗(aki=0/rrt=0),但在发生aki的患者中进行rrt治疗似乎并没有降低死亡率(aki=1/rrt=1),需要进一步分析发生死亡的原因。

以上都是图示的结果,具体的相互关系分析,还需要结合临床并选用合适的回归模型进行回归分析。例如lasso,ols,wls,逐步回归等都可以用来筛选变量。

参考网站:

seaborn: statistical data visualization — seaborn 0.10.1 documentation

https://seaborn.pydata.org/index.html

责任编辑:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值