sklearn.preprocessing.RobustScaler

class sklearn.preprocessing.RobustScaler(*, with_centering=True, with_scaling=True, quantile_range=(25.075.0), copy=True)

[源码]

使用对异常值鲁棒的统计信息来缩放特征。

此缩放器删除中位数,并根据分位数范围(默认值为IQR:四分位间距)缩放数据。IQR是第一个四分位数(25%分位数)和第3个四分位数(75%分位数)之间的范围。

通过计算训练集中样本的相关统计信息,对每个特征进行独立的居中和缩放。然后存储中位数和四分位数范围,以使用变换方法在以后的数据上使用。

数据集的标准化是许多机器学习估计器的普遍要求。通常,这是通过去除均值并缩放到单位方差来完成的。但是,离群值通常会以负面方式影响样本均值/方差。在这种情况下,中位数和四分位数间距通常会产生更好的结果。

版本0.17中的新功能。

用户指南中阅读更多内容。

参数 说明
with_centering boolean, True by default
如果为True,则在缩放之前将数据居中。尝试使用稀疏矩阵时,这将导致转换引发异常,因为将它们居中需要构建密集的矩阵,在常见的使用情况下,该矩阵可能太大而无法容纳在内存中。
with_scaling boolean, True by default
如果为True,则将数据缩放到四分位数范围。
quantile_range tuple (q_min, q_max), 0.0 < q_min < q_max < 100.0
默认值:(25.0,75.0)=(第一分位数,第三分位数)= IQR用于计算scale_的分位数范围。
版本0.18中的新功能。
copy boolean, optional, default is True
如果为False,请尝试避免复制并改为就地缩放。不能保证总是在原地工作;例如,如果数据不是NumPy数组或scipy.sparse CSR矩阵,则可能仍会返回副本。
属性 说明
center_ array of floats
训练集中每个要素的中位数。
scale_ array of floats
训练集中每个要素的(缩放)四分位数范围。
0.17版中的新功能:scale_属性。

另见:

robust_scale

没有估算器API的等效函数。

sklearn.decomposition.PCA

进一步删除带有'whiten = True'的特征之间的线性相关性。

注释

有关不同缩放器,转换器和规范化器的比较,请参阅examples/preprocessing/plot_all_scaling.py

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_params([deep]) 获取此估计量的参数。
inverse_transform(X) 将数据按比例缩小到原始表示形式
set_params(**params) 设置此估算器的参数。
transform(X) 居中并缩放数据。
__init__(*, with_centering=True, with_scaling=True, quantile_range=(25.075.0), copy=True)

[源码]

初始化self。请参阅help(type(self))以获取准确的签名

fit(X, y=None)

[源码]

计算要用于缩放的中位数和分位数。

计算输出要素的数量。

参数 说明
X array-like, shape [n_samples, n_features]
用于计算中位数和分位数的数据,这些中位数和分位数用于以后沿特征轴缩放。
fit_transform(X, y=None, **fit_params)

[源码]

拟合数据,然后对其进行转换。

使用可选参数fit_params将转换器拟合到X和y,并返回X的转换版本。

参数 说明
X {array-like, sparse matrix, dataframe} of shape (n_samples, n_features)
y ndarray of shape (n_samples,), default=None
目标值。
**fit_params dict
其他拟合参数。
返回值 说明
X_new ndarray array of shape (n_samples, n_features_new)
转换后的数组。
get_params(deep=True)

[源码]

获取此估计量的参数。

参数 说明
deep bool, default=True
如果为True,则将返回此估算器和作为估算器的所包含子对象的参数。
返回值 说明
params mapping of string to any
参数名称映射到其值。
inverse_transform(X)

[源码]

将数据按比例缩小到原始表示形式

参数 说明
X **array-like **
用于沿指定轴缩放的数据。
set_params(**params)

源码

设置此估算器的参数。

该方法适用于简单的估计器以及嵌套对象(例如管道)。后者的参数形式为<component>__<parameter>这样就可以更新嵌套对象的每个组件。

参数 说明
**params dict
估算器参数。
返回值 说明
self object
估算器实例。
transform(X)

[源码]

居中并缩放数据。

参数 说明
X {array-like, sparse matrix}
用于沿指定轴缩放的数据。

sklearn.preprocessing.RobustScaler使用示例