尽管为random_state
和/或seed
参数设置了一个值,但是在Xgboost Sklearn API包装器中,性能还是无法再现的
这是代码
from xgboost.sklearn import XGBClassifier
from sklearn.metrics import roc_auc_score
(X_train,y_train),(X_eval,y_eval) = pickle.load(open('xxxx.pkl',"rb"))
hyperparams = {'eval_metric': 'auc', 'colsample_bylevel': 0.7, 'learning_rate': 0.125, 'random_state': 0}
GBM = XGBClassifier(**hyperparams)
GBM.fit(X_train,y_train,eval_metric="auc",verbose = True,eval_set=[(X_eval,y_eval)],early_stopping_rounds=2)
print(roc_auc_score(y_eval, GBM.predict_proba(X_eval)[:,1]))
每次,当我运行上述代码段时,一致性值都不同。
78.9451246
79.001542
一些参考 issues