Xgboost随机种子设置不允许再现性

2024-09-19 20:59:03 发布

您现在位置:Python中文网/ 问答频道 /正文

尽管为random_state和/或seed参数设置了一个值,但在XgboostSklearn 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]))

每次运行上述代码段时,一致性值都不同。在

^{pr2}$

一些参考文献 issues


Tags: fromimportevaltrainrandomsklearnmetricseed