赞
踩
上次课我们了解了数据缺失问题,这节课主要学习如何填充这些缺失值。这个过程叫插补(Imputation)。插补用基于其他可用信息的估计值替换缺失的数据。
我们将看到两个主要的插补方法,平均插补(mean imputation)和回归插补(regression imputation)。
我们还将研究如何修改机器学习管道(pipeline),以便在构建和评估模型之前执行插补来填充缺失的值。
到目前为止,我们已经看到了完整的案例分析,其中我们删除了缺少数据的行。现在我们将尝试填充缺少数据的值,这就是插补。
为此,我们将看一个心血管疾病事件预测的案例研究,也简称为心血管疾病(CVD)。因此,我们将有一个预测模型,输出心血管疾病事件的十年风险,这里心血管疾病事件可以包括任何心血管疾病事件。这可能包括心脏病发作和中风,其中我们的血液流动喂养心脏或大脑被阻塞。
作为这个预后模型的输入,我们将有年龄和收缩压,这两个我们以前都见过。因此,让我们研究一下机器学习管道,看看我们如何在其中使用插补。
因此,我们的第一步是将包含这些缺失值的数据集,分成训练集和测试集。请注意,训练集和测试集都包含缺失值。
现在,我们要特别专注于训练集,我想在这里说明几件事。首先,我们探索年龄、血压和心血管疾病之间的关系,以图表的方式进行。(从现在开始我把心血管疾病风险称为CVD)
我们把年龄放在X轴上,把血压放在Y轴上。这里每个点都是一个病人,红色代表在未来十年内发生 CVD 的病人,蓝色代表在未来十年内没有发生 CVD 的病人。
现在,注意我们有一些缺失的血压测量值,我们知道这些病人的年龄,我们只是不知道他们的血压落在哪里。我们将尝试找出我们应该给这些点的每个人分配什么血压值。
我们将从一个简单的插补方法开始,这被称为平均插补(Mean Imputation)。在平均插补中,我们首先看一下我们的数据集中所有可观察到的血压值,然后我们简单地对它们进行平均。
因此,假设我正在浏览这个数据集,有很多很多行,我只是看了所有的血压值,然后取了平均值,假设这个数据集中观察到的平均血压值是140,对于所有我不知道血压测量值的点,我将说血压测量值是140。
你可以从上图看到,我们已经为所有缺失的血压记录分配了140的血压值。对于训练集,我们填写的缺失值是140,测试集也是使用我们在训练集发现的平均血压值。
注意,没有重新计算测试集中的平均血压值,因为测试集可能非常小,不能代表所有的数据。
考虑到这一点,试一下下面的测验。
如图,估算测试集中病人101和病人11的血压。已知训练集的平均血压是125,测试中的平均血压是120。
花一分钟思考
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。