mojolearn.QuantileTransformer#

class mojolearn.QuantileTransformer(*, n_quantiles=1000, output_distribution='uniform', ignore_implicit_zeros=False, subsample=10000, random_state=None, copy=True)[source]#

Bases: _PrepBase

Map each feature to a uniform or normal distribution through its quantiles.

Follows scikit-learn’s QuantileTransformer. Fit computes, per column, numpy’s linear percentiles of the non-NaN values at n_quantiles evenly spaced references; transform maps values through them by interpolation. NaN values are kept as NaN. Input and output are float32. scipy.sparse input is not supported.

Parameters:
  • n_quantiles (int, default 1000) – Number of quantiles; capped at the number of rows used in fit.

  • output_distribution ({‘uniform’, ‘normal’}, default ‘uniform’) – Target distribution. 'normal' output is clipped to about +-5.2, as in scikit-learn.

  • ignore_implicit_zeros (bool, default False) – Accepted for scikit-learn compatibility (it applies to sparse input only).

  • subsample (int or None, default 10000) – Above this many rows, fit uses subsample rows drawn without replacement. None uses every row.

  • random_state (int or None, default None) – Seed for the subsample. None uses seed 0. The draw uses mojolearn’s own generator, so the rows differ from scikit-learn’s for the same seed.

  • copy (bool, default True) – Accepted for scikit-learn compatibility; transform always returns a new array.

Variables:
  • n_quantiles_ (int) – Number of quantiles used.

  • quantiles_ (array of shape (n_quantiles_, n_features)) – Quantile values of each column.

  • references_ (array of shape (n_quantiles_,)) – Quantile levels in [0, 1].

  • n_features_in_ (int) – Number of columns seen in fit.

  • numeric_mode_ (str) – Numeric mode the estimator was fitted in; transform runs in the same mode.

Examples

>>> import numpy as np, mojolearn
>>> X = np.random.default_rng(0).exponential(size=(1000, 4)).astype(np.float32)
>>> Xt = mojolearn.QuantileTransformer(output_distribution="normal").fit_transform(X)
__init__(*, n_quantiles=1000, output_distribution='uniform', ignore_implicit_zeros=False, subsample=10000, random_state=None, copy=True)[source]#

Methods

fit(X[, y])

fit_transform(X[, y])

Fit to X, then transform X.

get_params([deep])

Return the constructor parameters as a dict.

inverse_transform(X)

set_params(**params)

Set constructor parameters.

transform(X)