开发者社区> 问答> 正文

sklearn:使用eval_set进行early_stopping?

我正在使用xgboost,它提供了early_stopping非常好的功能。

但是,当我查看sklearn fit函数时,我只看到Xtrain, ytrain参数但没有参数用于early_stopping。

有没有办法将评估集传递给sklearn进行early_stopping?

展开
收起
一码平川MACHEL 2019-01-22 16:03:05 6085 0
1 条回答
写回答
取消 提交回答
  • 在sklearn.ensemble.GradientBoosting,实例化模型时必须配置提前停止,而不是在实例化时fit。

    validation_fraction:float,optional,default 0.1训练数据的比例,作为早期停止的验证集。必须介于0和1之间。仅在n_iter_no_change设置为整数时使用。

    n_iter_no_change:int,default无n_iter_no_change用于确定在验证得分未得到改善时是否将使用提前停止来终止培训。默认情况下,它设置为“无”以禁用提前停止。如果设置为数字,则将训练数据的validation_fraction大小留作验证,并在所有先前的n_iter_no_change迭代次数中验证得分未得到改善时终止训练。

    tol:float,optional,默认1e-4提前停止的容差。如果n_iter_no_change迭代的损失没有至少改善(如果设置为数字),则训练停止。

    为了设置early_Stopping,您应该考虑将上面的参数传递给您的模型。

    2019-07-17 23:26:19
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Prediction as a service with Ensemble Model trained in SparkML and Python ScikitLearn on 1Bn observed flight prices daily 立即下载
The Strange Loop in Deep Learn 立即下载
Fighting Cybercrime: A Joint Task Force of Real-Time Data and Human Analytics 立即下载