问题描述
我正在尝试对 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)