dask_ml.preprocessing.QuantileTransformer
dask_ml.preprocessing
.QuantileTransformer¶
- class dask_ml.preprocessing.QuantileTransformer(*, n_quantiles=1000, output_distribution='uniform', ignore_implicit_zeros=False, subsample=10000, random_state=None, copy=True)[源代码]¶
使用分位数信息转换特征。
此实现与 scikit-learn 的实现不同,它使用了近似分位数。以下是 scikit-learn 的文档字符串。
此方法将特征转换为遵循均匀或正态分布。因此,对于给定的特征,此转换倾向于分散最频繁的值。它还减少了(边际)离群值的影响:因此,这是一种稳健的预处理方案。
转换是独立应用于每个特征的。首先使用特征的累积分布函数的估计值将原始值映射到均匀分布。然后使用相关的分位数函数将得到的值映射到所需的输出分布。新/未见数据的特征值如果落在拟合范围之外,将被映射到输出分布的边界。请注意,此转换是非线性的。它可能会扭曲在相同尺度上测量的变量之间的线性相关性,但使得在不同尺度上测量的变量更直接可比。
例如,请参阅 比较 QuantileTransformer 与其他缩放器 的可视化。
更多信息请参阅 用户指南。
0.19 新版功能.
- 参数
- n_quantilesint, 默认=1000 或 n_samples
要计算的分位数数量。它对应于用于离散化累积分布函数的界标数量。如果 n_quantiles 大于样本数量,n_quantiles 将被设置为样本数量,因为更多的分位数数量并不会更好地逼近累积分布函数估计器。
- 输出分布{‘uniform’, ‘normal’}, 默认=’uniform’
变换数据的边缘分布。选项为 ‘均匀’(默认)或 ‘正态’。
- ignore_implicit_zerosbool, 默认=False
仅适用于稀疏矩阵。如果为 True,则矩阵的稀疏条目将被丢弃以计算分位数统计信息。如果为 False,则这些条目将被视为零。
- 子样本int 或 None, 默认=10_000
用于估计分位数的最大样本数,以提高计算效率。请注意,对于值相同的稀疏矩阵和密集矩阵,子采样过程可能有所不同。通过设置 subsample=None 来禁用子采样。
1.5 新版功能: 添加了选项 None 以禁用子采样。
- random_stateint, RandomState 实例或 None, 默认=None
确定用于子采样和噪声平滑的随机数生成。详情请参见
subsample
。传递一个整数以在多次函数调用中获得可重复的结果。参见 术语表 。- 复制bool, 默认=True
设置为 False 以执行就地转换并避免复制(如果输入已经是 numpy 数组)。
- 属性
- n_quantiles_整数
用于离散化累积分布函数的实际分位数数量。
- 分位数_形状为 (n_quantiles, n_features) 的 ndarray
对应参考分位数的值。
- 参考文献形状为 (n_quantiles, ) 的 ndarray
参考文献的分位数。
- n_features_in_整数
在 拟合 过程中看到的特征数量。
0.24 新版功能.
- feature_names_in_ : 形状为 (n_features_in_,) 的 ndarray形状为的 ndarray
在 拟合 过程中看到的特征名称。仅当 X 的所有特征名称均为字符串时定义。
1.0 新版功能.
参见
quantile_transform
不使用估计器API的等效功能。
PowerTransformer
使用幂变换执行到正态分布的映射。
StandardScaler
执行标准化处理,速度更快,但对异常值的鲁棒性较差。
RobustScaler
执行稳健的标准化,去除异常值的影响,但不将异常值和内点放在同一尺度上。
注释
NaN 被视为缺失值:在拟合时被忽略,在转换时被保留。
示例
>>> import numpy as np >>> from sklearn.preprocessing import QuantileTransformer >>> rng = np.random.RandomState(0) >>> X = np.sort(rng.normal(loc=0.5, scale=0.25, size=(25, 1)), axis=0) >>> qt = QuantileTransformer(n_quantiles=10, random_state=0) >>> qt.fit_transform(X) array([...])
方法
fit
(X[, y])计算用于转换的分位数。
fit_transform
(X[, y])拟合数据,然后进行转换。
get_feature_names_out
([input_features])获取转换后的输出特征名称。
get_metadata_routing
()获取此对象的元数据路由。
get_params
([deep])获取此估计器的参数。
inverse_transform
(X)反投影到原始空间。
set_output
(*[, transform])设置输出容器。
set_params
(**params)设置此估计器的参数。
transform
(X)数据的特征变换。