Catboost

from catboost import CatBoostRegressor, Pool


train_pool = Pool(data=X_train, label=y_train, cat_features=cat_features)

validation_pool = Pool(data=X_test, label=y_test, cat_features=cat_features)


model = CatBoostRegressor(early_stopping_rounds=30, task_type='GPU', iterations=1000, learning_rate=0.1, max_ctr_complexity=1, data_partition='DocParallel')

model = model.fit(train_pool, eval_set=validation_pool, verbose=10)


y_test_pred = model.predict(validation_pool)