深度学习用于疾病预后-第二课第一周第4-7节 医学预后案例欣赏+作业解析

第二课第一周第4-7节 医学预后案例欣赏+作业解析

视频地址:B > Tina-姐

预后的案例

在这节课中,我们将看看预后临床例子。看看预后任务的输入和输出是什么样子的,以及我们如何权衡输入之间的权重。

我们可以把预后模型看作一个系统,它把病人的资料(profile)作为输入,并输出病人的风险评分。

profile 可以包括:

  • 临床病史(包括任何以前的治疗过程中的重大疾病)
  • 体检结果,如体温和血压等生命体征。
  • 实验室检查,如全血细胞计数和包括CT扫描在内的成像等。

预后模型可以取其中的一个,并为患者输出一个风险评分。现在,风险评分可能是任意数字,也可能是概率。

让我们看一个预后模型的例子。这个预后模型将使用两个患者特征来得出心脏病的风险评分。

假设我们有一个75岁以上的吸烟者,我们会给吸烟一个分数,超过75岁的人特征的一个分数,最后一个风险评分是2。

让我们让这个预测模型更有趣一点。假设75岁以上的人比吸烟的风险高出一倍,我们希望模型能给年龄赋予两倍于吸烟的权重。

然后我们可以指定一个权重,或者如果你是吸烟者特征1和年龄特征2的系数。现在,我们可以用这些系数乘以这个值,得到每个特征的贡献,1代表吸烟,2代表75岁以上,总风险评分为3。

接下来我们看3个案例

  • 房颤患者的风险计算器

心房颤动是一种常见的心律失常,会使患者面临中风(stroke)的风险。对于房颤患者,我们将看看一个预测一年内中风风险的模型的例子。这被称为CHA2DS2-VASc评分,是作为患者资料一部分使用的特征的缩写, 数字代表那个特征的权重。

我们将计算一名70岁男性房颤患者的CHA2DS2-VASc评分,该患者患有高血压和糖尿病。

我们的第一个任务是将该患者对应的值输入表中。我们知道这个病人有高血压和糖尿病,还知道他的年龄

所以风险评分为3

  • 肝脏疾病的死亡率

在我们的第二个例子中,我们将研究死亡率。我们将研究一个用于12岁以上肝移植等待名单上的患者的评分。这个评分可以估计病人3个月的死亡率,也是决定病人接受肝移植的速度的因素之一。

下图是终末期肝病的模型,产生所谓的MELD评分。

我们将再次手工计算一例患者的MELD评分。在这里,我们有一个50岁的妇女,她有一些实验室结果,如下图。

这个模型有两个新特性使它更有趣。首先,请注意,第一个特性不仅仅是一个实验室检查值,而是该值的log对数。当有理由相信风险和特征之间的关系在特征的自然对数中是线性关系时,通常使用特征的自然对数而不是特征本身。

这里要注意的第二件事是有一个截断值。截距对应的value总是1,因此如果其他特征值都为0,我们可以将截距视为预期的风险评分(最低为0.643)。

现在,让我们计算这个病人的MELD评分。

请注意,得到的10分并不能直接告诉我们3个月生存的概率,但与其他患者的MELD评分相比,它是有信息的。

  • 患心脏疾病的风险
    在我们的最后一个例子中,我们将研究20岁或20岁以上尚未患有心脏病的患者10年内患心脏病的风险。

这是ASCVD风险评估器。我们将再次手工计算患者的ASCVD评分。

首先,请注意,除了采取自然对数的一些特征。我们有两个特征的产物,比如年龄的自然对数乘以HDL-C的自然对数。这些被称为交互项,我们将深入探讨为什么它们有用。

但现在需要理解的是,对于交互项,我们要乘以两个值。在这种情况下,我们将取年龄的自然对数乘以HDL-C的自然对数。这里要注意的第二件事是,我们有一个与某些特征相关的负系数。例如,我们有一个与HDL-C的自然对数相关的负系数,这里的负系数意味着这个特性的贡献是负的,这意味着它降低了评分。这是有道理的,因为HDL-C是高密度胆固醇,通常被称为好胆固醇。因此,我们可以预期会降低患心脏病的风险。

我们可以像前面的例子一样计算风险评分。在这里,我们使用我们所掌握的信息填写值。然后将每个值乘以系数,并将此列相加,得出实际值的总和。


使用下面公式将该总和转换为风险评分。

不要太担心这个公式是从哪里来的。所有需要理解的重要的是,我们可以代入这个公式。得出这个病人10年内患心脏病的概率是3%。

本节完后对这三个案例设置了作业

作业解析

在这里,学习使用 Python 函数实现风险评分。包括

  • 心房颤动:Chads-vasc 评分
  • 肝病:MELD评分
  • 心脏病:ASCVD 评分

作业文件名:C2_W1_lecture_ex_02.ipynb
作业地址:gongzhonghao > 菜单栏 > 吴恩达里面找

本次作业就是通过构建python函数实现上面图片上的得分计算。但特征及特征权重人为定义。和实际应用不太相符,因此,仅做参考,作业不难。5分钟即可解决。

如 Chads-vasc 评分:自定义一个评分函数

def chads_vasc_score(input_c, input_h, input_a2, input_d, input_s2, input_v, input_a, input_sc):
    # congestive heart failure  充血性心力衰竭
    coef_c = 1 
    
    # Coefficient for hypertension 高血压系数
    coef_h = 1 
    
    # Coefficient for Age >= 75 years
    coef_a2 = 2
    
    # Coefficient for diabetes mellitus  糖尿病系数
    coef_d = 1 
    
    # Coefficient for stroke  中风
    coef_s2 = 2
    
    # Coefficient for vascular disease   血管疾病系数
    coef_v = 1
    
    # Coefficient for age 65 to 74 years     
    coef_a = 1
    
    # TODO Coefficient for female  女性系数
    coef_sc = 1
    
    # Calculate the risk score
    risk_score = (input_c * coef_c) +\
                 (input_h * coef_h) +\
                 (input_a2 * coef_a2) +\
                 (input_d * coef_d) +\
                 (input_s2 * coef_s2) +\
                 (input_v * coef_v) +\
                 (input_a * coef_a) +\
                 (input_sc * coef_sc)
    
    return risk_score

调用函数获取评分

tmp_c = 0
tmp_h = 1
tmp_a2 = 0
tmp_d = 0
tmp_s2 = 0
tmp_v = 1
tmp_a = 0
tmp_sc = 1

print(f"The chads-vasc score for this patient is",
      f"{chads_vasc_score(tmp_c, tmp_h, tmp_a2, tmp_d, tmp_s2, tmp_v, tmp_a, tmp_sc)}")

文章持续更新,可以关注微信公众号【医学图像人工智能实战营】获取最新动态,一个关注于医学图像处理领域前沿科技的公众号。坚持已实践为主,手把手带你做项目,打比赛,写论文。凡原创文章皆提供理论讲解,实验代码,实验数据。只有实践才能成长的更快,关注我们,一起学习进步~

我是Tina, 我们下篇博客见~

白天工作晚上写文,呕心沥血

觉得写的不错的话最后,求点赞,评论,收藏。或者一键三连
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Tina姐

我就看看有没有会打赏我

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

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

打赏作者

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

抵扣说明:

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

余额充值