mojolearn.QuantileTransformer#
- class mojolearn.QuantileTransformer(*, n_quantiles=1000, output_distribution='uniform', ignore_implicit_zeros=False, subsample=10000, random_state=None, copy=True)[source]#
Bases:
_PrepBaseMap 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 atn_quantilesevenly spaced references; transform maps values through them by interpolation. NaN values are kept as NaN. Input and output are float32.scipy.sparseinput 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
subsamplerows 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 transformX.get_params([deep])Return the constructor parameters as a dict.
inverse_transform(X)set_params(**params)Set constructor parameters.
transform(X)