文档
  • PyCaret 3.0
  • 开始使用
    • 💻安装
    • 🚀快速入门
    • ⭐教程
    • 📶模块
    • ⚙️数据预处理
      • 数据准备
      • 缩放与变换
      • 特征工程
      • 特征选择
      • 其他设置参数
    • 💡函数
      • 初始化
      • 训练
      • 优化
      • 分析
      • 部署
      • 其他
  • 学习 PYCARET
    • 📖博客
      • 宣布 PyCaret 1.0
      • 宣布 PyCaret 2.0
      • 关于 PyCaret 你不知道的 5 件事
      • 构建和部署你的第一个机器学习 Web 应用
      • 使用 PyCaret 在 Power BI 中构建自己的 AutoML
      • 在 Google Kubernetes 上部署机器学习管道
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 使用 PyCaret 在 Power BI 中进行异常检测
      • 在 Google Kubernetes 上部署机器学习应用
      • 在 GKE 上部署机器学习管道
      • 在 AWS Fargate 上部署机器学习管道
      • 使用 Docker 在云端部署机器学习管道
      • 使用 PyCaret 在 Power BI 中进行聚类分析
      • 使用 ONNX Runtime 在边缘部署 PyCaret 模型
      • GitHub 是你所需要过的最好的 AutoML
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 使用 PyCaret 和 MLflow 实现轻松 MLOps
      • 使用 PyCaret 在 Power BI 中进行聚类分析
      • 使用 PyCaret 在 Alteryx 中实现机器学习
      • 使用 PyCaret 在 KNIME 中实现机器学习
      • 使用 PyCaret 在 SQL 中实现机器学习 第一部分
      • 使用 PyCaret 在 Power BI 中实现机器学习
      • 使用 PyCaret 在 Tableau 中实现机器学习
      • 使用 PyCaret 进行多元时间序列预测
      • 使用 PyCaret 预测客户流失
      • 使用 PyCaret 预测潜在客户分数(正确方法)
      • 使用 PyCaret 在 Python 中进行 NLP 文本分类
      • 使用 PyCaret 预测潜在客户分数(正确方法)
      • 使用 PyCaret 预测黄金价格暴跌
      • 使用机器学习预测黄金价格
      • PyCaret 2.1 功能摘要
      • 使用 PyCaret 将机器学习模型部署到 SQL Server
      • 使用 PyCaret 和 Gradio 加速你的机器学习
      • 时间序列 101 - 入门者指南
      • 使用 PyCaret 进行时间序列异常检测
      • 使用 PyCaret 回归进行时间序列预测
      • 使用 PyCaret 在 Power BI 中进行主题建模
      • 使用 PyCaret 编写和训练自定义机器学习模型
      • 使用 PyCaret 和 Streamlit 构建和部署机器学习应用
      • PyCaret 2.3.6 发布!看看有什么新功能?
    • 📺视频
    • 🛩️速查表
    • ❓常见问题
    • 👩‍💻示例
  • 重要链接
    • 🛠️版本说明
    • ⚙️API 参考
    • 🙋 讨论
    • 📤问题
    • 👮 许可证
  • 媒体
    • 💻Slack
    • 📺YouTube
    • 🔗LinkedIn
    • 😾GitHub
    • 🔅Stack Overflow
由 GitBook 提供支持
本页内容
  • 归一化
  • 特征变换
  • 目标变换

这有帮助吗?

  1. 开始使用
  2. 数据预处理

缩放与变换

归一化

归一化是机器学习数据准备过程中常用的一种技术。归一化的目标是在不扭曲数值范围差异或丢失信息的情况下,重新缩放数据集中数值列的值。归一化有几种可用方法,默认情况下,PyCaret 使用 zscore。

参数

  • normalize: 布尔值, 默认值 = False 当设置为 True 时,使用 normalized_method 参数下定义的方法对特征空间进行变换。

  • normalize_method: 字符串, 默认值 = ‘zscore’ 定义用于归一化的方法。默认情况下,方法设置为 zscore。其他可用选项包括

    • z-score 标准 zscore 计算公式为 z = (x – u) / s

    • minmax 单独缩放和平移每个特征,使其范围在 0 – 1 之间。

    • maxabs 单独缩放和平移每个特征,使其最大绝对值为 1.0。它不会移动/中心化数据,因此不会破坏任何稀疏性。

    • robust 根据四分位距对每个特征进行缩放和平移。当数据集包含异常值时,鲁棒缩放器通常能提供更好的结果。

示例

# load dataset
from pycaret.datasets import get_data
pokemon = get_data('pokemon')

# init setup
from pycaret.classification import *
clf1 = setup(data = pokemon, target = 'Legendary', normalize = True)

之前

之后

归一化的影响

特征变换

参数

  • transformation: 布尔值, 默认值 = False 当设置为 True 时,应用幂变换器使数据更接近正态/高斯分布。这对于处理与异方差性相关的问题或需要正态性的其他情况很有用。通过最大似然估计来确定稳定方差和最小化偏度的最优参数。

  • transformation_method: 字符串, 默认值 = ‘yeo-johnson’ 定义变换方法。默认情况下,变换方法设置为 yeo-johnson。其他可用选项是 quantile 变换。这两种变换都将特征集变换为遵循高斯或正态分布。Quantile 变换器是非线性的,可能会扭曲在同一尺度上测量的变量之间的线性相关性。

示例

# load dataset
from pycaret.datasets import get_data
pokemon = get_data('pokemon')

# init setup
from pycaret.classification import *
clf1 = setup(data = pokemon, target = 'Legendary', transformation = True)

之前

之后

特征变换的影响

目标变换

目标变换与特征变换类似,它将改变目标变量的分布形状,而不是特征的分布形状。此功能仅在 pycaret.regression 模块中可用。

参数

  • transform_target: 布尔值, 默认值 = False 当设置为 True 时,使用 transform_target_method 参数中定义的方法对目标变量进行变换。目标变换与特征变换分开应用。

  • transform_target_method: 字符串, 默认值 = ‘yeo-johnson’ 定义变换方法。默认情况下,变换方法设置为 yeo-johnson。其他可用变换选项是 quantile。当 transform_target = False 时忽略。

示例

# load dataset
from pycaret.datasets import get_data
diamond = get_data('diamond')

# init setup
from pycaret.regression import *
reg1 = setup(data = diamond, target = 'Price', transform_target = True)

之前

之后

上一步数据准备下一步特征工程

最后更新 2 年前

这有帮助吗?

虽然 将数据重新缩放到新的范围内以减少幅度对方差的影响,但特征变换是一种更彻底的技术。变换改变了分布的形状,使得变换后的数据可以由正态或近似正态分布表示。变换有两种可用方法:yeo-johnson 和 quantile。

⚙️
归一化
变换前的数据框视图
变换后的数据框视图
目标变换前的数据框视图
目标变换后的数据框视图