缩放与变换
归一化
归一化是机器学习数据准备过程中常用的一种技术。归一化的目标是在不扭曲数值范围差异或丢失信息的情况下,重新缩放数据集中数值列的值。归一化有几种可用方法,默认情况下,PyCaret 使用 zscore
。
参数
normalize: 布尔值, 默认值 = False 当设置为
True
时,使用normalized_method
参数下定义的方法对特征空间进行变换。normalize_method: 字符串, 默认值 = ‘zscore’ 定义用于归一化的方法。默认情况下,方法设置为
zscore
。其他可用选项包括z-score
标准 zscore 计算公式为 z = (x – u) / sminmax
单独缩放和平移每个特征,使其范围在 0 – 1 之间。maxabs
单独缩放和平移每个特征,使其最大绝对值为 1.0。它不会移动/中心化数据,因此不会破坏任何稀疏性。robust
根据四分位距对每个特征进行缩放和平移。当数据集包含异常值时,鲁棒缩放器通常能提供更好的结果。
示例
之前
之后
归一化的影响
特征变换
参数
transformation: 布尔值, 默认值 = False 当设置为
True
时,应用幂变换器使数据更接近正态/高斯分布。这对于处理与异方差性相关的问题或需要正态性的其他情况很有用。通过最大似然估计来确定稳定方差和最小化偏度的最优参数。transformation_method: 字符串, 默认值 = ‘yeo-johnson’ 定义变换方法。默认情况下,变换方法设置为
yeo-johnson
。其他可用选项是quantile
变换。这两种变换都将特征集变换为遵循高斯或正态分布。Quantile 变换器是非线性的,可能会扭曲在同一尺度上测量的变量之间的线性相关性。
示例
之前
之后
特征变换的影响
目标变换
目标变换与特征变换类似,它将改变目标变量的分布形状,而不是特征的分布形状。此功能仅在 pycaret.regression
模块中可用。
参数
transform_target: 布尔值, 默认值 = False 当设置为 True 时,使用
transform_target_method
参数中定义的方法对目标变量进行变换。目标变换与特征变换分开应用。transform_target_method: 字符串, 默认值 = ‘yeo-johnson’ 定义变换方法。默认情况下,变换方法设置为
yeo-johnson
。其他可用变换选项是quantile
。当transform_target = False
时忽略。
示例
之前
之后
最后更新
这有帮助吗?