AI/model
하이퍼파라미터 튜닝 -optuna
bitpoint
2024. 6. 16. 10:01
def objective(trial):
param= {'objective': 'multi:softprob',
'tree_method': 'hist',
'num_class': 3 ,
'max_depth': trial.suggest_int('max_depth', 3, 10),
'learning_rate': trial.suggest_uniform('learning_rate', 0.01, 0.05),
'n_estimators': 1748,
'gamma': 0.5631817186746637,
'min_child_weight': trial.suggest_int('min_child_weight', 1, 100),
'colsample_bytree': 0.20901565046325682,
'subsample': 0.7312131456978738}
XGB = XGBClassifier(**param)
XGB_cv = cross_val_score(XGB,
X,
Y,
scoring='accuracy',
cv=skf,
n_jobs=-1)
return -1 * XGB_cv.mean()
study = optuna.create_study(sampler=optuna.samplers.RandomSampler(seed=0))
study.optimize(objective,n_trials=200)
print(study.best_params)