KNN Imputer 实现 sklearn

KNN Imputer Implemenation sklearn

我想使用 class sklearn.impute.KNNImputer 来估算数据集中的缺失值。

关于这个我有 2 个问题:

  1. 我在 Medium 上看到了多个实现,在官方 Sklearn 上也看到了示例 website。 None 其中规范化了数据。在使用 KNN 之前不应该对数据进行归一化吗?或者 KNNImputer 是否在幕后规范化数据?

  2. KNNImputer 只接受数字输入。那么对于分类数据,我应该一次性编码它们然后使用 Impute 函数吗?

谢谢

  1. 不,KNNImputer 中没有隐式归一化。您可以在 source 中看到它只是使用 KNN 逻辑来计算其邻居特征的加权平均值。

  2. 正确,您需要对它们进行一次热编码,然后您需要对这些进行 argmax,因为输入器将创建不 one-hot 表示(例如 [0.2, 0.1, 0.4 ])