我有一个包含 70 列缺失值的数据集。每列都有几列 (3-5),它们的相关性明显高于其他列,但每列的相关列与其他列非常不同。我想执行 KNN 插补的调整版本,在我从头开始编写之前,我想知道是否有类似的东西,所以,我不打算重新发明轮子。
在初始化时,获得所有变量之间的相关矩阵。对于需要估算的每个缺失单元格,该算法从相关矩阵中检索前 n 个最高相关列,并仅使用这 N 列来选择 k 个最近邻居并使用这些邻居的平均值。
如果我对我的问题不是很清楚,谢谢并道歉。如果您有任何疑问,我会尽力澄清。
我有一个包含 70 列缺失值的数据集。每列都有几列 (3-5),它们的相关性明显高于其他列,但每列的相关列与其他列非常不同。我想执行 KNN 插补的调整版本,在我从头开始编写之前,我想知道是否有类似的东西,所以,我不打算重新发明轮子。
在初始化时,获得所有变量之间的相关矩阵。对于需要估算的每个缺失单元格,该算法从相关矩阵中检索前 n 个最高相关列,并仅使用这 N 列来选择 k 个最近邻居并使用这些邻居的平均值。
如果我对我的问题不是很清楚,谢谢并道歉。如果您有任何疑问,我会尽力澄清。
您可以扩展 scikit-learn 的sklearn.impute.KNNImputer
. 该metric
参数可以接受您描述的自定义函数。