Я работаю над несбалансированной (9: 1) проблемой двоичной классификации и хотел бы использовать Xgboost & RandomizedSearchCV.
Как показано в коде, 472,50,000 (5 * 7 * 5 * 5 *)5 * 5 * 6 * 4 * 9 * 10) комбинации гиперпараметров.При 10-кратном CV вышеуказанное число становится 472 500 000 (4,725 млн.)
. Обычно рекомендуется для randomizedsearchcv брать 5-10% от общего числа комбинаций.5-10% от 4,725 млн. Было бы очень большим числом.
Поэтому мой вопрос в том, что было бы хорошим значением n_iter , чтобы получить хорошие результаты в разумные сроки./ вычислительная эффективность?
Примечание к потенциальному запросу: некоторые параметры, такие как 'scale_pos_weight', 'max_delta_step' обычно не настраиваются, но я включил их, поскольку мои данные несбалансированы.
Спасибо!
param_dist= {
"max_depth": [2,3,4,5,6],
"learning_rate":[0.01,0.02,0.03,0.05,0.1,0.3,0.5],
"min_child_weight":[1,2,3,4,5],
"subsample":[i/10.0 for i in range(6,10)],
"colsample_bytree":[i/10.0 for i in range(6,10)],
"reg_alpha":[1e-5, 1e-2, 0.1, 1, 100],
"gamma":[i/10.0 for i in range(0,5)],
"n_estimators":[100,500,700,1000],
'scale_pos_weight':[1,2,3,4,5,6,7,8,9],
'max_delta_step': range(1,10,1)
}