Sci-kit学习错误地输入值

时间:2017-04-29 22:48:28

标签: python pandas machine-learning scikit-learn sklearn-pandas

我正在使用Scikit - 学习为我的数据集计算缺失值,但是查看数据集中我的某个功能的最大值,很明显这些缺失值被错误地估算。 首先,我使用pandas函数查看数据集中特征的最大10个值

 ofData = mergeData.iloc[:, 3]
 print ofData.nlargest(10)

这是

的输出
 124    4.0
 128    4.0
 146    4.0
 147    4.0
 177    4.0
 240    4.0
 253    4.0
 310    4.0
 360    4.0
 361    4.0

哪个是正确的我知道这是此功能的最大可能值。 然后我用Scikit学习数据。

 imp = Imputer(missing_values='NaN', strategy='mean', axis=1)
 nData = imp.fit_transform(mergeData)
 nData = pd.DataFrame(nData)

然后我再次使用pandas来查看此功能的最大10个值。

 ofData = nData.iloc[:, 3]
 print ofData.nlargest(10)

哪个输出,

 1030    77.571129
 1056    67.804684
 1308    62.780544
 1212    61.902375
 927     61.207525
 870     60.592999
 1100    55.604145
 1722    55.308159
 1415    52.637559
 72      49.940297

这些值显然不是该特征的平均值,因为它们都大于插补前的最大值。我完全迷失了可能造成这种情况的原因,并担心它可能会影响我数据集中其他功能的估算。

1 个答案:

答案 0 :(得分:1)

由于您希望使用中的平均值替换中的缺失值,因此轴必须为0(这是默认值),而不是1。您的代码使用中的均值替换缺失值。