はじめに
AutoMLのオープンソースソフトウェア(OSS)をいくつか調べて見ましたが、何がどういう特徴があったか一度整理して見たいと思い、簡単に表にまとめてみます。
対象としては、構造化データを対象にしたAutoMLツールで、DeepLearning特化のライブラリを除いています。また、論文などで主に取り上げられているツールを対象にしています。
表の内容は、論文やドキュメントベースの机上調査の場合もあれば、実際に触って見て知った内容も混合しています(レベル感などもテキトーです)ので、ご了承ください。あくまで個人的なメモ程度です。
2020年8月2日時点の情報をもとにしています。
常に最新情報に保つというわけではないですが、気が付いたときに更新します。
2021年3月3日に更新しました。
まとめの表
OSS | 開発元 | URL | 特徴など | メモ | 自分の投稿 |
---|---|---|---|---|---|
Auto-sklearn | Freiburg-Hannover.orgなど |
https://www.automl.org/automl/auto-sklearn/ https://papers.nips.cc/paper/5872-efficient-and-robust-automated-machine-learning.pdf |
- Pythonで使用可能 - アルゴリズムはsklearnで使用できるもの |
2020年7月8日にAuto-sklearn2.0の論文が公開 | https://qiita.com/dyamaguc/items/b7b8e8b0c952a53c31ab |
H2O | H2O.ai社 | http://docs.h2o.ai/h2o/latest-stable/h2o-docs/automl.html | - GUIとAPIによる操作が可能 - 表の結合、欠損値保管、ターゲットエンコーディングなども可能 - アルゴリズムはDeepLearningやXGBoostも含む(LightGBMはない) |
2021年3月3日時点でversion 3.32.0.4が最新。 | https://qiita.com/dyamaguc/items/84868e2e4e656e61a7c2 |
TPOT | Computational Genetics Lab at the University of Pennsylvaniaなど |
https://github.com/EpistasisLab/tpot https://arxiv.org/abs/1603.06212 |
- コマンドラインとpythonで使用可能 - 前処理でPCAなども実行 - scikit-learnで使えるようなアルゴリズム+XGBoost+NN |
2021年3月3日時点でv0.11.7が最新 | - |
AutoGluon | Amazonなど |
https://autogluon.mxnet.io/ https://arxiv.org/pdf/2003.06505.pdf |
- Pythonで使用可能 - 表形式データだけでなく、画像やテキストの分類などもできる - アルゴリズムはsklearnで使えるようなアルゴリズム+LightGBM+NNという感じ |
2021年3月3日時点でv0.1.0が最新 v0.1.0でAPIがリファクタリングされた。XGBoostをサポート。多ラベル予測など新機能が追加。 |
https://qiita.com/dyamaguc/items/dded739f35e59a6491c8 https://qiita.com/dyamaguc/items/19c977bf1536df9d0f99 |
PyCaret | (調査中) |
https://pycaret.org/ https://github.com/pycaret/pycaret |
(調査中) | 2021年3月3日時点でversion 2.3.0が最新 | - |
Auto-WEKA | University of British Columbiaなど |
http://www.cs.ubc.ca/labs/beta/Projects/autoweka/ https://github.com/automl/autoweka |
(調査中) | 2017年4月で開発が止まっている | - |
Hyperopt-sklearn | (調査中) | https://github.com/hyperopt/hyperopt-sklearn | (調査中) | 2021年3月3日時点でv0.0.3が最新(開発自体はほとんど止まっている) | - |