AutoMLとは
Automated machine learning (AutoML)という言葉を聞いたことはあるでしょうか。
AutoMLは、機械学習の過程の一部を自動化する試みです。
機械学習の応用範囲は広がり、いろいろな分野に適応されています。
機械学習には、
- データの前処理
- 特徴量エンジニアリング
- モデル選択
- ハイパーパラメータの最適化
など多くの工程があり、専門的な知識が必要とされます。
これらの一部を自動化しようというのが、AutoMLです。
機械学習のニーズの広がりとともに、様々なAutoMLのツールが出てきています。
- GoogleのCloud AutoML
- MicrosoftのAzure Automated machine learning
- DataRobotのAutomated Machine Learning
などが知られています。
今日は、これら以外の、比較的試しやすい、基本的に無料で使用できるAutoMLのツールを紹介します。
です。
様々なAutoMLのツール
auto-sklearn
auto-sklearnは、名前から連想できるように、Pythonの機械学習ライブラリとして広く知られているscikit-learnを拡張させた、AutoMLのツールです。
auto-sklearnのドキュメントは充実しており、
- 始め方のマニュアル
- サンプル
などを確認することができます。
サンプルには、
- 分類
- 回帰
などについて、auto-sklearnの使用例を見ることができます。
AutoKeras
AutoKerasは、Pythonのニューラルネットワーク構築のフレームワークKerasをもとに開発されているAutoMLのツールです。
公式サイトから、
- インストール方法
- チュートリアル
- 各種ドキュメント
などを確認できます。
チュートリアルは非常に詳しく、
- 画像分類
- 画像の回帰問題
- テキスト分類
- テキストの回帰問題
- 構造化されたデータの分類
- 構造化されたデータの回帰問題
などでの、AutoKerasの使い方が説明されています。
TensorFlowやKerasを使って、機械学習やディープラーニングに取り組んできた人には、AutoMLのツールとしてAutoKerasが候補になるかと思います。
Auto-PyTorch
Auto-PyTorchは、PyTorchのエコシスエムでのAutoMLツールです。
PyTorchは、TensorFlowと並び広く使われているPythonのディープラーニングのライブラリです。
scikit-learn、TensorFlowやKerasを使ってきた人がauto-sklearn、AutoKerasに取り組みやすいのと同様に、PyTorchを使ってきた人には、Auto-PyTorchは取り組みやすい選択肢となるでしょう。
チュートリアルもあります。
前者2つのAutoMLツールに比べると、2021年1月時点で、開発もまだまだこれからという印象があるかもしれませんが、PyTorchのエコシスエムはすでに非常に充実してきているので、今後に期待が持てます。
H2O AutoML
H2O.aiはシリコンバレーに拠点を持つオープンソースソフトウェアの会社です。
H2OはオープンソースのAutoMLツールを開発しています。
H2O AutoMLには、チュートリアルが用意されています。
これまでに紹介した3つのAutoMLツールは、Pythonで主に使用されることが想定されています。
H2OのAutoMLは、Pythonに加えRでの使用も強く意識されています。
Pythonのサンプルコードとともに、Rのサンプルコードも確認できます。
R言語で機械学習に取り組んできたという人には、H2OのAutoMLは選択肢になると思います。
TPOT
TPOTは、遺伝的プログラミングを使って、機械学習の各種工程を最適化するAutoMLツールです。
Pythonでの使用が想定されています。
- インストール方法
- マニュアル
- サンプルコード
など、リソースは充実しています。
データ分析や機械学習で定番の
などでのTPOTの使い方を確認できます。
Pythonを使って、データ分析や機械学習に取り組んできたが、TensorFlowやPyTorchにはそれほど慣れていない、という時には、TPOTがAutoMLツールの選択肢になるかと思います。
気軽に試してみようと思った時に
今日紹介した、ツールは、GoogleのCloud AutoMLやMicrosoftのAzure Automated machine learningなどに比べると、あまり知られていない印象です。
しかし、auto-sklearnといったツールでは、無料でAutoMLに気軽に取り組めます。
AutoML関係の情報は、
などが参考になります。
気軽に試せるツール選び、使いつつ、
- AutoMLのいろいろな機能
- 自分の問題への適応可能性
などを見ていき、本格的にAutoMLを導入するかを検討するという方法も良いと思います。
PythonやRなどの機械学習ライブラリやパッケージと同じように、まずは気軽にAutoMLのツールを試してみるのも良いのではないでしょうか。
コメント