mom*_*ind 6 python scikit-learn
我正在使用xgboost
它,它提供了early_stopping
非常好的功能。
但是,当我查看sklearn
fit
函数时,我只看到Xtrain, ytrain
参数,而没有看到early_stopping 的参数。
有没有办法将评估集传递给 sklearn 以进行 early_stopping?
谢谢
在 中sklearn.ensemble.GradientBoosting
,必须在实例化模型时配置提前停止,而不是在执行时配置fit
。
验证分数:浮点数,可选,默认 0.1 留出作为验证集用于提前停止的训练数据的比例。必须介于 0 和 1 之间。仅在 n_iter_no_change 设置为整数时使用。
n_iter_no_change : int, default None n_iter_no_change 用于决定当验证分数没有提高时是否使用提前停止来终止训练。默认情况下,它设置为 None 以禁用提前停止。如果设置为一个数字,它将留出训练数据的validation_fraction 大小作为验证,并在之前的所有 n_iter_no_change 迭代次数中验证分数没有提高时终止训练。
tol : 浮动,可选,默认 1e-4 提前停止的容差。当 n_iter_no_change 迭代(如果设置为数字)的损失没有至少改善 tol 时,训练停止。
为了设置early_Stopping
,您应该考虑将上述参数传递给您的模型。
您可能需要阅读早期停止梯度提升以获得完整的解释和示例。