【发布时间】:2020-08-28 07:50:56
【问题描述】:
我正在浏览它的文档,它说
每个样本的缺失值均使用来自 n_neighbors 在训练集中找到的最近邻居。两个样品 如果两个都没有丢失的特征是接近的,那么它们是接近的。
现在,玩弄一个玩具数据集,即
>>>X = [[1, 2, nan], [3, 4, 3], [nan, 6, 5], [8, 8, 7]]
>>>X
[[ 1., 2., nan],
[ 3., 4., 3.],
[nan, 6., 5.],
[ 8., 8., 7.]]
我们制作一个 KNNImputer 如下:
imputer = KNNImputer(n_neighbors=2)
问题是,它如何填充nans,同时在两列中有nans?例如,如果要在第一行的第三列中填充nan,由于其中一行在第一列中也有nan,它将如何选择最接近的特征?当我做imputer.fit_transform(X) 它给了我
array([[1. , 2. , 4. ],
[3. , 4. , 3. ],
[5.5, 6. , 5. ],
[8. , 8. , 7. ]])
这意味着要填写第一行中的nan,最近的邻居是第二行和第三行。第一排和第三排的欧式距离是怎么计算的?
【问题讨论】:
标签: python machine-learning scikit-learn data-science imputation