QuantileDiscretizer transformer.
Equal-frequency binning for continuous features.
Classes
class preprocessing.discretization.equal_frequency.QuantileDiscretizer(Transformer)
Discretize continuous features into equal-frequency bins.
Partition continuous data into bins such that each bin contains approximately the same number of samples.
Constructor
__init__( self, n_bins: int = 10, columns: Optional[List[int]] = None, )
Overview
Quantile binning (equal-frequency) is more robust to skewed distributions than equal-width binning, as it adapts the bin widths to the density of the data.
Parameters
n_bins
int
= 10
Number of bins to create.
columns
list of int
Indices of columns to discretize. If
None, all columns are processed.
Attributes
bin_edges_
dict
Mapping of column index to the calculated quantile-based edges.
Discretize values into 5 equal-frequency bins:
python
>>> from tuiml.preprocessing.discretization import QuantileDiscretizer
>>> import numpy as np
>>> X = np.array([[1], [2], [3], [10], [11], [12], [20], [21]])
>>> discretizer = QuantileDiscretizer(n_bins=4)
>>> X_binned = discretizer.fit_transform(X)
Methods
get_parameter_schema
(cls)
fit
(self, X: np.ndarray, y: Optional[np.ndarray]=None, feature_names: Optional[List[str]]=None) -> 'QuantileDiscretizer'
transform
(self, X: np.ndarray) -> np.ndarray
bin_edges_
(self)
__repr__
(self) -> str