我的问题是针对在分类器/模型训练/拟合期间处理不完整数据的技术。
例如,在一个有几百行的数据集中,每行有五个维度和一个类标签作为最后一项,大多数数据点看起来像这样:
[0.74、0.39、0.14、0.33、0.34、0]
一些可能看起来像这样:
[0.21、0.68,?,0.82、0.58、1]
因此,正是这些数据点类型成为了本课题的重点。
我问这个问题的最初原因是我面前的一个问题。但是,在发布我的问题之前,我认为如果我重新措辞可能会更有用,因此答案对于社区的更大一部分将很有用。
作为一种简单的启发式方法,让我们根据在处理流程中使用数据的时间(在输入到分类器之前或期间)对这些数据处理技术进行划分(即,该技术位于分类器内部)。
我可以为后者想到的最好的例子是决策树中使用的巧妙的“三向分支”技术。
毫无疑问,前者的范围更大。我知道的所有技术都属于以下组之一。
最近,当我查看有关“缺少数据处理”的个人笔记时,我注意到我掌握了许多令人印象深刻的技术。我只是保留这些注释,以使一般人安心,以防万一初级同事问我如何处理丢失的数据。在实际实践中,除了最后一个,我实际上没有使用任何一个。
归因(imputation):这套技术的广泛适用范围,其共同点(我相信)是,缺失的数据直接由同一数据集提供-替代而不是估计/预测。
重构:使用自动关联网络(只是输入和输出层大小相等的神经网络,换句话说,输出与输入具有相同的维度)来估计丢失的数据点;这里的想法是在完整的数据上训练该网络,然后为它提供不完整的模式,并从输出节点读取缺少的值。
引导程序:(鉴于统计分析中的其他用途,因此我不认为没有摘要是必要的)。
拒绝:从训练集中悄悄删除缺少/损坏元素的数据点,并假装它们不存在。
modern
技术的论文?谢谢
mice
在JSS上有一篇不错的入门文章:jstatsoft.org/article/view/v045i03。(即使您不使用R,您也应该会发现介绍很有用。)R包中Amelia
包含一个漂亮的小插图。这两个软件包的详细信息不同,但是都使用多个插补。