我正在尝试建立一个二元分类模型,该模型可以预测患者在住院结束时是否会感染某种疾病。我拥有的功能是不同标准医学测试的结果。但问题是几乎所有这些结果都有大约 60% - 80% 的缺失值,因为并非所有测试都与所有患者相关。那么我该如何处理缺失值,因为这里不能选择删除它们。此外,由于医学测试结果的范围从低到高,我是否应该根据标准医学测试范围将它们转换为具有高、低、中、空(对于缺失数据)的分类变量?
如何处理数据集中的缺失值?
数据挖掘
Python
分类
机器学习模型
2022-03-06 09:20:14
1个回答
如果特征是分类的,只需在 NA 中填写“缺失”作为新类别。如果它们是连续的,您可以尝试多种方法。作为起点,您可以简单地用平均值填充它们(或中值,如果您的异常值明显偏斜)并添加一个新的二进制特征,该特征将该值标记为原始特征中缺失的值。所以...
| 特征 A | | --------- | | 14 | | 南 | | 23 |
变成
| 特征 A | 特征 A 缺失 | | --------- | ------------------ | | 14 | 0 | | 18.5 | 1 | | 23 | 0 |
我从来没有为“最好”的做事方式找到一个硬性规定;我建议尝试上述方法并交叉验证您的模型,以确保其性能在可接受的范围内。
将连续变量离散化为高/中/低/缺失也可能会有所帮助;再次尝试并交叉验证,看看它是否能提高性能。您也应该尝试使用和不使用原始连续变量。
其它你可能感兴趣的问题