如何使用KNN估算缺失值

时间:2019-01-15 10:48:00

标签: python python-3.x imputation

我正在尝试从数据框中插入缺少的值,为此,我使用了fancyimpute库。

from fancyimpute import KNN 
X_filled_knn = KNN(k=3).complete(df_OppLine[['family']])

我有这个错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-28-8475f35fc36a> in <module>()
----> 1 X_filled_knn = KNN(k=3).complete(df_OppLine[['family']])

AttributeError: 'KNN' object has no attribute 'complete'

有什么办法可以帮助我解决此错误吗?

2 个答案:

答案 0 :(得分:0)

尝试将其更改为:

from fancyimpute import KNN
X_filled_knn = KNN(k=3).fit_transform(df_OppLine[['family']])

答案 1 :(得分:0)

首先,您必须将字符串转换为数字数据。

尝试单热编码(为每个类别创建一列,并且仅针对相应类别的值为 1,其余为 0)。 您也可以尝试序数编码。它为每个类别分配一个值

CW_ModelDevelopment$Class<- as.integer(CW_ModeDevelopment$Class == 'Positive')