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


Python sklearn PowerTransformer用法及代碼示例


本文簡要介紹python語言中 sklearn.preprocessing.PowerTransformer 的用法。

用法:

class sklearn.preprocessing.PowerTransformer(method='yeo-johnson', *, standardize=True, copy=True)

應用冪變換特征使數據更多Gaussian-like。

冪變換是一係列參數化、單調變換,用於使數據更豐富Gaussian-like。這對於建模與異方差(非常數方差)相關的問題或其他需要正態性的情況很有用。

目前,PowerTransformer 支持Box-Cox 變換和Yeo-Johnson 變換。通過最大似然估計穩定方差和最小化偏度的最佳參數。

Box-Cox 要求輸入數據嚴格為正,而Yeo-Johnson 支持正數據或負數據。

默認情況下,zero-mean、unit-variance 標準化應用於轉換後的數據。

在用戶指南中閱讀更多信息。

參數

method{‘yeo-johnson’,‘box-cox’},默認=‘yeo-johnson’

功率變換方法。可用的方法有:

  • ‘yeo-johnson’ [1],適用於正值和負值
  • ‘box-cox’ [2],僅適用於嚴格正值
standardize布爾,默認=真

設置為 True 以將zero-mean、unit-variance 標準化應用於轉換後的輸出。

copy布爾,默認=真

設置為 False 以在轉換期間執行就地計算。

屬性

lambdas_ndarray 形狀的浮點數(n_features,)

所選特征的冪變換參數。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

注意

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 PowerTransformer
>>> pt = PowerTransformer()
>>> data = [[1, 2], [3, 2], [4, 5]]
>>> print(pt.fit(data))
PowerTransformer()
>>> print(pt.lambdas_)
[ 1.386... -3.100...]
>>> print(pt.transform(data))
[[-1.316... -0.707...]
 [ 0.209... -0.707...]
 [ 1.106...  1.414...]]

相關用法


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