gpt4 book ai didi

python - RandomizedSearchCV 和 XGBoost + 提前停止

转载 作者:太空宇宙 更新时间:2023-11-03 19:47:18 26 4
gpt4 key购买 nike

我尝试使用“AUCPR”作为使用 Sklearn 的 RandomSearchCV 和 Xgboost 提前停止的评估标准,但我无法为提前停止拟合参数指定 maximize=True 。相反,eval_metric 会最小化 AUCPR。

我已经提到过这个问题: GridSearchCV - XGBoost - Early Stopping

但早期停止似乎只适用于最小化目标?当AUCPR最低时才考虑提前停止的最佳迭代,这不是正确的优化。

    xgb = XGBClassifier()


params = {
'min_child_weight': [0.1, 1, 5, 10, 50],
'gamma': [0.5, 1, 1.5, 2, 5],
'subsample': [0.6, 0.8, 1.0],
'colsample_bytree': [0.6, 0.8, 1.0],
'max_depth': [5, 10, 25, 50],
'learning_rate': [0.0001, 0.001, 0.1, 1],
'n_estimators': [50, 100, 250, 500],
'reg_alpha': [0.0001, 0.001, 0.1, 1],
'reg_lambda': [0.0001, 0.001, 0.1, 1]
}

fit_params={"early_stopping_rounds":5,
"eval_metric" : "aucpr",
"eval_set" : [[X_val, y_val]]
}

random_search = RandomizedSearchCV(xgb,
cv=folds,
param_distributions=params,
n_iter=param_comb,
scoring=make_scorer(auc_precision_recall_curve, needs_proba=True),
n_jobs=10,
verbose=10,
random_state=1001,
)

random_search.fit(X_train, y_train, **fit_params)

最佳答案

AUCPR 最大化似乎不适用于 sklearn

https://github.com/dmlc/xgboost/issues/3712

关于python - RandomizedSearchCV 和 XGBoost + 提前停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60048751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com