Я пытаюсь работать с Titanic Dataset в качестве своего первого проекта Kaggle, и я столкнулся с этой ошибкой. Я продолжал искать решение здесь, в стеке, но до сих пор не могу его понять.
Я создал два конвейера для предварительной обработки числовых и категориальных функций:
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 и category_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: Input содержит NaN