class_docstr: Class for all standard transformation steps.
class_docstr_tok: ["Class","for","all","standard","transformation","steps","."]
docstr: Assign the types of every column in the dataset.
docstr_tok: ["Assign","the","types","of","every","column","in","the","dataset","."]
code: def _prepare_column_types(
      self,
      ordinal_features,
      numeric_features,
      categorical_features,
      date_features,
      text_features,
      ignore_features,
      keep_features,
  ):
      """Assign the types of every column in the dataset."""
      self.logger.info("Assigning column types.")
  
      # Features to be ignored (are not read by self.dataset, self.X, etc...)
      self._fxs["Ignore"] = ignore_features or []
  
      # Ordinal features
      if ordinal_features:
          check_features_exist(ordinal_features.keys(), self.X)
          self._fxs["Ordinal"] = ordinal_features
      else:
          self._fxs["Ordinal"] = {}
  
      # Numerical features
      if numeric_features:
          check_features_exist(numeric_features, self.X)
          self._fxs["Numeric"] = numeric_features
      else:
          self._fxs["Numeric"] = [
              col
              for col in self.X.select_dtypes(include="number").columns
              if col not in (categorical_features or [])
          ]
  
      # Date features
      if date_features:
          check_features_exist(date_features, self.X)
          self._fxs["Date"] = date_features
      else:
          self._fxs["Date"] = list(
              self.X.select_dtypes(include="datetime").columns
          )
  
      # Text features
      if text_features:
          check_features_exist(text_features, self.X)
          self._fxs["Text"] = text_features
  
      # Categorical features
      if categorical_features:
          check_features_exist(categorical_features, self.X)
          self._fxs["Categorical"] = categorical_features
      else:
          # Default should exclude datetime and text columns
          self._fxs["Categorical"] = [
              col
              for col in self.X.select_dtypes(
                  include=["string", "object", "category"]
              ).columns
              if col not in self._fxs["Date"] + self._fxs["Text"]
          ]
  
      # Features to keep during all preprocessing
      self._fxs["Keep"] = keep_features or []
  
imports: from copy import deepcopy
  import numpy
  import pandas
  from category_encoders.basen import BaseNEncoder
  from category_encoders.one_hot import OneHotEncoder
  from category_encoders.ordinal import OrdinalEncoder
  from category_encoders.target_encoder import TargetEncoder
  from imblearn.combine import SMOTEENN, SMOTETomek
  from imblearn.over_sampling import ADASYN, SMOTE, SMOTEN, SMOTENC, SVMSMOTE, BorderlineSMOTE, KMeansSMOTE, RandomOverSampler
  from imblearn.under_sampling import AllKNN, CondensedNearestNeighbour, EditedNearestNeighbours, InstanceHardnessThreshold, NearMiss, NeighbourhoodCleaningRule, OneSidedSelection, RandomUnderSampler, RepeatedEditedNearestNeighbours, TomekLinks
  from sklearn.decomposition import PCA, IncrementalPCA, KernelPCA
  from sklearn.feature_selection import SelectFromModel, SelectKBest, SequentialFeatureSelector, VarianceThreshold, f_classif, f_regression
  from sklearn.impute import KNNImputer, SimpleImputer
  from sklearn.model_selection import GroupKFold, KFold, StratifiedKFold, TimeSeriesSplit, train_test_split
  from sklearn.preprocessing import KBinsDiscretizer, LabelEncoder, MaxAbsScaler, MinMaxScaler, PolynomialFeatures, PowerTransformer, QuantileTransformer, RobustScaler, StandardScaler
  from pycaret.containers.models.classification import get_all_model_containers
  from pycaret.containers.models.regression import get_all_model_containers
  from pycaret.internal.preprocess.iterative_imputer import IterativeImputer
  from pycaret.internal.preprocess.transformers import CleanColumnNames, DropImputer, EmbedTextFeatures, ExtractDateTimeFeatures, FixImbalancer, GroupFeatures, RareCategoryGrouping, RemoveMulticollinearity, RemoveOutliers, TargetTransformer, TransformerWrapper, TransformerWrapperWithInverse
  from pycaret.utils.constants import SEQUENCE
  from pycaret.utils.generic import MLUsecase, check_features_exist, df_shrink_dtypes, get_columns_to_stratify_by, normalize_custom_transformers, to_df, to_series
label_desc: Use image node_id 4 for calling the Preprocessor obj's underlying member method code with example usage: obj._prepare_column_types(ordinal_features, numeric_features, categorical_features, date_features, text_features, ignore_features, keep_features) without return types