主页 > 新体验 > 设计沙龙 > 数据可视化
  • python数据可视化:相互关系及分布

    adinnet/2020-09-11 14:05/数据可视化

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

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

    一、单变量分布

    单变量分布.png

       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']);

    1.png

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

    二、数据相互关系

    数据相互关系.png

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

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

    核密度估计.png

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

       上面这张图是核密度估计

    数据分布情况.png

       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);

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

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

    数据相互关系.png

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

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

    预测患者.png

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

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

    rrt治疗.png

       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,逐步回归等都可以用来筛选变量。

上一篇:电商APP开发流程:直播APP开发具体步骤介绍下一篇:教育app设计:国外教育类App设计案例欣赏
400-021-8655
在线咨询
在线留言