信息不完整的推理
首先,在开始之前,我建议您参考网络上的类似问题,即https://stackoverflow.com/questions/39386936/machine-learning-with-incomplete-data,https://stats.stackexchange.com/问题/103500/机器学习算法到处理缺失数据
行删除
如果特定行的缺失值超过 70%,您可以删除该行以处理空值。仅当数据集中有足够的样本时才建议使用此方法。这种方法的主要缺点是它降低了模型的功效,因为它减少了样本量。
替换为均值/中值/众数
我们可以计算特征的均值、中位数或众数,并用它替换缺失值。另一种方法是用相邻值的偏差来近似它。
尽管这种方法增加了数据集的方差,但与删除行和列相比,它产生了更好的结果。
KNN 或随机森林插补
在这种方法中,使用与缺失值的属性最相似的现有属性来估算属性的缺失值。使用距离函数确定两个属性的相似性。
这种方法的优点是k最近邻可以预测定性和定量属性。此外,您无需为数据集中缺少数据的每个属性创建预测模型。
预测缺失值
预测是处理缺失数据的更复杂的方法之一。使用没有缺失值的特征,我们可以借助机器学习算法来预测空值。
在这种情况下,我们将数据集分成两部分。一组没有缺失值,另一组缺失值。第一个数据集成为模型的训练数据集,而第二个缺失值的数据集是测试数据集。
然后,我们创建一个模型来根据训练数据集的其他属性预测目标变量,并填充测试数据集的缺失值。(Sayali S 2016)
R 中的插入符号或 randomForestSRC 包
R 包 randomForestSRC 可以处理大量分析的缺失数据,即回归、分类、无监督和多变量(Ankur C 2014)。此外,Caret R 包可用于预测缺失数据。
参考:https ://analyticsindiamag.com/5-ways-handle-missing-values-machine-learning-datasets/
我非常感谢那些给出提示和建议的人。但是,我认为最适合我的案例是Gen - 一个通用的概率编程系统,来自 MIT 的可编程推理,在 MF Cusumano-Towner 等人的论文“Gen: A General-Purpose Probabilistic Programming System with Programmable Inference”中描述人。
如果您正在寻找这些方面的东西,它看起来像是概率编程应用程序的一个非常好的开始。