【发布时间】:2021-04-19 08:03:24
【问题描述】:
我正在尝试使用 Titanic 数据集作为我的第一个 Kaggle 项目,但遇到了这个错误。我一直在 Stack 上寻找解决方案,但我仍然无法弄清楚。
我做了两个 Pipelines 来预处理数字和分类特征:
num_pipeline = Pipeline([
('imputer', SimpleImputer( strategy='median')),
('scaler', StandardScaler())])
cat_pipeline = Pipeline([
('imputer', SimpleImputer(strategy='constant', fill_value='missing')),
('onehot', OneHotEncoder()) ])
然后我将它们加入到 ColumnTransformer 中
preprocessor = ColumnTransformer(
transformers = [
('num', num_pipeline, numeric_features),
('cat', cat_pipeline, categorical_features) ])
numeric_features 和 categorical_features 是数值和分类特征的列表:
numeric_features = ['Age', 'SibSp', 'Parch', 'Fare']
categorical_features = ['Pclass', 'Sex', 'Embarked']
最后,在我的最终管道中,我添加了一个分类器:
knn = Pipeline([
('Preprocessor' , preprocessor),
('Classifier', KNeighborsClassifier())
])
knn.fit(X_train, y_train)
这是我得到“ValueError:输入包含 NaN”的时候
【问题讨论】:
标签: python scikit-learn pipeline