maxabs_scale#
- sklearn.preprocessing.maxabs_scale(X, *, axis=0, copy=True)[原始碼]#
在不破壞稀疏性的情況下,將每個特徵縮放到 [-1, 1] 的範圍。
此估算器會單獨縮放每個特徵,使得訓練集中每個特徵的最大絕對值為 1.0。
此縮放器也可以應用於稀疏 CSR 或 CSC 矩陣。
- 參數:
- X形狀為 (n_samples, n_features) 的 {類陣列, 稀疏矩陣}
資料。
- axis{0, 1}, 預設值為 0
用於縮放的軸。如果為 0,則獨立縮放每個特徵,否則 (如果為 1) 則縮放每個樣本。
- copybool,預設值為 True
如果為 False,則嘗試避免複製並就地縮放。這不能保證總是就地工作;例如,如果資料是具有整數 dtype 的 numpy 陣列,即使 copy=False,也會傳回副本。
- 傳回值:
- X_tr形狀為 (n_samples, n_features) 的 {ndarray, 稀疏矩陣}
轉換後的資料。
警告
資料洩漏的風險 請勿使用
maxabs_scale
,除非您知道自己在做什麼。一個常見的錯誤是在將資料分割為訓練集和測試集之前將其應用於整個資料。這會使模型評估產生偏差,因為資訊會從測試集洩漏到訓練集。一般來說,我們建議在 Pipeline 中使用MaxAbsScaler
,以防止大多數資料洩漏的風險:pipe = make_pipeline(MaxAbsScaler(), LogisticRegression())
。
另請參閱
MaxAbsScaler
使用 Transformer API (例如,作為預處理
Pipeline
的一部分) 執行縮放到 [-1, 1] 範圍的操作。
註解
NaN 被視為遺失值:在計算統計資料時忽略,並在資料轉換期間保留。
如需比較不同的縮放器、轉換器和正規化器,請參閱:比較不同縮放器對含離群值資料的影響。
範例
>>> from sklearn.preprocessing import maxabs_scale >>> X = [[-2, 1, 2], [-1, 0, 1]] >>> maxabs_scale(X, axis=0) # scale each column independently array([[-1. , 1. , 1. ], [-0.5, 0. , 0.5]]) >>> maxabs_scale(X, axis=1) # scale each row independently array([[-1. , 0.5, 1. ], [-1. , 0. , 1. ]])