微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AttributeError: 'SimpleImputer' 对象没有属性 'mean'

如何解决AttributeError: 'SimpleImputer' 对象没有属性 'mean'

我正在尝试对 iris 数据集执行预处理,但在插补步骤中,我在使用 SimpleImputer 打印每列的平均值时遇到此错误

这里是完整的代码供参考。我在最后一部分收到错误

import numpy as np
from sklearn.datasets import load_iris
from sklearn import preprocessing

iris = load_iris()
X = iris.data
iris_normalized = preprocessing.normalize(iris.datadata,norm='l2')
print(iris_normalized.mean(axis=0))

enc = preprocessing.OneHotEncoder()
iris_target_onehot = enc.fit_transform(iris.target.reshape(-1,1))
print(iris_target_onehot.toarray()[[0,50,100]])


X[:50,:] = np.nan
from sklearn.impute import SimpleImputer
iris_imputed = SimpleImputer(missing_values=np.nan,strategy='mean')
iris_imputed.fit_transform(X)
print(iris_imputed.mean(axis=0))


抱歉,我是机器学习的新手。

解决方法

在调用其平均值之前,只需将 fit_transform 保存到 iris_imputed。它会起作用

iris_imputed = iris_imputed.fit_transform(iris.data)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。