给定数据集的输入的近似缺失值

时间:2017-01-12 07:23:13

标签: machine-learning classification regression imputation

我有一个包含x个属性和y个记录的数据集。如果输入记录具有多达x-1个缺失值,我将如何合理地估计剩余缺失值中的一个?

所以在下面的例子中,输入记录有两个值(对于属性2和6,其余的缺失),我想近似属性8的值。

Data table with input I want to classify

我知道缺失的价值是通过“估算”来解决的。但我一般都会找到有关预处理数据集的例子。我正在寻找一种使用回归来确定缺失值的解决方案,并且理想地使用一次构建的模型(如果可能的话,不必每次都生成一个)。

1 个答案:

答案 0 :(得分:0)

属性存在或不存在的可能性的数量使得能够维护诸如线性回归的模型集合似乎是不切实际的,这些模型将涵盖所有情况。对我来说似乎很实用的一个模型是你不能完全建立任何模型的模型 - 最近邻居回归。我的建议是使用您可用的任何属性并计算与训练点的距离。您可以使用最近邻居的值或几个最近邻居的(可能加权)平均值。在您的示例中,我们将仅使用属性2和6来计算距离。最近的点是最后一个点(3.966469,8.911591)。对于属性8,该点的值为6.014256,因此这是您对新点的属性8的估计。

或者,您可以使用三个最近邻居。这些是第17,8和12点,因此您可以使用属性8的平均值来表示这些点或加权平均值。人们有时会使用重量1 / dist。当然,三个邻居只是一个例子。你可以选择另一个k。

这可能比使用属性8的所有缺失值的全局平均值(8.4)更好。