class_docstr: The `IntervalEncoder` transformer bends features in `X` with regards to`y`.
  
  We take each column in `X` separately and smooth it towards `y` using the strategy that is defined in `method`.
  
  Note that this allows us to make certain features strictly monotonic in your machine learning model if you follow
  this with an appropriate model.
  
  Parameters
  ----------
  n_chunks : int, default=10
      The number of cuts that makes the interval.
  span : float, default=1.0
      A hyperparameter for the interpolation method, if the method is `"normal"` it resembles the width of the radial
      basis function used to weigh the points. It is ignored if the method is `"increasing"` or `"decreasing"`.
  method : Literal["average", "normal", "increasing", "decreasing"], default="normal"
      The interpolation method used, can be either `"average"`, `"normal"`, `"increasing"` or `"decreasing"`.
  
  Attributes
  ----------
  quantiles_ : np.ndarray of shape (n_features, n_chunks)
      The quantiles that are used to cut the interval.
  heights_ : np.ndarray of shape (n_features, n_chunks)
      The heights of the quantiles that are used to cut the interval.
  n_features_in_ : int
      Number of features seen during `fit`.
  num_cols_ : int
      Deprecated, please use `n_features_in_` instead.
class_docstr_tok: ["The","`","IntervalEncoder","`","transformer","bends","features","in","`","X","`","with","regards","to","`","y","`",".","We","take","each","column","in","`","X","`","separately","and","smooth","it","towards","`","y","`","using","the","strategy","that","is","defined","in","`","method","`",".","Note","that","this","allows","us","to","make","certain","features","strictly","monotonic","in","your","machine","learning","model","if","you","follow","this","with","an","appropriate","model",".","Parameters","--","--","--","--","--","n_chunks",":","int",",","default=10","The","number","of","cuts","that","makes","the","interval",".","span",":","float",",","default=1.0","A","hyperparameter","for","the","interpolation","method",",","if","the","method","is","`","``","normal","''","`","it","resembles","the","width","of","the","radial","basis","function","used","to","weigh","the","points",".","It","is","ignored","if","the","method","is","`","``","increasing","''","`","or","`","``","decreasing","''","`",".","method",":","Literal","[","``","average","''",",","``","normal","''",",","``","increasing","''",",","``","decreasing","''","]",",","default=","''","normal","''","The","interpolation","method","used",",","can","be","either","`","``","average","''","`",",","`","``","normal","''","`",",","`","``","increasing","''","`","or","`","``","decreasing","''","`",".","Attributes","--","--","--","--","--","quantiles_",":","np.ndarray","of","shape","(","n_features",",","n_chunks",")","The","quantiles","that","are","used","to","cut","the","interval",".","heights_",":","np.ndarray","of","shape","(","n_features",",","n_chunks",")","The","heights","of","the","quantiles","that","are","used","to","cut","the","interval",".","n_features_in_",":","int","Number","of","features","seen","during","`","fit","`",".","num_cols_",":","int","Deprecated",",","please","use","`","n_features_in_","`","instead","."]
code: def num_cols_(self):
      warn(
          "Please use `n_features_in_` instead of `num_cols_`, `num_cols_` will be deprecated in future versions",
          DeprecationWarning,
      )
      return self.n_features_in_
  
file_path: scikit-lego/sklego/preprocessing/intervalencoder.py
imports: from warnings import warn
  import numpy
  from sklearn.base import BaseEstimator, TransformerMixin
  from sklearn.utils import check_array, check_X_y
  from sklearn.utils.validation import check_is_fitted
label_desc: Use image node_id 4 for calling the IntervalEncoder obj's underlying member method code with example usage: obj.num_cols_() and returns: self