文档
  • 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 中,这可以通过使用 feature_selection 参数来实现。

参数

  • feature_selection: 布尔型, 默认为 False 当设置为 True 时,将根据由 feature_selection_estimator 确定的特征重要性得分选择特征子集。

  • feature_selection_method: 字符串型, 默认为 'classic'

    特征选择算法。可选项:

    • 'univariate': 使用 sklearn 的 SelectKBest。

    • 'classic': 使用 sklearn 的 SelectFromModel。

    • 'sequential': 使用 sklearn 的 SequentialFeatureSelector。

  • feature_selection_estimator: 字符串型或 sklearn 评估器, 默认为 'lightgbm'

    用于确定特征重要性的分类器。评估器在拟合后应具有 feature_importances_ 或 coef_ 属性。如果为 None,则使用 LGBClassifier。当 feature_selection_method=univariate 时,此参数将被忽略。

  • n_features_to_select: 整型或浮点型, 默认为 0.2

    通过特征选择要选择的最大特征数量。如果 <1,则表示初始特征的比例。请注意,在计数时,此参数不考虑 ignore_features 或 keep_features 中的特征。

示例

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

# init setup
from pycaret.regression import *
clf1 = setup(data = diabetes, target = 'Class variable', feature_selection = True)

之前

之后

移除多重共线性

多重共线性(也称为 共线性)是数据集中一个特征变量与同一数据集中另一个特征变量高度线性相关的一种现象。多重共线性会增加系数的方差,从而使其在线性模型中不稳定和嘈杂。处理多重共线性的一个方法是删除两个高度相关的特征中的一个。这可以在 PyCaret 中通过使用 remove_multicollinearity 参数来实现。

参数

  • remove_multicollinearity: 布尔型, 默认为 False 当设置为 True 时,将移除相互关联度高于定义阈值的特征。对于每个组,将移除除与 y 相关性最高的特征之外的所有特征。

  • multicollinearity_threshold: 浮点型, 默认为 0.9 识别相关特征的最小绝对皮尔逊相关系数。默认值会移除完全相同的列。当 remove_multicollinearity 不为 True 时忽略此参数。

示例

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

# init setup
from pycaret.regression import *
reg1 = setup(data = concrete, target = 'strength', remove_multicollinearity = True, multicollinearity_threshold = 0.3)

之前

之后

主成分分析

主成分分析 (PCA) 是一种机器学习中用于降低数据维度的无监督技术。它通过识别捕获完整特征矩阵中大部分信息的子空间来压缩特征空间。它将原始特征空间投影到较低维度。

参数

  • pca: 布尔型, 默认为 False 当设置为 True 时,将应用降维技术,使用 pca_method 参数中定义的方法将数据投影到较低维度的空间。

  • pca_method: 字符串型, 默认为 ‘linear’ 应用 PCA 的方法。可能的值有:

    • 'linear': 使用奇异值分解。

    • 'kernel': 通过使用 RBF 核函数进行降维。

    • 'incremental': 类似于 'linear',但对于大型数据集更高效。

  • pca_components: 整型/浮点型, 默认为 0.99 要保留的组件数量。如果 pca_components 是浮点型,则视为信息保留的目标百分比。当 pca_components 是整型时,则视为要保留的特征数量。pca_components 必须严格小于数据集中原始特征的数量。

  • pca_components: 整型、浮点型、字符串型或 None, 默认为 None 要保留的组件数量。当 pca=False 时忽略此参数。

    • 如果为 None: 保留所有组件。

    • 如果为整型: 绝对的组件数量。-

    • 如果为浮点型: 解释的方差需要大于 n_components 指定的百分比。值应在 0 到 1 之间(仅适用于 pca_method='linear')。

    • 如果为 'mle': 使用 Minka 的 MLE 来猜测维度(仅适用于 pca_method='linear')。

示例

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

# init setup
from pycaret.classification import *
clf1 = setup(data = income, target = 'income >50K', pca = True, pca_components = 10)

之前

之后

忽略低方差特征

有时数据集可能包含具有多个类别的 分类特征,其中这些类别的分布是倾斜的,某个类别可能主导其他类别。这意味着此类特征提供的信息变化不大。对于机器学习模型来说,此类特征可能不会增加太多信息,因此可以在建模时忽略。这可以在 PyCaret 中通过使用 low_variance_threshold 参数来实现。

参数

  • low_variance_threshold: 浮点型或 None, 默认为 None

    移除训练集方差低于给定阈值的特征。如果为 0,则保留所有非零方差的特征,即移除在所有样本中具有相同值的特征。如果为 None,则跳过此转换步骤。

示例

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

# filter dataset
mice = mice[mice['Genotype'] == 'Control']

# init setup
from pycaret.classification import *
clf1 = setup(data = mice, target = 'class', low_variance_threshold = 0.1)

之前

之后

上一页特征工程下一页其他设置参数

最后更新于 2 years ago

这篇文章有帮助吗?

⚙️
特征重要性处理前的数据框
特征重要性处理后的数据框
移除多重共线性处理前的数据框视图
移除多重共线性处理后的数据框视图
PCA 处理前的数据框视图
PCA 处理后的数据框视图
忽略低方差处理前的数据框视图
忽略低方差处理后的数据框视图