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类型)
- 点击运行该节点