Я новичок в sklearn и XGBoost.
Я хотел бы использовать GridSearchCV для настройки классификатора XGBoost. Одна из проверок, которую я хотел бы провести, — это графический анализ потерь при обучении и тестировании. На данный момент я создал следующий код:
# Create a new instance of the classifier
xgbr = xgb.XGBClassifier()
# Create a new pipeline with preprocessing steps and model (imballanced learn)
pipeline = imb_pipeline([
('preprocess', preprocess), # Encode and transform categorical variables
('re-sample', samplers[0]), # re-samples data to ballanced state
('scale', scalers[0]), # scales the data
('model', xgbr), # models
])
# Create parameter values for gridsearch - carefull, "model__" prepended defined in pipeline
params = {
'model__max_depth': [3, 4, 5, 6, 8, 10, 12, 15],
'model__learning_rate': [0.001, 0.01, 0.1, 0.20, 0.25, 0.30],
"model__gamma":[0, 0.25, 0.5, 0.75,1],
'model__n_estimators': [100, 500, 1000],
"model__subsample":[0.9],
"model__colsample_bytree":[0.5],
"model__early_stopping_rounds": [10],
"model__random_state": [random_state],
"model__eval_metric" : ["error"],
"model__eval_set" : [[(X_train, Y_train), (X_test,Y_test)]]
}
# Use GridSearchCV for all combinations
grid = GridSearchCV(
estimator = pipeline,
param_grid = params,
scoring = 'roc_auc',
n_jobs = -1,
cv = 5,
verbose = 3,
)
# Model fitting
grid.fit(X_train, Y_train)
Я создал в параметрах пару ключ-значение для eval_metric и eval_set:
Мой вопрос сейчас , как получить доступ к этим значениям и построить кривую потерь при обучении и тестах (извините, я не могу опубликовать здесь цифру).
Еще один вопрос: передача значений с помощью eval_set также передается по конвейеру или нужно ли мне создавать для них отдельный конвейер?
Я использую xgb.__version == 0.90, sklearn.__version__ == 1.0.2, python == 3.7.13 @ (Google Colab)
Я новичок в sklearn и XGBoost. Я хотел бы использовать GridSearchCV для настройки классификатора XGBoost. Одна из проверок, которую я хотел бы провести, — это графический анализ потерь при обучении и тестировании. На данный момент я создал следующий код: [code]# Create a new instance of the classifier xgbr = xgb.XGBClassifier() # Create a new pipeline with preprocessing steps and model (imballanced learn) pipeline = imb_pipeline([ ('preprocess', preprocess), # Encode and transform categorical variables ('re-sample', samplers[0]), # re-samples data to ballanced state ('scale', scalers[0]), # scales the data ('model', xgbr), # models ])
# Use GridSearchCV for all combinations grid = GridSearchCV( estimator = pipeline, param_grid = params, scoring = 'roc_auc', n_jobs = -1, cv = 5, verbose = 3, )
# Model fitting grid.fit(X_train, Y_train) [/code] Я создал в параметрах пару ключ-значение для eval_metric и eval_set:
Мой вопрос сейчас , как получить доступ к этим значениям и построить кривую потерь при обучении и тестах (извините, я не могу опубликовать здесь цифру). Еще один вопрос: передача значений с помощью eval_set также передается по конвейеру или нужно ли мне создавать для них отдельный конвейер? Я использую xgb.__version == 0.90, sklearn.__version__ == 1.0.2, python == 3.7.13 @ (Google Colab)
Я пытаюсь создать модели, поддерживающие многомерный вывод. Одна из моделей, которые я пытаюсь использовать, — это GradientBoostingRegressor, которая изначально не поддерживает многомерный вывод. Существует обходной путь с помощью...
Я пытаюсь создать модели, поддерживающие многомерный вывод. Одна из моделей, которые я пытаюсь использовать, — это GradientBoostingRegressor, которая изначально не поддерживает многомерный вывод. Существует обходной путь с помощью...
Я пытаюсь создать модели, поддерживающие многомерный вывод. Одна из моделей, которые я пытаюсь использовать, — это GradientBoostingRegressor, которая изначально не поддерживает многомерный вывод. Существует обходной путь с помощью...
Сейчас я впервые пытаюсь проанализировать данные с помощью XGBoost. Я хочу найти лучшие параметры с помощью GridsearchCV. Я хочу минимизировать среднеквадратическую ошибку, и для этого я использовал «rmse» в качестве eval_metric. Однако при подсчете...
Сейчас я впервые пытаюсь проанализировать данные с помощью XGBoost. Я хочу найти лучшие параметры с помощью GridsearchCV. Я хочу минимизировать среднеквадратическую ошибку, и для этого я использовал «rmse» в качестве eval_metric. Однако при подсчете...