Обсуждение статьи "Машинное обучение и Data Science (Часть 31): Применение моделей CatBoost в трейдинге"
Ознакомьтесь с новой статьей: Наука о данных и ML (часть 31): Использование моделей искусственного интеллекта CatBoost для торговли.
Автор: Omega J Msigwa
а еще есть проблема экспорта модели классификатора в ONNX
Note
The label is inferred incorrectly for binary classification. This is a known bug in the onnxruntime implementation. Ignore the value of this parameter in case of binary classification.
У меня есть небольшой вопрос или опасение, которым я надеюсь поделиться.
Я полагаю, что основная проблема может быть связана с тем, что описано здесь:
https://catboost.ai/docs/en/concepts/apply-onnx-ml
Специфика:
В настоящее время поддерживаются только модели, обученные на наборах данных без категориальных признаков.
В Jupyter Notebook catboost-4-trading.ipynb, который я скачал, код настройки конвейера написан так:
pipe.fit(X_train, y_train, catboost__eval_set=(X_test, y_test))
Похоже, что параметр"catboost__cat_features=categorical_features" опущен, поэтому модель, возможно, была обучена без указания категориальных признаков.
Это может объяснить, почему модель может быть сохранена как ONNX без каких-либо проблем.
Если дело обстоит именно так, то, возможно, можно напрямую использовать родной метод CatBoost"save_model" , например, так:
model = pipe.named_steps['catboost']
model_filename = "CatBoost.EURUSD.OHLC.D1.onnx"
model.save_model(model_filename, format='onnx')
Надеюсь, это наблюдение окажется полезным.
- catboost.ai
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Машинное обучение и Data Science (Часть 31): Применение моделей CatBoost в трейдинге:
Модели искусственного интеллекта CatBoost приобрели огромную популярность в сообществе машинного обучения благодаря их точности прогнозирования, эффективности и устойчивости к разрозненным и сложным наборам данных. В этой статье речь будет идти о том, как использовать эти модели применительно к рынку Форекс.
CatBoost — это библиотека с открытым исходным кодом, реализующая алгоритмы градиентного бустинга на деревьях решений. Разработана специально для решения задач, связанных с обработкой категориальных признаков и данных в задачах машинного обучения. Компания-разработчик Яндекс выложила библиотеку в открытый доступ в 2017 году (подробнее).
Несмотря на то, что CatBoost появился относительно недавно по сравнению с другими методами машинного обучения, например, линейной регрессией или SVM, библиотека быстро завоевал популярность и вошла в число самых используемых моделей машинного обучения на Kaggle.
CatBoost привлек столько внимания благодаря своей способности автоматически обрабатывать категориальные признаки в наборе данных — а это довольно сложная задача для многих алгоритмов машинного обучения.
Автор: Omega J Msigwa