Before imputing I had numerical columns in "X_train": numerical_cols = [col for col in X_train.columns if X_train[col].dtype in ['int64','float64']] numerical_cols
After imputing there are no more numerical columns in the new dataframe "imputed_X_train_missing", all the numerical_cols are now 'object'. This is a potential problem when applying XGBRegressor.
This is my code:
X_valid_missing = X_valid.copy()
my_imputer = SimpleImputer(missing_values=np.nan, strategy='most_frequent')
my_imputer.fit(X_train_missing)
imputed_X_train_missing = pd.DataFrame(my_imputer.transform(X_train_missing))
imputed_X_valid_missing = pd.DataFrame(my_imputer.transform(X_valid_missing))
imputed_X_train_missing.columns = X_train_missing.columns
imputed_X_valid_missing.columns = X_valid_missing.columns ```