不幸的是,尝试在机器学习中搜索或研究空值总是会打开页面,试图教你如何估算值,但我正在尝试找到可以处理空值作为输入的模型。我目前发现的唯一一个是 XGBoost,它是一种梯度下降算法。我相信基于树的算法理论上也应该处理空值,但我不确定这是否适用于所有基于树的算法,或者某些算法是否比其他算法更好。
一些背景知识,我创建了多个数据集,包括替换了 NaN 的数据集。这些可用于训练无法处理空值的模型,例如神经网络。
由于数据的稀疏性和性质,使用均值或中值进行估算会引入很多偏差并且没有意义。只是想把它拿出来,因为这是每个人都建议的第一件事。此外,丢失的数据实际上代表了患者没有完成特定实验室测试的情况,这本身就是有用的信息。
那么回到最初的问题,除了 XGBoost,还有其他模型可以处理空值作为输入吗?这是否可以推广到所有梯度下降算法或树算法或仅适用于特定算法?对于要保留空值的情况,是否有首选模型?