本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。