また、分類器モデルをONNXにエクスポートする問題もあります。
注
バイナリ分類の場合、ラベルが正しく推測されません。これはonnxruntime実装の既知のバグです。バイナリ分類の場合、このパラメータの値は無視してください。
ちょっとした疑問や懸念があるので、共有できればと思います。
根本的な問題は、ここに書かれていることに関連しているのではないかと思います:
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千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事「データサイエンスとML(第31回):取引のためのCatBoost AIモデルの使用」はパブリッシュされました:
CatBoost AIモデルは、その予測精度、効率性、散在する困難なデータセットに対する頑健性により、機械学習コミュニティの間で最近大きな人気を博しています。この記事では、外国為替市場を打ち負かすために、この種のモデルをどのように導入するかについて詳しく説明します。
CatBoostは、決定木に基づく勾配ブースティングアルゴリズムを備えたオープンソースのソフトウェアライブラリであり、機械学習におけるカテゴリ特徴量やデータ処理の課題を解決するために特化して設計されています。
CatBoostはYandexによって開発され、2017年にオープンソースとして公開されました(詳細)。
CatBoostは、線形回帰やSVMなどの従来の機械学習手法と比べて比較的新しい技術であるにもかかわらず、AIコミュニティで急速に注目を集め、Kaggleのようなプラットフォームで最も利用される機械学習モデルの1つとなっています。
CatBoostが特に評価されているのは、多くの機械学習アルゴリズムが苦手とするカテゴリ特徴量の自動処理能力にあります。
作者: Omega J Msigwa