跳到主要内容

CatBoost二分类使用文档

组件名称CatBoost二分类
工具集机器学习
组件作者雪浪云-墨文
文档版本1.0
功能CatBoost二分类算法
镜像名称ml_components:3
开发语言Python

组件原理

在梯度提升中,预测是由一群弱学习者做出的。与为每个样本创建决策树的随机森林不同,在梯度增强中,树是一个接一个地创建的。模型中的先前树不会更改。前一棵树的结果用于改进下一棵树。在本文中,我们将仔细研究一个名为CatBoost的梯度增强库。

CatBoost 是Yandex开发的深度方向梯度增强库 。它使用遗忘的决策树来生成平衡树。相同的功能用于对树的每个级别进行左右拆分。

在机器学习中处理分类的常见方法是单热编码和标签编码。CatBoost允许您使用分类功能,而无需对其进行预处理。

使用CatBoost时,我们不应该使用一键编码,因为这会影响训练速度以及预测质量。相反,我们只需要使用cat_features 参数指定分类特征即可 。

以下是考虑使用CatBoost的一些原因:

  • CatBoost允许在多个GPU上训练数据。
  • 使用默认参数可以提供很好的结果,从而减少了参数调整所需的时间。
  • 由于减少了过度拟合,因此提高了精度。
  • 使用CatBoost的模型应用程序进行快速预测。
  • 经过训练的CatBoost模型可以导出到Core ML进行设备上推理(iOS)。
  • 可以在内部处理缺失值。
  • 可用于回归和分类问题。

输入桩

支持单个csv文件输入。

输入端子1

  • 端口名称:训练数据
  • 输入类型:Csv文件
  • 功能描述: 输入用于训练的数据

输出桩

支持sklearn模型输出。

输出端子1

  • 端口名称:输出模型
  • 输出类型:sklearn模型
  • 功能描述: 输出训练好的模型用于预测

参数配置

最大树数

  • 功能描述:训练时可以建立的最大树数
  • 必选参数:是
  • 默认值:1000

学习率

  • 功能描述:增强学习率
  • 必选参数:是
  • 默认值:0.03

最大深度

  • 功能描述:树的最大深度
  • 必选参数:是
  • 默认值:6

L2正则系数

  • 功能描述:代价函数的L2正则项系数
  • 必选参数:是
  • 默认值:3

随机子空间方法

  • 功能描述:随机再次选择特征时,每次节点分裂时选择要使用的特征的百分比
  • 必选参数:是
  • 默认值:1

损失函数

  • 功能描述:损失函数
  • 必选参数:是
  • 默认值:Logloss

Od Wait

  • 功能描述:在得到最佳度量值的后继续训练的迭代次数
  • 必选参数:是
  • 默认值:20

过拟合检测器

  • 功能描述:过拟合检测器
  • 必选参数:是
  • 默认值:IncToDec

Random Seed

  • 功能描述:随机种子
  • 必选参数:是
  • 默认值:0

Metric Period

  • 功能描述:计算目标和度量值的迭代频率
  • 必选参数:是
  • 默认值:1

使用最佳模型

  • 功能描述:使用最佳模型
  • 必选参数:是
  • 默认值:true

随机加权法设置

  • 功能描述:定义随机加权法的设置
  • 必选参数:是
  • 默认值:1

评估指标

  • 功能描述:评估指标
  • 必选参数:是
  • 默认值:Logloss

需要训练

  • 功能描述:该模型是否需要训练,默认为需要训练。
  • 必选参数:是
  • 默认值:true

特征字段

  • 功能描述:特征字段
  • 必选参数:是
  • 默认值:(无)

识别字段

  • 功能描述:识别字段
  • 必选参数:是
  • 默认值:(无)

使用方法

  • 将组件拖入到项目中
  • 与前一个组件输出的端口连接(必须是csv类型)
  • 点击运行该节点