本文简要介绍python语言中 sklearn.preprocessing.quantile_transform
的用法。
用法:
sklearn.preprocessing.quantile_transform(X, *, axis=0, n_quantiles=1000, output_distribution='uniform', ignore_implicit_zeros=False, subsample=100000, random_state=None, copy=True)
使用分位数信息转换特征。
此方法将特征转换为遵循均匀或正态分布。因此,对于给定的特征,这种转换往往会分散最常见的值。它还减少了(边际)异常值的影响:因此这是一个强大的预处理方案。
转换独立地应用于每个特征。首先,使用特征的累积分布函数的估计值将原始值映射到均匀分布。然后使用相关的分位数函数将获得的值映射到所需的输出分布。低于或高于拟合范围的新/未见数据的特征值将映射到输出分布的边界。请注意,此变换是非线性的。它可能会扭曲以相同尺度测量的变量之间的线性相关性,但会使以不同尺度测量的变量更直接地具有可比性。
在用户指南中阅读更多信息。
- X:{类数组,稀疏矩阵},形状为 (n_samples, n_features)
要转换的数据。
- axis:整数,默认=0
用于计算平均值和标准差的轴。如果为 0,则变换每个特征,否则(如果为 1)变换每个样本。
- n_quantiles:int,默认 = 1000 或 n_samples
要计算的分位数。它对应于用于离散累积分布函数的地标数量。如果 n_quantiles 大于样本数,则将 n_quantiles 设置为样本数,因为较大数量的分位数不会更好地逼近累积分布函数估计器。
- output_distribution:{‘uniform’, ‘normal’},默认='uniform'
转换后数据的边际分布。选项为‘uniform’(默认)或‘normal’。
- ignore_implicit_zeros:布尔,默认=假
仅适用于稀疏矩阵。如果为 True,则丢弃矩阵的稀疏条目以计算分位数统计信息。如果为 False,这些条目将被视为零。
- subsample:整数,默认=1e5
用于估计分位数以提高计算效率的最大样本数。请注意,value-identical 稀疏矩阵和密集矩阵的子采样过程可能不同。
- random_state:int、RandomState 实例或无,默认=无
确定用于二次采样和平滑噪声的随机数生成。有关详细信息,请参阅
subsample
。传递 int 以获得跨多个函数调用的可重现结果。见词汇表- copy:布尔,默认=真
设置为 False 以执行就地转换并避免复制(如果输入已经是一个 numpy 数组)。如果为 True,则转换
X
的副本,而原始X
保持不变- ..versionchanged::0.23
copy
的默认值在 0.23 中从 False 更改为 True。
- Xt:{ndarray, 稀疏矩阵} 形状 (n_samples, n_features)
转换后的数据。
参数:
返回:
注意:
NaNs 被视为缺失值:在拟合中忽略,并在变换中保持。
警告
数据泄露风险
不使用
quantile_transform
除非你知道你在做什么。一个常见的错误是将其应用于整个数据前分为训练集和测试集。这将使模型评估产生偏差,因为信息会从测试集泄漏到训练集。一般来说,我们建议使用sklearn.preprocessing.QuantileTransformer在一个管道为了防止大多数数据泄露风险:pipe = make_pipeline(QuantileTransformer(), LogisticRegression())
.有关不同缩放器、转换器和规范器的比较,请参阅示例/预处理/plot_all_scaling.py。
例子:
>>> import numpy as np >>> from sklearn.preprocessing import quantile_transform >>> rng = np.random.RandomState(0) >>> X = np.sort(rng.normal(loc=0.5, scale=0.25, size=(25, 1)), axis=0) >>> quantile_transform(X, n_quantiles=10, random_state=0, copy=True) array([...])
相关用法
- 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用法及代码示例
- Python sklearn train_test_split用法及代码示例
- Python sklearn RandomTreesEmbedding用法及代码示例
- Python sklearn GradientBoostingRegressor用法及代码示例
- Python sklearn GridSearchCV用法及代码示例
- Python sklearn log_loss用法及代码示例
- Python sklearn r2_score用法及代码示例
- Python sklearn ndcg_score用法及代码示例
- Python sklearn ShrunkCovariance用法及代码示例
- Python sklearn SelfTrainingClassifier用法及代码示例
- Python sklearn load_svmlight_file用法及代码示例
- Python sklearn make_pipeline用法及代码示例
- Python sklearn MultiTaskLasso用法及代码示例
- Python sklearn KBinsDiscretizer用法及代码示例
- Python sklearn power_transform用法及代码示例
- Python sklearn PowerTransformer.inverse_transform用法及代码示例
- Python sklearn IncrementalPCA用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.preprocessing.quantile_transform。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。