本文简要介绍python语言中 sklearn.preprocessing.RobustScaler
的用法。
用法:
class sklearn.preprocessing.RobustScaler(*, with_centering=True, with_scaling=True, quantile_range=(25.0, 75.0), copy=True, unit_variance=False)
使用对异常值具有鲁棒性的统计数据来缩放特征。
此 Scaler 移除中位数并根据分位数范围(默认为 IQR:四分位数范围)缩放数据。 IQR 是第 1 个四分位数(第 25 个分位数)和第 3 个四分位数(第 75 个分位数)之间的范围。
通过计算训练集中样本的相关统计数据,居中和缩放在每个特征上独立发生。然后使用
transform
方法存储中位数和四分位数范围以用于以后的数据。数据集的标准化是许多机器学习估计器的共同要求。通常这是通过去除均值并缩放到单位方差来完成的。但是,异常值通常会对样本均值/方差产生负面影响。在这种情况下,中位数和四分位距通常会给出更好的结果。
在用户指南中阅读更多信息。
- with_centering:布尔,默认=真
如果
True
,在缩放之前将数据居中。这将导致transform
在稀疏矩阵上尝试时引发异常,因为将它们居中需要构建一个密集矩阵,在常见的用例中,该矩阵可能太大而无法放入内存。- with_scaling:布尔,默认=真
如果
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
是第三个分位数。- copy:布尔,默认=真
如果
False
,请尽量避免复制并进行就地缩放。这不能保证总是在原地工作;例如如果数据不是NumPy 数组或scipy.sparse CSR 矩阵,则仍可能返回副本。- unit_variance:布尔,默认=假
如果
True
,缩放数据,使正态分布特征的方差为 1。通常,如果标准正态分布的q_max
的 x-values 与q_min
之间的差异大于 1,则数据集将被缩小。如果小于 1,则数据集将按比例放大。
- center_:浮点数数组
训练集中每个特征的中值。
- scale_:浮点数数组
训练集中每个特征的(缩放的)四分位数范围。
- n_features_in_:int
拟合期间看到的特征数。
- feature_names_in_:ndarray 形状(
n_features_in_
,) 拟合期间看到的特征名称。仅当
X
具有全为字符串的函数名称时才定义。
参数:
属性:
注意:
有关不同缩放器、转换器和规范器的比较,请参阅示例/预处理/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]])
相关用法
- Python sklearn RocCurveDisplay用法及代码示例
- Python sklearn RocCurveDisplay.from_estimator用法及代码示例
- Python sklearn RocCurveDisplay.from_predictions用法及代码示例
- Python sklearn RandomTreesEmbedding用法及代码示例
- Python sklearn RadiusNeighborsTransformer用法及代码示例
- Python sklearn RadiusNeighborsRegressor.radius_neighbors_graph用法及代码示例
- Python sklearn RandomizedSearchCV用法及代码示例
- Python sklearn RFE用法及代码示例
- Python sklearn RadiusNeighborsClassifier用法及代码示例
- Python sklearn RidgeCV用法及代码示例
- Python sklearn RegressorChain用法及代码示例
- Python sklearn RandomForestClassifier用法及代码示例
- Python sklearn RadiusNeighborsTransformer.radius_neighbors_graph用法及代码示例
- Python sklearn RANSACRegressor用法及代码示例
- Python sklearn RandomForestRegressor用法及代码示例
- Python sklearn RepeatedStratifiedKFold用法及代码示例
- Python sklearn RadiusNeighborsRegressor用法及代码示例
- Python sklearn RBF用法及代码示例
- Python sklearn Ridge用法及代码示例
- Python sklearn RadiusNeighborsTransformer.radius_neighbors用法及代码示例
- Python sklearn RidgeClassifierCV用法及代码示例
- Python sklearn RadiusNeighborsRegressor.radius_neighbors用法及代码示例
- Python sklearn RepeatedKFold用法及代码示例
- Python sklearn RBFSampler用法及代码示例
- Python sklearn RadiusNeighborsClassifier.radius_neighbors_graph用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.preprocessing.RobustScaler。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。