玩转UCI心脏病二分类数据集 学习笔记

序:手写不方便 写到一半转电子平台。 关注点在于数据分析可视化分析

通过多个可视化工具及方案(可解释性评估)对特征进行评估,实现精准医疗(一病友一模型? 待议)。

numpy pandas matplotlib seaborn 数据分析常用库

pandas_profiling 用于生成数字探索性报告

graphriz pydotplus 用于决策树的可视化

pdpbox elis shap 机器学习可解释性分析工具

df.head() 前五行  .tail() 后五行 .colums()格列列名 

.describe()统计值信息 .info()查看数据是否有缺失,数据类型 

.isnull.sun() 各列缺失值统计

生成数据探索性分析EDA报告

P6

import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import matplotlib.pyplot as plt
#matplotlib inline 表示绘制的图嵌入在单元格中 ?
import seaborn as sns  #seaborn 可理解为在matplotlib的底层库上额外封装的一个库 本质相同

可视化内容参考代码

sns.heatmap?  一个问号查看文档  两个问号表示源代码

sns.heatmap(df.corr(),annot=True,cmap=plt.cm.plasma) #热力图
sns.pairplot(data = df)#各列之间的两两散点图,可得知各列之间的关系
sns.displot(df['age']) #单列特征数据分布直方图 概率密度曲线的离散和连续
plt.show()
df.age.unique()#不同元素的值输出
df.target.value_counts()#各元素出现的次数
sns.countplot(df['target'],data=df) #绘制柱状图
plt.show()

同样表示数据分布的箱型图及小提琴图:

这里的slope数据有种类型的数值 

散点图: 

红点在上半部分的分布较为集中,说明最大心率与患病之间存在联系

P7

参考类似代码文件 在附件 链接:Heart Disease UCI | Kaggle

将离散的定类和定序特征列转换为One-Hot独立热编码(仅一位为1 其余位置为0) 避免在模型中因数值的不同大小而出现问题 

df = pd.get_dummies(df)# get_dummies 是利用pandas实现one hot encode的方式。
# 该函数会自动找到df中对应的object数据类型对象并将其转换为One-Hot类型
df.columns

df.to_csv('heart.csv', index=False)# 处理好的文件导出 不要索引

P8

不同条件下患病比例

  

有些特征值为0 说明未使用到这些特征

之前在数学建模中学到了这部分 (相关性分析)有些生疏了

P9

参照代码中使用了多个模型

混淆矩阵 TP FN FP TN 等平均指标 对接线上的两个象限具有代表性 值得关注(26TP 22FP)

ROC曲线:对角线为随机预测值,曲线愈发接近左上角 说明分类性能越好 (本人关注实现代码)

thresholds :阈值?  利用ROC 曲线寻找cut-off 值的标准很简单, ROC 曲线图中最靠近左上角的点就是cut-off 值(阈值)。

P13 可解释性分析

Permutaion Importance —— 排列重要性 - 知乎 (zhihu.com) 非常详细,简单来说,即打乱某一特征后检查是否出现性能波动,从而判断是否为有效特征。

要这么讲可解释性 也没啥啊

P14 PDP ICE图

这部分数学建模中也有类似的,即判断某一特征的重要性

8.1 Partial Dependence Plot (PDP) | Interpretable Machine Learning (christophm.github.io)???

The partial dependence plot (short PDP or PD plot) shows the marginal effect one or two features have on the predicted outcome of a machine learning model (J. H. Friedman 200130). A partial dependence plot can show whether the relationship between the target and a feature is linear, monotonic or more complex. For example, when applied to a linear regression model, partial dependence plots always show a linear relationship.

二维PDP图: 特征之间交互关系分析 ???

15 Shapely值

博弈论相关内容  机器学习中的 Shapley 值怎么理解? - 知乎 (zhihu.com)   

撬动杠杆的次数,特征的重要性

17 Shapely值计算

import shap
shap.initjs() #舒适化javascript环境 绘图环境

shapely值为每个样本对预测为患病/不患病的贡献   

这里与注意力机制异曲同工?

这里值越大,说明影响越大 例如在下图的值为x = 0时,其对应的shap值为正值,即对判别是否患病有帮助。

P19Shape决策图

预测错误样本分析

太高级 待消化?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangxiaojie6688

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值