稳健缩放器#
- class sklearn.preprocessing.RobustScaler(*, with_centering=True, with_scaling=True, quantile_range=(25.0, 75.0), copy=True, unit_variance=False)[source]#
- 使用对异常值稳健的统计量来缩放特征。 - 此缩放器移除中位数,并根据分位数范围(默认为IQR:四分位数间距)缩放数据。IQR是第一四分位数(第25百分位数)和第三四分位数(第75百分位数)之间的范围。 - 中心化和缩放操作对每个特征独立进行,方法是计算训练集样本的相关统计量。然后存储中位数和四分位距,以便稍后使用 - transform方法应用于新数据。- 数据集的标准化是许多机器学习估计器的常用预处理步骤。通常,这是通过去除均值并缩放至单位方差来实现的。但是,异常值通常会对样本均值/方差产生负面影响。在这种情况下,使用中位数和四分位距通常会得到更好的结果。有关示例可视化以及与其他缩放器的比较,请参阅比较 RobustScaler 与其他缩放器。 - 0.17 版本新增。 - 在用户指南中了解更多信息。 - 参数:
- with_centering布尔值,默认为 True
- 如果为 - True,则在缩放之前对数据进行中心化。这将导致在尝试对稀疏矩阵使用- transform时引发异常,因为对它们进行中心化需要构建一个密集矩阵,在常见用例中,这个矩阵可能太大而无法放入内存。
- with_scaling布尔值,默认为 True
- 如果为 - True,则将数据缩放至四分位距。
- quantile_range元组 (q_min, q_max),0.0 < q_min < q_max < 100.0,默认为 (25.0, 75.0)
- 用于计算 - scale_的四分位距范围。默认情况下,这等于 IQR,即- q_min是第一个四分位数,- q_max是第三个四分位数。- 0.18 版本新增。 
- copy布尔值,默认为 True
- 如果为 - False,则尝试避免复制并改为就地缩放。但这并不保证总是能够就地进行;例如,如果数据不是 NumPy 数组或 scipy.sparse CSR 矩阵,则可能仍然会返回副本。
- unit_variance布尔值,默认为 False
- 如果为 - True,则缩放数据,以便正态分布的特征具有 1 的方差。一般来说,如果标准正态分布的- q_max和- q_min的 x 值之差大于 1,则数据集将被缩小。如果小于 1,则数据集将被放大。- 0.24 版本新增。 
 
- 属性:
 - 另请参阅 - 稳健缩放
- 没有估计器 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=None)[source]#
- 计算用于缩放的中位数和分位数。 - 参数:
- X形状为 (n_samples, n_features) 的 {数组、稀疏矩阵}
- 用于计算稍后沿特征轴缩放所使用中位数和分位数的数据。 
- y忽略
- 未使用,出于 API 一致性约定而存在。 
 
- 返回:
- self对象
- 已拟合的缩放器。 
 
 
 - fit_transform(X, y=None, **fit_params)[source]#
- 拟合数据,然后转换它。 - 使用可选参数 - fit_params将转换器拟合到- X和- y,并返回- X的转换版本。- 参数:
- X形状为 (n_samples, n_features) 的类数组
- 输入样本。 
- y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组,默认为 None
- 目标值(无监督转换则为 None)。 
- **fit_params字典
- 附加拟合参数。 
 
- 返回:
- X_new形状为 (n_samples, n_features_new) 的 ndarray 数组
- 转换后的数组。 
 
 
 - get_feature_names_out(input_features=None)[source]#
- 获取转换的输出特征名称。 - 参数:
- input_features字符串类数组或 None,默认为 None
- 输入特征。 - 如果 - input_features为- None,则使用- feature_names_in_作为输入特征名称。如果- feature_names_in_未定义,则生成以下输入特征名称:- ["x0", "x1", ..., "x(n_features_in_ - 1)"]。
- 如果 - input_features是类数组对象,则如果- feature_names_in_已定义,- input_features必须与- feature_names_in_匹配。
 
 
- 返回:
- feature_names_outstr 对象的ndarray
- 与输入特征相同。 
 
 
 - get_metadata_routing()[source]#
- 获取此对象的元数据路由。 - 请查看用户指南,了解路由机制的工作原理。 - 返回:
- routingMetadataRequest
- 一个 - MetadataRequest封装了路由信息。
 
 
 - get_params(deep=True)[source]#
- 获取此估计器的参数。 - 参数:
- deepbool,默认为 True
- 如果为 True,则将返回此估计器及其包含的子对象(它们也是估计器)的参数。 
 
- 返回:
- paramsdict
- 参数名称与其值的映射。 
 
 
 - inverse_transform(X)[source]#
- 将数据缩放回原始表示。 - 参数:
- X形状为 (n_samples, n_features) 的 {数组、稀疏矩阵}
- 要转换回的重新缩放数据。 
 
- 返回:
- X_tr形状为 (n_samples, n_features) 的 {ndarray,稀疏矩阵}
- 转换后的数组。 
 
 
 - set_output(*, transform=None)[source]#
- 设置输出容器。 - 查看介绍 set_output API,了解如何使用此 API 的示例。 - 参数:
- transform{"default", "pandas", "polars"},默认为 None
- 配置 - transform和- fit_transform的输出。- "default":转换器的默认输出格式
- "pandas":DataFrame 输出
- "polars":Polars 输出
- None:转换配置保持不变
 - 1.4 版新增: 添加了 - "polars"选项。
 
- 返回:
- self估计器实例
- 估计器实例。 
 
 
 
 
     
