class_docstr: Transformer that preprocesses data to be ready before EBM.
class_docstr_tok: ["Transformer","that","preprocesses","data","to","be","ready","before","EBM","."]
docstr: Initializes EBM preprocessor.
  
  Args:
      feature_names: Feature names as list.
      feature_types: Feature types as list, for example "continuous" or "nominal".
      max_bins: Max number of bins to process numeric features.
      binning: Strategy to compute bins: "quantile", "rounded_quantile", "uniform", or "private".
      min_samples_bin: minimum number of samples to put into a quantile or rounded_quantile bin
      min_unique_continuous: number of unique numbers required before a feature is considered continuous
      random_state: Random state.
      epsilon: Privacy budget parameter. Only applicable when binning is "private".
      delta: Privacy budget parameter. Only applicable when binning is "private".
      composition: Method of tracking noise aggregation. Must be one of 'classic' or 'gdp'.
      privacy_bounds: User specified min/max values for numeric features. Only applicable when binning is "private".
docstr_tok: ["Initializes","EBM","preprocessor",".","Args",":","feature_names",":","Feature","names","as","list",".","feature_types",":","Feature","types","as","list",",","for","example","``","continuous","''","or","``","nominal","''",".","max_bins",":","Max","number","of","bins","to","process","numeric","features",".","binning",":","Strategy","to","compute","bins",":","``","quantile","''",",","``","rounded_quantile","''",",","``","uniform","''",",","or","``","private","''",".","min_samples_bin",":","minimum","number","of","samples","to","put","into","a","quantile","or","rounded_quantile","bin","min_unique_continuous",":","number","of","unique","numbers","required","before","a","feature","is","considered","continuous","random_state",":","Random","state",".","epsilon",":","Privacy","budget","parameter",".","Only","applicable","when","binning","is","``","private","''",".","delta",":","Privacy","budget","parameter",".","Only","applicable","when","binning","is","``","private","''",".","composition",":","Method","of","tracking","noise","aggregation",".","Must","be","one","of","'classic","'","or","'gdp","'",".","privacy_bounds",":","User","specified","min\/max","values","for","numeric","features",".","Only","applicable","when","binning","is","``","private","''","."]
code: def __init__(
      self,
      feature_names=None,
      feature_types=None,
      max_bins=256,
      binning="quantile",
      min_samples_bin=1,
      min_unique_continuous=0,
      random_state=None,
      epsilon=None,
      delta=None,
      composition=None,
      privacy_bounds=None,
  ):
      """Initializes EBM preprocessor.
  
      Args:
          feature_names: Feature names as list.
          feature_types: Feature types as list, for example "continuous" or "nominal".
          max_bins: Max number of bins to process numeric features.
          binning: Strategy to compute bins: "quantile", "rounded_quantile", "uniform", or "private".
          min_samples_bin: minimum number of samples to put into a quantile or rounded_quantile bin
          min_unique_continuous: number of unique numbers required before a feature is considered continuous
          random_state: Random state.
          epsilon: Privacy budget parameter. Only applicable when binning is "private".
          delta: Privacy budget parameter. Only applicable when binning is "private".
          composition: Method of tracking noise aggregation. Must be one of 'classic' or 'gdp'.
          privacy_bounds: User specified min/max values for numeric features. Only applicable when binning is "private".
      """
      self.feature_names = feature_names
      self.feature_types = feature_types
      self.max_bins = max_bins
      self.binning = binning
      self.min_samples_bin = min_samples_bin
      self.min_unique_continuous = min_unique_continuous
      self.random_state = random_state
      self.epsilon = epsilon
      self.delta = delta
      self.composition = composition
      self.privacy_bounds = privacy_bounds
  
imports: import logging
  import math
  from itertools import count, repeat, groupby
  from warnings import warn
  import numpy
  from sklearn.base import BaseEstimator, TransformerMixin
  from sklearn.utils.validation import check_is_fitted
  from ._clean_x import unify_columns, preclean_X, unify_feature_names
  from ._clean_simple import clean_dimensions
  from ._seed import normalize_seed, increment_seed
  from ._native import Native
  from ._privacy import validate_eps_delta, calc_classic_noise_multi, calc_gdp_noise_multi, private_numeric_binning, private_categorical_binning
label_desc: Use image node_id 1 to create a new EBMPreprocessor object from inherited base classes: BaseEstimator, TransformerMixin with example: obj = EBMPreprocessor(feature_names, feature_types, max_bins, binning, min_samples_bin, min_unique_continuous, random_state, epsilon, delta, composition, privacy_bounds)