lightgbm.train和首参params

Parameters

scikit-learn doesn’t support ranking applications yet, therefore this class is not really compatible with the sklearn ecosystem. Please use this class mainly for training and applying ranking models in common sklearnish way.
__init__(boosting_type='gbdt', num_leaves=31, max_depth=-1, learning_rate=0.1, n_estimators=100, subsample_for_bin=200000, objective=None, class_weight=None, min_split_gain=0.0, min_child_weight=0.001, min_child_samples=20, subsample=1.0, subsample_freq=0, colsample_bytree=1.0, reg_alpha=0.0, reg_lambda=0.0, random_state=None, n_jobs=None, importance_type='split', **kwargs)
boosting_type (str, optional (default='gbdt')) –'gbdt', 传统的梯度提升决策树。 'dart',则 Dropouts 遇到多重加法回归树。 'rf', 随机森林。.

num_leaves (int, optional (default=31)) – 基础学习器的最大树叶数.
max_depth (int, optional (default=-1)) –  基础学习器的最大树深度,<=0 表示没有限制。 如果将此值设置为正值,则还考虑更改为 。.
learning_rate (float, optional (default=0.1)) – 提高学习率。 您可以使用方法的参数来缩小/调整学习率 在使用回调进行训练中。 请注意,这将忽略训练中的参数
n_estimators (int, optional (default=100)) – 要拟合的提升树数.
subsample_for_bin (int, optional (default=200000)) – 用于构建 bin 的样本数.
objective (str, callable or None, optional (default=None)) – S指定学习任务和相应的学习目标,或者 要使用的自定义目标函数(请参阅下面的注释)。 默认值:LGBMRegressor 为 'regression',LGBMClassifier 为 'binary' 或 'multiclass',LGBMRanker 为 'lambdarank
class_weight (dict, 'balanced' or None, optional (default=None)) – 与表单中的类关联的权重。 此参数仅用于多类分类任务; 对于二元分类任务,您可以使用 OR 参数。 请注意,使用所有这些参数将导致对各个类概率的估计值不佳。 您可能需要考虑执行概率校准 (https://scikit-learn.org/stable/modules/calibration.html) 的模型。 “平衡”模式使用 y 的值来自动调整权重 与输入数据中的类别频率成反比,为 。 如果为 None,则所有类的权重都应该为 1。 请注意,这些权重将相乘(通过该方法传递) 如果被指定
min_split_gain (float, optional (default=0.)) – 在树的叶节点上进行进一步划分所需的最小损失减少.
min_child_weight (float, optional (default=1e-3)) – 子项 (leaf) 中所需的最小实例权重 (Hessian) 之和.
min_child_samples (int, optional (default=20)) – 子项(叶)中所需的最小数据数.
subsample (float, optional (default=1.)) –  训练实例的子样本率.
subsample_freq (int, optional (default=0)) – 子样本的频率,<=0 表示不启用.
colsample_bytree (float, optional (default=1.)) – 构造每棵树时列的子采样率.
reg_alpha (float, optional (default=0.)) – 权重的 L1 正则化项.
reg_lambda (float, optional (default=0.)) – 权重上的 L2 正则化项.
random_state (int, RandomState object or None, optional (default=None)) – 随机数种子. If int, this number is used to seed the C++ code. If RandomState or Generator object (numpy), a random integer is picked based on its state to seed the C++ code. If None, default seeds in C++ code are used.
n_jobs (int or None, optional (default=None)) –
用于训练的并行线程数(可以在预测时通过以下方式更改) 将其作为额外的关键字参数传递)。
为了获得更好的性能,建议将此设置为物理内核的数量 在 CPU 中。
负整数被解释为 遵循 joblib 的公式 (n_cpus + 1 + n_jobs),就像 scikit-learn(例如,-1 表示使用所有线程)。值为零对应于 在系统中为 OpenMP 配置的线程。值 (默认值) 对应于 使用系统中的物理内核数量(其正确检测需要 要安装的 或 util 库)。

