當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python cuml.experimental.preprocessing.RobustScaler用法及代碼示例


用法:

class cuml.experimental.preprocessing.RobustScaler(*args, **kwargs)

使用對異常值具有魯棒性的統計數據來縮放特征。

此 Scaler 移除中位數並根據分位數範圍(默認為 IQR:四分位數範圍)縮放數據。 IQR 是第 1 個四分位數(第 25 個分位數)和第 3 個四分位數(第 75 個分位數)之間的範圍。

通過計算訓練集中樣本的相關統計數據,居中和縮放在每個特征上獨立發生。然後使用transform 方法存儲中位數和四分位數範圍以用於以後的數據。

數據集的標準化是許多機器學習估計器的共同要求。通常這是通過去除均值並縮放到單位方差來完成的。但是,異常值通常會對樣本均值/方差產生負麵影響。在這種情況下,中位數和四分位距通常會給出更好的結果。

參數

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) = (1st quantile, 3rd quantile) = IQR 用於計算 scale_ 的分位數範圍。

copy布爾值,可選,默認 = True

是否會觸發強製複製。如果 copy=False,則可能會通過轉換觸發複製。

例子

>>> from cuml.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]])

屬性

center_浮點數數組

訓練集中每個特征的中值。

scale_浮點數數組

訓練集中每個特征的(縮放的)四分位數範圍。

相關用法


注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cuml.experimental.preprocessing.RobustScaler。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。