本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。