本文簡要介紹python語言中 sklearn.preprocessing.power_transform
的用法。
用法:
sklearn.preprocessing.power_transform(X, method='yeo-johnson', *, standardize=True, copy=True)
冪變換是一係列參數化、單調變換,用於使數據更豐富Gaussian-like。這對於建模與異方差(非常數方差)相關的問題或其他需要正態性的情況很有用。
目前,power_transform 支持Box-Cox 變換和Yeo-Johnson 變換。通過最大似然估計穩定方差和最小化偏度的最佳參數。
Box-Cox 要求輸入數據嚴格為正,而Yeo-Johnson 支持正數據或負數據。
默認情況下,zero-mean、unit-variance 標準化應用於轉換後的數據。
在用戶指南中閱讀更多信息。
- X:形狀類似數組 (n_samples, n_features)
要使用冪變換進行變換的數據。
- method:{‘yeo-johnson’,‘box-cox’},默認=‘yeo-johnson’
功率變換方法。可用的方法有:
- ‘yeo-johnson’ [1],適用於正值和負值
- ‘box-cox’ [2],僅適用於嚴格正值
- standardize:布爾,默認=真
設置為 True 以將zero-mean、unit-variance 標準化應用於轉換後的輸出。
- copy:布爾,默認=真
設置為 False 以在轉換期間執行就地計算。
- X_trans:ndarray 形狀(n_samples,n_features)
轉換後的數據。
參數:
返回:
注意:
NaNs 被視為缺失值:在
fit
中忽略,並在transform
中維護。有關不同縮放器、轉換器和規範器的比較,請參閱示例/預處理/plot_all_scaling.py。
參考:
- 1
我知道。 Yeo 和 R.A.約翰遜,“一個新的權力轉換家族,以改善常態或對稱性。” Biometrika, 87(4), pp.954-959, (2000)。
- 2
G.E.P. Box 和 D.R.考克斯,“變革分析”,皇家統計學會雜誌 B,26, 211-252 (1964)。
例子:
>>> import numpy as np >>> from sklearn.preprocessing import power_transform >>> data = [[1, 2], [3, 2], [4, 5]] >>> print(power_transform(data, method='box-cox')) [[-1.332... -0.707...] [ 0.256... -0.707...] [ 1.076... 1.414...]]
警告
數據泄露風險。不使用
power_transform
除非你知道你在做什麽。一個常見的錯誤是將其應用於整個數據前分為訓練集和測試集。這將使模型評估產生偏差,因為信息會從測試集泄漏到訓練集。一般來說,我們建議使用sklearn.preprocessing.PowerTransformer在一個管道為了防止大多數數據泄露風險,例如:pipe = make_pipeline(PowerTransformer(), LogisticRegression())
.
相關用法
- Python sklearn polynomial_kernel用法及代碼示例
- Python sklearn.metrics.plot_confusion_matrix用法及代碼示例
- Python sklearn.metrics.plot_roc_curve用法及代碼示例
- Python sklearn parallel_backend用法及代碼示例
- Python sklearn pairwise_distances_chunked用法及代碼示例
- Python sklearn plot_tree用法及代碼示例
- Python sklearn permutation_importance用法及代碼示例
- Python sklearn partial_dependence用法及代碼示例
- Python sklearn parametrize_with_checks用法及代碼示例
- Python sklearn pair_confusion_matrix用法及代碼示例
- Python sklearn.metrics.plot_det_curve用法及代碼示例
- Python sklearn precision_score用法及代碼示例
- Python sklearn.inspection.plot_partial_dependence用法及代碼示例
- Python sklearn precision_recall_fscore_support用法及代碼示例
- Python sklearn paired_distances用法及代碼示例
- Python sklearn precision_recall_curve用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
- Python sklearn CalibrationDisplay.from_predictions用法及代碼示例
- Python sklearn VotingRegressor用法及代碼示例
- Python sklearn gen_batches用法及代碼示例
- Python sklearn ExpSineSquared用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn adjusted_rand_score用法及代碼示例
- Python sklearn MLPClassifier用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.preprocessing.power_transform。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。