Comments 4
Так вот же catboost для PySpark: https://catboost.ai/en/docs/installation/spark-installation-pyspark
Зачем реализовывать самому?
Добрый день!
К сожалению, не знаю, как Вас зовут.
Я не совсем понял Ваш комментарий.
Если Вы имели в виду, что я вручную реализую алгоритм градиентного бустинга, то это не так. Я реализую алгоритм ПОДБОРА ОПТИМАЛЬНЫХ ГИПЕРПАРАМЕТРОВ для ЛЮБОГО МЕТОДА машинного обучения, в частности – для градиентного бустинга.
Альтернативой описываемому в этой статье алгоритму является не CatBoost, а такие инструменты как sklearn.GreedSearch, sklearn.RandomSearch, Optuna, Hyperopt, Байесовская оптимизация, Population Based Training и т.д. И перед всеми этими инструментами описываемый алгоритм имеет существенные преимущества.
Если же Вы спрашиваете, почему я подбираю гиперпараметры для sklearn.GradientBoostingClassifier, а не для CatBoost или же XGBoost, то причина – на системе Apache Spark, к которой я имею доступ, CatBoost не установлен. И пользователь вручную поставить его не может. Только администратор системы. Потому что CatBoost должен работать на уровне каждого Executor.
Если на Вашей системе CatBoost установлен, Вы легко можете адаптировать предлагаемый алгоритм для подбора гиперпараметров для CatBoost.
Спасибо за ответ. Да я забыл, что в банке все сложно с установкой пакетов из за безопасности. Но я все равно не понял, зачем ваш код адаптировать для catboost, если он уже сам запускается на pyspark, где есть параллелизация
Градиентный бустинг: как подобрать гиперпараметры модели в 5 раз быстрее, чем обычно?