dask_ml.preprocessing.RobustScaler

dask_ml.preprocessing.RobustScaler

class dask_ml.preprocessing.RobustScaler(*, with_centering=True, with_scaling=True, quantile_range=(25.0, 75.0), copy=True, unit_variance=False)[源代码]

使用对异常值稳健的统计数据来缩放特征。

此缩放器移除中位数,并根据分位数范围(默认使用IQR:四分位距)缩放数据。IQR是第一四分位数(第25个分位数)和第三四分位数(第75个分位数)之间的范围。

中心化和缩放在每个特征上独立进行,通过计算训练集中样本的相关统计数据。然后存储中位数和四分位距,以便在使用 transform() 方法处理后续数据时使用。

数据集的标准化是许多机器学习估计器的常见预处理步骤。通常通过去除均值并缩放到单位方差来完成。然而,异常值通常会以负面方式影响样本均值/方差。在这种情况下,使用中位数和四分位距通常会得到更好的结果。有关示例可视化和其他缩放器的比较,请参阅 比较 RobustScaler 与其他缩放器

0.17 新版功能.

更多信息请参阅 用户指南

参数
with_centeringbool, 默认=True

如果为 True,则在缩放之前将数据居中。这将在尝试对稀疏矩阵进行 transform() 时引发异常,因为将它们居中需要构建一个密集矩阵,这在常见用例中可能会太大而无法装入内存。

with_scalingbool, 默认=True

如果 True,将数据缩放到四分位距。

分位数范围tuple (q_min, q_max), 0.0 < q_min < q_max < 100.0, 默认值=(25.0, 75.0)

用于计算 scale_ 的分位数范围。默认情况下,这等于 IQR,即 q_min 是第一个分位数,q_max 是第三个分位数。

0.18 新版功能.

复制bool, 默认=True

如果 False,尝试避免复制并进行原地缩放。这并不保证总是原地工作;例如,如果数据不是 NumPy 数组或 scipy.sparse CSR 矩阵,仍然可能返回一个副本。

unit_variancebool, 默认=False

如果 True,将数据缩放,使得正态分布的特征具有1的方差。通常,如果标准正态分布的 q_maxq_min 的x值之间的差异大于1,数据集将被缩小。如果小于1,数据集将被放大。

0.24 新版功能.

属性
center_浮点数数组

训练集中每个特征的中位数值。

scale_浮点数数组

训练集中每个特征的(缩放后的)四分位距。

0.17 新版功能: scale_ 属性。

n_features_in_整数

拟合 过程中看到的特征数量。

0.24 新版功能.

feature_names_in_ : 形状为 (n_features_in_,) 的 ndarray形状为的 ndarray

拟合 过程中看到的特征名称。仅当 X 的所有特征名称均为字符串时定义。

1.0 新版功能.

参见

robust_scale

不使用估计器API的等效功能。

sklearn.decomposition.PCA

进一步通过设置 ‘whiten=True’ 来消除特征之间的线性相关性。

注释

https://en.wikipedia.org/wiki/Median https://en.wikipedia.org/wiki/Interquartile_range

示例

>>> from sklearn.preprocessing import RobustScaler
>>> X = [[ 1., -2.,  2.],
...      [ -2.,  1.,  3.],
...      [ 4.,  1., -2.]]
>>> transformer = RobustScaler().fit(X)
>>> transformer
RobustScaler()
>>> transformer.transform(X)
array([[ 0. , -2. ,  0. ],
       [-1. ,  0. ,  0.4],
       [ 1. ,  0. , -1.6]])

方法

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)

中心化和缩放数据。

__init__(*, with_centering=True, with_scaling=True, quantile_range=(25.0, 75.0), copy=True, unit_variance=False)[源代码]