alibi.utils.discretizer module

class alibi.utils.discretizer.Discretizer(data, numerical_features, feature_names, percentiles=(25, 50, 75))[source]

Bases: object

__init__(data, numerical_features, feature_names, percentiles=(25, 50, 75))[source]

Initialize the discretizer

Parameters
  • data (ndarray) – Data to discretize

  • numerical_features (List[int]) – List of indices corresponding to the continuous feature columns. Only these features will be discretized.

  • feature_names (List[str]) – List with feature names

  • percentiles (Sequence[Union[int, float]]) – Percentiles used for discretization

Return type

None

bins(data)[source]
Parameters

data (ndarray) – Data to discretize.

Return type

List[ndarray]

Returns

List with bin values for each feature that is discretized.

discretize(data)[source]
Parameters

data (ndarray) – Data to discretize

Return type

ndarray

Returns

Discretized version of data with the same dimension.

static get_percentiles(x, qts)[source]

Discretizes the the data in x using the quantiles in qts. This is achieved by searching for the index of each value in x into qts, which is assumed to be a 1-D sorted array.

Parameters
  • x (ndarray) – A tensor of data to be discretized

  • qts (ndarray) – A percentiles array. This should be a 1-D array sorted in ascending order.

Return type

ndarray

Returns

A discretized data tensor.