暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python探索性数据分析,就该这么做(下)

392

如何使用 Python 执行探索性数据分析?

长按关注《Python学研大本营》,加入读者群,分享更多精彩

第 4 步:双变量分析

数据集中的变量大多不完全独立于其他所有变量。要找到两个连续变量之间的关系,可视化一个变量随着另一个变量值的增加而变化的最常见方法是使用散点图:

图 12:配对图

Pearson's Coefficient of Correlation 是用来表示一对变量之间线性关系的相关系数。该公式返回一个介于 -1 和 +1 之间的值,其中 +1 表示强烈的正相关关系,-1 表示强烈的负相关关系。0 表示完全没有关系。

图 13:皮尔逊相关系数

热图表明死亡事件与年龄和血清肌酐这两个属性之间的相关性大于 0。

死亡事件与年龄

我们现在将仔细研究死亡事件与年龄之间的相关性:

表 5:计算交叉表

图 14:年龄和死亡事件的交叉表

  • 正如我们所看到的,70 至 80 岁的患者中有一半死亡,而 30 至 40 岁的患者则全部存活。

图 14:按死亡事件分组的年龄箱线图

  • 我们可以看到,存活的患者年龄在 50 到 85 岁之间,而死亡的患者年龄在 55 到 95 岁之间。
  • 死亡患者的中位年龄高于幸存患者的中位年龄。因此,平均而言,死亡患者的年龄大于幸存患者的年龄。
  • 有一个异常值(90 岁的患者)幸存下来。让我们将按分类属性年龄分组的死亡事件的箱线图重新绘制为小提琴图,我们可以将二元属性性别添加到图中:

图 15:绘制按年龄和性别分组的死亡事件小提琴图

图 16:按性别划分的按 Desth 事件分组的年龄小提琴图

死亡事件与血清肌酐

接下来,我们将绘制数值属性血清肌酐的直方图:

表 6:绘制血清肌酐直方图

此方法使用 numpy.histogram 对 x 中的数据进行分箱并计算每个分箱中值的数量,然后将分布绘制为 BarContainer 或 Polygon。bins、range、density 和 weights 参数被转发到 numpy.histogram。

图 17:血清肌酐直方图

大多数患者的血清肌酐值较低。我们现在将绘制血清肌酐的箱线图:

表 7:绘制血清肌酐箱线图

正如我们所见,有些异常值的血清肌酐值非常高。

图 18:血清肌酐的箱线图

检查年龄和 serum_creatinine 之间关系的可能性是使用散点图、seaborn 风格的箱线图、小提琴图、带状图和群图。您可以在github 链接中找到这些图。

死亡事件与糖尿病

我们将按性别分组检查死亡事件与糖尿病之间的关系:

表 8:计算简单交叉表

图 19:按性别分组的交叉制表死亡事件和糖尿病

  • 第一组 (0,0) 显示男性(蓝色)和女性(红色)的所有幸存糖尿病患者。
  • 第二组显示所有未患糖尿病的幸存患者。
  • 第三组显示所有已故的糖尿病患者。
  • 第四组显示所有没有糖尿病的已故患者。对于按性别分组的死亡事件和高血压也可以这样做。

第 5 步:将数据集拆分为子集

我们将数据分成两个子集:

  • 已故患者
  • 存活患者

表 9:将数据集拆分为两个子集

之后,我们将使用 seaborn 和以下命令创建一个带有标题的计数图:

图 20:Countplot 函数

图 21:死亡事件的计数图

约 200 名患者幸存下来,而大约 100 名患者在随访期间死亡。

死亡事件与射血分数

我们现在来分析死亡事件和射血分数之间的关系:

图 22:射血分数的直方图和箱线图

图 23:射血分数的直方图和箱线图

根据死亡事件的箱线图射血分数,死亡患者的中位数低于未死亡患者。幸存患者的射血分数往往高于死亡患者。

附录:完整代码:https://github.com/SteffiPGalway/ExploratoryDataAnalysis

推荐书单

《PyTorch深度学习简明实战 》

本书针对深度学习及开源框架——PyTorch,采用简明的语言进行知识的讲解,注重实战。全书分为4篇,共19章。深度学习基础篇(第1章~第6章)包括PyTorch简介与安装、机器学习基础与线性回归、张量与数据类型、分类问题与多层感知器、多层感知器模型与模型训练、梯度下降法、反向传播算法与内置优化器。计算机视觉篇(第7章~第14章)包括计算机视觉与卷积神经网络、卷积入门实例、图像读取与模型保存、多分类问题与卷积模型的优化、迁移学习与数据增强、经典网络模型与特征提取、图像定位基础、图像语义分割。自然语言处理和序列篇(第15章~第17章)包括文本分类与词嵌入、循环神经网络与一维卷积神经网络、序列预测实例。生成对抗网络和目标检测篇(第18章~第19章)包括生成对抗网络、目标检测。

本书适合人工智能行业的软件工程师、对人工智能感兴趣的学生学习,同时也可作为深度学习的培训教程。

作者简介:

日月光华:网易云课堂资深讲师,经验丰富的数据科学家和深度学习算法工程师。擅长使用Python编程,编写爬虫并利用Python进行数据分析和可视化。对机器学习和深度学习有深入理解,熟悉常见的深度学习框架( PyTorch、TensorFlow)和模型,有丰富的深度学习、数据分析和爬虫等开发经验,著有畅销书《Python网络爬虫实例教程(视频讲解版)》。

购买链接(新书限时5.5折):https://item.jd.com/13528847.html

精彩回顾

《Pandas1.x实例精解》新书抢先看!

【第1篇】利用Pandas操作DataFrame的列与行

【第2篇】Pandas如何对DataFrame排序和统计

【第3篇】Pandas如何使用DataFrame方法链

【第4篇】Pandas如何比较缺失值以及转置方向?

【第5篇】DataFrame如何玩转多样性数据

【第6篇】如何进行探索性数据分析?

【第7篇】使用Pandas处理分类数据

【第8篇】使用Pandas处理连续数据

【第9篇】使用Pandas比较连续值和连续列

【第10篇】如何比较分类值以及使用Pandas分析库

长按关注《Python学研大本营》
长按二维码,加入Python读者群


文章转载自Python学研大本营,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论