| from sklearn.compose import ColumnTransformer | |
| from sklearn.preprocessing import StandardScaler, OneHotEncoder | |
| def build_preprocessor(X): | |
| num_cols = X.select_dtypes(include=["int64", "float64"]).columns | |
| cat_cols = X.select_dtypes(include=["object", "category"]).columns | |
| return ColumnTransformer( | |
| transformers=[ | |
| ("num", StandardScaler(), num_cols), | |
| ("cat", OneHotEncoder(handle_unknown="ignore"), cat_cols), | |
| ] | |
| ) | |