Discussão do artigo "Ciência de dados e aprendizado de máquina (Parte 31): Aplicação de modelos CatBoost no trading"
Confira o novo artigo: Ciência de dados e ML (Parte 31): Usando modelos de IA CatBoost para negociação.
Autor: Omega J Msigwa
E há também o problema de exportar o modelo do classificador para o ONNX
Observação
O rótulo é inferido incorretamente para a classificação binária. Esse é um bug conhecido na implementação do onnxruntime. Ignore o valor desse parâmetro no caso de classificação binária.
Tenho uma pequena dúvida ou preocupação que gostaria de compartilhar.
Acredito que o problema subjacente possa estar relacionado ao que está descrito aqui:
https://catboost.ai/docs/en/concepts/apply-onnx-ml
Especificidades:
No momento, só há suporte para modelos treinados em conjuntos de dados sem recursos categóricos.
No Jupyter Notebook catboost-4-trading.ipynb que baixei, o código de ajuste do pipeline está escrito como:
pipe.fit(X_train, y_train, catboost__eval_set=(X_test, y_test))
Parece que o parâmetro"catboost__cat_features=categorical_features" foi omitido, portanto, o modelo pode ter sido treinado sem especificar recursos categóricos.
Isso pode explicar por que o modelo pode ser salvo como ONNX sem nenhum problema.
Se esse for o caso, talvez o método nativo do CatBoost"save_model" possa ser usado diretamente, assim:
model = pipe.named_steps['catboost']
model_filename = "CatBoost.EURUSD.OHLC.D1.onnx"
model.save_model(model_filename, format='onnx')
Espero que essa observação possa ser útil.
- catboost.ai
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Ciência de dados e aprendizado de máquina (Parte 31): Aplicação de modelos CatBoost no trading foi publicado:
CatBoost é uma biblioteca de código aberto que implementa algoritmos de gradient boosting sobre árvores de decisão. Foi desenvolvida especialmente para resolver tarefas relacionadas ao processamento de características categóricas e dados em problemas de aprendizado de máquina. A empresa desenvolvedora Yandex disponibilizou a biblioteca como código aberto em 2017 (saiba mais).
Embora o CatBoost tenha surgido relativamente recentemente em comparação com outros métodos de aprendizado de máquina, como regressão linear ou SVM, a biblioteca rapidamente ganhou popularidade e se tornou um dos modelos mais usados em competições do Kaggle.
O CatBoost atraiu muita atenção por sua capacidade de processar automaticamente características categóricas em conjuntos de dados, algo bastante desafiador para muitos algoritmos de aprendizado de máquina.
Autor: Omega J Msigwa