importance_type (str, optional (default='split')) –要填充的特征重要性类型。 如果为 'split',则 result 包含在模型中使用特征的次数。 如果为 'gain',则 result 包含使用该功能的分割的总收益
**kwargs –
模型的其他参数。 请查看 http://lightgbm.readthedocs.io/en/latest/Parameters.html 以获取更多参数。

以上来自lightgbm官方对lightgbm.train的首个参数的翻译和整理params

LightGBM的重要参数

lightgbm.train(paramstrain_setnum_boost_round=100valid_sets=Nonevalid_names=Nonefeval=Noneinit_model=Nonefeature_name='auto'categorical_feature='auto'keep_training_booster=Falsecallbacks=None)

  • params (dict) - 用于训练的参数。传递的值优先于传递的值 通过参数提供。params

  • train_set (Dataset) - 要训练的数据。

  • num_boost_round (int, optional (default=100) - 提升迭代次数。

  • valid_sets (数据集列表,或可选 (默认 = 无) - 训练期间要评估的数据列表。

  • valid_names (str 列表,或 None可选 (default=None) - .valid_sets

  • feval (可调用可调用列表,或 None可选 (默认 = None) –

    定制化评估功能。 每个评估函数应接受两个参数:preds、eval_data、 并返回 (eval_name、eval_result、is_higher_better)或此类元组的列表。

    predsnumpy 一维数组或 numpy 二维数组(用于多类任务)

    预测值。 对于多类任务,preds 是形状为 = [n_samples, n_classes] 的 numpy 二维数组。 如果使用自定义目标函数,则会在进行任何转换之前返回预测值, 例如,在这种情况下,它们是二进制任务的原始边距,而不是正类的概率。

    eval_data数据集

    A 进行评估。Dataset

    eval_namestr

    计算函数的名称(不带空格)。

    eval_result浮点

    评估结果。

    is_higher_better布尔值

    评估结果是否越高越好,例如 AUC 是 。is_higher_better

    要忽略与所用目标对应的默认指标, 将参数设置为 中的字符串。metric"None"params

  • init_model (str, pathlib.PathBooster 或 None可选默认值 = None) - 用于继续训练的 LightGBM 模型或 Booster 实例的文件名。

  • feature_name (str 列表,或 'auto'可选 (default=“auto”) - 已弃用。改为启用。 功能名称。 如果 'auto' 且 data 是 pandas DataFrame,则使用数据列名称。feature_nametrain_set

  • categorical_feature (str 或 int 的列表,或 'auto'可选 (default=“auto”) - 已弃用。改为启用。 分类特征。 如果是 int 的列表,则解释为索引。 如果是 str 的列表,则解释为特征名称(也需要指定)。 如果 'auto' 且 data 是 pandas DataFrame,则使用 pandas 无序分类列。 分类特征中的所有值都将转换为 int32,因此应小于 int32 的最大值 (2147483647)。 较大的值可能会消耗内存。考虑使用从零开始的连续整数。 分类特征中的所有负值都将被视为缺失值。 对于类别特征,输出不能单调约束。 类别特征中的浮点数将向 0 四舍五入。categorical_featuretrain_setfeature_name

  • keep_training_booster (bool, optional (default=False) - 返回的助推器是否将用于继续训练。 如果为 False,则返回的值将在返回前转换为 _InnerPredictor。 这意味着您将无法使用返回的 Booster 或方法。 当您的模型非常大并导致内存错误时, 您可以尝试设置此参数,以避免在内部调用期间执行模型转换。 您仍然可以使用_InnerPredictor以便将来继续训练。evaleval_traineval_validTruemodel_to_stringinit_model

  • callbacks list of callable, or None, optional (default=None) - 每次迭代时应用的回调函数列表。 有关更多信息,请参阅 Python API 中的回调。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值