Scikit 学习输入值不正确
Sci-kit learn imputing values incorrectly
我正在使用 Scikit-learn 为我的数据集估算缺失值,但查看数据集中我的一个特征的最大值很明显,这些缺失值被错误地估算。
首先,我使用 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 learn 估算数据。
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
这些值显然不是该特征的平均值,因为它们都大于插补前的最大值。我完全不知道是什么原因造成的,我担心它也会影响我数据集中其他特征的归因。
由于您想用列中的平均值替换列中的缺失值,轴必须为0(即默认值),而不是 1。您的代码用 行 .
中的平均值替换缺失值
我正在使用 Scikit-learn 为我的数据集估算缺失值,但查看数据集中我的一个特征的最大值很明显,这些缺失值被错误地估算。 首先,我使用 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 learn 估算数据。
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
这些值显然不是该特征的平均值,因为它们都大于插补前的最大值。我完全不知道是什么原因造成的,我担心它也会影响我数据集中其他特征的归因。
由于您想用列中的平均值替换列中的缺失值,轴必须为0(即默认值),而不是 1。您的代码用 行 .
中的平均值替换缺失值