什么样的 ML 模型可以找到缺失的参数?

What kind of ML model can find missing parameters?

给定一个数据集,如:

(FirstName, LastName, Sex, DateOfBirth, HairColor, EyeColor, Height, Weight, Location)

一些模型可以训练,如果只给定其中的一些,可以使用什么样的机器学习范式来预测缺失值?

示例:

给定:

(FirstName: John, LastName: Doe, Sex: M, Height: (5,10))

什么模型可以预测缺失值?

(DateOfBirth, HairColor, EyeColor, Weight, Location)

换句话说,模型应该能够将任何字段作为输入,并“填写”任何缺失的字段。

这叫什么类型的ML/DL?

如果您希望使用一种算法来填充缺失值,这称为估算缺失数据。如果您使用 Python,scikit-learn 库有许多插补算法,您可以在 the docs.

中探索

KNNImputer 是一个不错的算法,它查找与当前观察结果最相似的观察结果 n_neighbors,并使用来自这些相似观察结果的列的平均值填充缺失数据。在这里阅读更多:https://scikit-learn.org/stable/modules/generated/sklearn.impute.KNNImputer.html

如果连续有很多缺失值,首先需要了解:它会为我的问题增加价值吗?否则删除具有大量缺失值的行。

一种处理方式:移除目标变量。使用没有缺失值的特征,预测有缺失值的列。使用 ML 算法来预测和填充这些值。然后再次使用先前估算的缺失值来预测其他缺失值。

例如:如果特征和目标是:X1、X2、X3、X4、Y 让X1和X2没有缺失值,X3和X4有缺失值。 首先,保留 Y。使用 X1 和 X2,借助 ML 算法填充 X3 中的缺失值。同样,使用 X1、X2、X3 填充 X4 中的缺失值。然后最终预测目标值(Y)。

我在黑客马拉松中使用过这种方法,并取得了不错的效果。在应用它之前,首先,尝试对数据有一个很好的理解。该方法可能与您所要求的略有不同,但对于此类问题,这是一种不错的方法。