我有一百万个样本,大约有1000个功能。但是,每个样本仅测量一部分特征。我想执行机器学习来根据功能预测结果,但是,我不知道如何处理丢失的数据。由于数据以随机顺序丢失,我无法根据缺失的特征对数据进行分类,因为类的数量很大,每个类中只有很少的样本。处理这类问题的最佳解决方案是什么?
答案 0 :(得分:3)
处理缺失值的方法
<强> 1。删除:强>
它有两种类型:List Wise Deletion和Pair Wise Deletion。
在列表方式删除中,我们删除其中任何一个的观察结果 变量丢失了。简单是这方面的主要优势之一 方法,但这种方法降低了模型的功率,因为它减少了 样本量。
在成对删除中,我们对所有情况进行分析 存在感兴趣的变量。这种方法的优点是, 它可以保留尽可能多的案例进行分析。其中一个 这种方法的缺点是,它使用不同的样本量 不同的变量。
当缺失数据的性质为“缺失”时,使用删除方法 完全随意“否则非随机缺失值会偏向 模型输出。
<强> 2。均值/模式/中位数估算:
估算是一种用估计值填充缺失值的方法。目标是采用可以在数据集的有效值中识别的已知关系,以帮助估计缺失值。均值/模式/中值插补是最常用的方法之一。它包括通过该变量的所有已知值的均值或中值(定量属性)或模式(定性属性)替换给定属性的缺失数据。它可以有两种类型: -
广义插补:在这种情况下,我们计算平均值或中位数 对于该变量的所有非缺失值,然后替换缺失 平均值或中值。如上表所示,变量“Manpower” 缺少所以我们取平均值“人力”的所有非缺失值 (28.33)然后用它替换缺失值。
类似案例Imputation:在这种情况下,我们计算平均值 性别“男性”(29.75)和“女性”(25)个别非失踪者 然后,值将根据性别替换缺失值。对于“男性”,我们 将用29.75和“女性”取代人力资源的缺失值 25岁。
第3。预测模型:
预测模型是处理缺失数据的复杂方法之一。在这里,我们创建一个预测模型来估计将替代缺失数据的值。在这种情况下,我们将数据集分为两组:一组没有变量的缺失值,另一组缺少值。第一个数据集成为模型的训练数据集,而第二个具有缺失值的数据集是测试数据集,具有缺失值的变量被视为目标变量。接下来,我们创建一个模型来根据训练数据集的其他属性预测目标变量,并填充测试数据集的缺失值。我们可以使用回归,ANOVA,Logistic回归和各种建模技术来执行此操作。这种方法有两个缺点:
模型估计值通常比表现更好 真实值
如果数据集中没有与属性的关系,那么 具有缺失值的属性,则模型将不精确 估计缺失值。
<强> 4。 KNN Imputation:
在这种估算方法中,使用给定数量的属性估算属性的缺失值,这些属性与缺少值的属性最相似。使用距离函数确定两个属性的相似性。人们还知道它具有某些优点和优点。缺点。
<强>优点:强>
k-最近邻居可以预测定性和定性。量 属性
为缺少数据的每个属性创建预测模型 不需要
可以轻松处理具有多个缺失值的属性
考虑数据的相关结构
<强>缺点:强>
KNN算法在分析大型数据库时非常耗时。它 搜索所有寻找最相似的数据集 实例
选择k值非常关键。更高的k值将包括 与我们需要的属性明显不同的属性 而较低的k值意味着缺少重要的 属性
来源:https://www.analyticsvidhya.com/blog/2016/01/guide-data-exploration/
答案 1 :(得分:2)
您的问题是机器学习中数据分析的常见情况。虽然很难说出如何准确地解决你的问题 - 不知道数据,你想要预测的是什么,或者你正在考虑的模型(例如生成或dirscriminative) - 我会尝试给你一些指示。
<强>参考强>
首先,一些参考文献:我发现(Benjamin Marlin的博士论文)(http://www.cs.ubc.ca/~bmarlin/research/phd_thesis/marlin-phd-thesis.pdf)是一个很好的起点。我还没有阅读完整的博士论文,但却发现了它一对夫妇。在这个问题上给你一个快速的开始可能是有用的。还有一本关于&#34;统计分析与缺失数据的书&#34;由Little和Rubin可能对你有用。关于这个主题的文章,这篇评论可以帮助你得到一个概述:A Review of Methods for Missing Data(该评论示例性地讨论了关于哮喘症状的研究,但这些方法可能对你有用)。在文献之下,还有一个Wikipedia page on Missing Data可能会提供一些基本的见解。
<强>摘要强>
一些简单的方法可以帮助您入门:
总的来说,有许多有效的方法,它在很大程度上取决于您的任务/应用程序。不过,首先要确定数据缺失的原因以及缺少的数据。然后,按照一些参考文献开始尝试简单的方法,看看哪些方法适合你。