1

假设我们有人员列表,并希望找到像人X这样的人。部分未知矢量的最近邻居

特征向量有3个项目[weight, height, age],我们列表中有3个人。请注意,我们不知道人的身高C

A: [70kg, 170cm, 60y] 
B: [60kg, 169cm, 50y] 
C: [60kg, ?,  50y] 

什么是最好的方式找人最接近某甲

我的猜测

计算一下平均高度值,并用它来代替未知值。

因此,假设我们计算出170cm是身高的平均值,并且将人C重新定义为[60kg, ~170cm, 50y]

现在我们可以找到最接近A的人,它会是A, C, B

问题

现在的问题是,我们把C与猜测~170cm比前B已知169cm

它有点感觉不对。我们人类比机器更聪明,并且知道C几乎不可能是170cm。所以,最好把169cm的B放在C之前。

但是我们该如何计算惩罚?(最好在简单的经验算法)我们应该以某种方式惩罚具有未知值的向量?并通过多少(也许计算每两个人的高度之间的平均差异)?

怎么会是penalisation看起来像在一般情况下,当特征向量的尺寸为N,它有K知名项目和U未知(K + U = N)?

回答

1

在这个特殊的例子中,使用线性回归填补缺失值而不是平均值会更好吗?这样你可能对猜测值更有信心,可能不需要惩罚。

但是,如果你想罚款,我有一个想法,采取非缺失功能的比例。在这个例子中,总共有3个特征。 C具有2个特征中的值。所以C的非缺失特征的比例是2/3。通过将相似度分数乘以非缺失特征的比例来调整相似性分数。例如,如果A和C之间的相似度为0.9,则调整后的相似度为0.9 * 2/3 = 0.6。而A和B之间的相似性不会受到影响,因为B具有所有特征的值,并且比率将为1.

您还可以在计算比率时对特征加权。例如,(体重,身高,年龄)分别获得权重(0.3,0.4,0.3)。那么遗漏高度特征将具有(0.3 + 0.3)= 0.6的加权比率。由于我们认为身高比体重和年龄更重要,你可以看到C更受到惩罚。

+0

好主意与比例!谢谢! –

1

我会建议,用数据点来表示我们已知的属性,使用学习模型,线性回归或多层感知器来学习未知属性,然后使用这个模型填充未知属性。平均情况是线性模型的特例

1

您对数据问题感兴趣Imputation

有几种方法来解决这个问题,我只是要列出一些:

  • 平均值/模式/平均归责:归责是填补与估计的缺失值的方法那些。目标是采用可在数据集的有效值中识别的已知关系来帮助估计缺失值。平均值/模式/中值归算是最常用的方法之一。它由用给定属性的所有已知值的均值或中值(定量属性)或模式(定性属性)替换给定属性的缺失数据组成。这可以进一步分类为广义和相似的案例归责。

  • 预测模型:预测模型是处理缺失数据的复杂方法之一。在这里,我们创建一个预测模型来估计将替代缺失数据的值。在这种情况下,我们将数据集分成两组:一组没有缺失值的变量,另一组缺失值。第一个数据集成为模型的训练数据集,而第二个缺失值数据集是测试数据集,而具有缺失值的变量被视为目标变量。接下来,我们创建一个模型来根据训练数据集的其他属性预测目标变量,并填充测试数据集的缺失值。

  • KNN(k-最近邻)插补:在估算的该方法中,属性的缺失值使用最相似的,它们的值是缺少属性属性的给定数量的估算。两个属性的相似性是使用距离函数确定的。

  • 线性回归:用于建模标量因变量y和一种或多种解释性变量(或自变量)之间的关系的线性方法表示X.在预测,线性回归可以用于拟合预测模型到观察到的y和X值的数据集。在开发这样一个模型之后,如果给出一个附加的X值而没有附带的y值,那么可以使用拟合的模型来预测y的值。如果需要,请检查此example