RobustScaler#
- class sklearn.preprocessing.RobustScaler(*, with_centering=True, with_scaling=True, quantile_range=(25.0, 75.0), copy=True, unit_variance=False)[源代码]#
使用对离群值具有鲁棒性的统计数据来缩放特征。
此缩放器删除中位数并根据分位数范围(默认为IQR:四分位数范围)缩放数据。IQR是第1四分位数(第25分位数)和第3四分位数(第75分位数)之间的范围。
通过计算训练集中样本的相关统计数据,对每个特征独立进行定中心和缩放。然后存储中位数和四分位距,以供以后使用
transform
法数据集的标准化是许多机器学习估计器的常见预处理。通常,这是通过去除均值并缩放到单位方差来完成的。然而,异常值通常会以负面的方式影响样本均值/方差。在这种情况下,使用中位数和四分位间距通常会得到更好的结果。有关可视化示例以及与其他缩放器的比较,请参阅 Compare RobustScaler with other scalers .
Added in version 0.17.
阅读更多的 User Guide .
- 参数:
- with_centering布尔,默认=True
如果
True
,在扩展之前将数据集中在中心。这将导致transform
在稀疏矩阵上尝试时引发异常,因为将它们居中需要构建一个密集矩阵,在常见的用例中,该矩阵可能太大而无法容纳在内存中。- with_scaling布尔,默认=True
如果
True
,将数据扩展到四分位数范围。- quantile_rangetuple(q_min,q_max),0.0 < q_min < q_max < 100.0, 默认=(25.0,75.0)
用于计算的分位数范围
scale_
.默认情况下,这等于IQR,即,q_min
是第一个分位数,q_max
是第三分位数。Added in version 0.18.
- copy布尔,默认=True
如果
False
,尝试避免复制并进行就地扩展。并不能保证始终就地工作;例如,如果数据不是NumPy数组或scipy.sparse CSR矩阵,则仍然可能返回副本。- unit_variance布尔,默认=假
如果
True
,缩放数据,使正态分布的要素的方差为1。一般来说,如果x值之间的差q_max
和q_min
如果标准正态分布大于1,则数据集将按比例缩小。如果小于1,则将扩大数据集。Added in version 0.24.
- 属性:
- center_浮动数组
训练集中每个特征的中位数。
- scale_浮动数组
训练集中每个特征的(缩放的)四分位间距。
Added in version 0.17: scale_ 属性
- n_features_in_int
期间看到的功能数量 fit .
Added in version 0.24.
- feature_names_in_ :nd形状数组 (
n_features_in_
,)nd数组形状( Names of features seen during fit. Defined only when
X
has feature names that are all strings.Added in version 1.0.
参见
robust_scale
没有估计器API的等效功能。
sklearn.decomposition.PCA
使用“RST = 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=None)[源代码]#
计算用于缩放的中位数和分位数。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
The data used to compute the median and quantiles used for later scaling along the features axis.
- y忽视
未使用,此处列出是为了按照惯例实现API一致性。
- 返回:
- self对象
安装了scaler。
- fit_transform(X, y=None, **fit_params)[源代码]#
适应数据,然后对其进行转换。
适合变压器
X
和y
具有可选参数fit_params
并返回的转换版本X
.- 参数:
- X形状类似阵列(n_samples,n_features)
输入样本。
- y形状为(n_samples,)或(n_samples,n_outputs)的阵列状, 默认值=无
目标值(无监督转换)。
- **fit_paramsdict
其他适合参数。
- 返回:
- X_newndray形状数组(n_samples,n_features_new)
变形的数组。
- get_feature_names_out(input_features=None)[源代码]#
获取用于转换的输出要素名称。
- 参数:
- input_features字符串或无的类数组,默认=无
输入功能。
如果
input_features
是None
那么feature_names_in_
在中用作功能名称。如果feature_names_in_
未定义,则生成以下输入要素名称:["x0", "x1", ..., "x(n_features_in_ - 1)"]
.如果
input_features
是一个类似阵列的,那么input_features
必须匹配feature_names_in_
如果feature_names_in_
是定义的。
- 返回:
- feature_names_out字符串对象的nd数组
与输入功能相同。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请检查 User Guide 关于路由机制如何工作。
- 返回:
- routingMetadataRequest
A
MetadataRequest
封装路由信息。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数:
- deep布尔,默认=True
如果为True,将返回此估计量和包含的作为估计量的子对象的参数。
- 返回:
- paramsdict
参数名称映射到其值。
- inverse_transform(X)[源代码]#
将数据缩放到原始表示。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
要转换回的重新缩放数据。
- 返回:
- X_tr{ndarray,sparse matrix}的形状(n_samples,n_features)
变形的数组。
- set_output(*, transform=None)[源代码]#
设置输出容器。
看到 介绍 set_output API 了解如何使用API的示例。
- 参数:
- transform{“默认”,“pandas”,“polars”},默认=无
配置输出
transform
和fit_transform
."default"
:Transformer的默认输出格式"pandas"
:DataFrame输出"polars"
:两极输出None
:转换配置不变
Added in version 1.4:
"polars"
添加了选项。
- 返回:
- self估计器实例
估计实例。