警告:C:/Users/Administrator/workspace/xgboost-win64_release_1.3.0/src/learner.cc:541: 参数:{xgb_model} 可能不被使用

问题描述

我想使用 XGBClassifier 进行增量学习。我发现XGB的xgb_model参数可以实现这个。

作为第一步,我在第一个数据集上训练了 XGB 分类器。它训练得很好,也做出了预测。代码如下:

from xgboost import XGBClassifier
xgb_model1 = XGBClassifier(objective = 'binary:logistic')
xgb_model1.fit(X_train1,y_train1) # 1st dataset training
# Saving Model_1
xgb_model1.save_model('model_1.model')

下一步,在尝试 XGB 的 xgb_model 参数时,一些试验显示以下代码片段的警告。

xgb_model2 = XGBClassifier(objective = 'binary:logistic',xgb_model = 'model_1.model') # Loaded Model_1 using xgb_model parameter
xgb_model2.fit(X_train2,y_train2) # 2nd dataset training

警告:C:/Users/Administrator/workspace/xgboost-win64_release_1.3.0/src/learner.cc:541: 参数:{ xgb_model } 可能不被使用。

这可能不准确,因为某些参数仅用于语言绑定,但 传递给 XGBoost 核心。或者一些参数没有被使用而是跳过这个 确认。如果您发现上述情况,请打开一个问题。

[以上代码片段的警告 - 增量学习的第二次训练]

解决方法

您应该在参数中使用 xgb_model 而不是在第二步中使用 model_in 代码应该是这样的:

xgb_model2 = XGBClassifier(objective = 'binary:logistic',model_in = 'model_1.model') # Loaded Model_1 using xgb_model parameter
xgb_model2.fit(X_train2,y_train2) # 2nd dataset training