Pythonで機械学習をしようとしたら、調べるといろいろな情報が出てくると思います。
その中でも「AutoGluon」という簡単に機械学習を使用できるツールについて簡単にまとめてみました。
AutoGluonとは
オープンソースの自動機械学習ツールです。
GitHub上では現時点で8000個以上のスターが付いています。
公式サイトの冒頭に「Fast and Accurate ML in 3 Lines of Code(3行のコードで速く正確な機械学習)」と書かれている通り、最短3行のコードで簡単に機械学習を使うことができます。
もちろん、機械学習モデルのチューニングなど複雑な設定もAutoGluonでは可能です。
Amazon SageMakerでも使用されています。
参考:AutoGluon公式サイト
https://auto.gluon.ai/stable/index.html
チュートリアル
今回は、Windows上でサンプルデータを使った時系列予測を試してみます。
1.pipコマンドでインストールします。
pip install -U pip
pip install -U setuptools wheel
pip install -U uv
# CPU version of pytorch has smaller footprint - see installation instructions in
# pytorch documentation - https://pytorch.org/get-started/locally/
uv pip install torch==2.3.1+cpu torchvision==0.18.1+cpu --index-url https://download.pytorch.org/whl/cpu
uv pip install autogluon
参考:AutoGluon インストール方法
https://auto.gluon.ai/stable/install.html
2.時系列データを使ってトレーニングを行います。
公式サイトで用意されているサンプルデータを使います。
from autogluon.timeseries import TimeSeriesDataFrame, TimeSeriesPredictor
data = TimeSeriesDataFrame('https://autogluon.s3.amazonaws.com/datasets/timeseries/m4_hourly/train.csv')
predictor = TimeSeriesPredictor(target='target', prediction_length=48).fit(data)
TimeSeriesPredictor.fit()で、テストデータを基にトレーニングを実施します。
デフォルトでは多くの機械学習モデルを使用するため処理時間がかなりかかります。
(実際に試したときは1時間ほどかかりました...)
3.トレーニングが完了した機械学習モデルを使って予測を行います。
predictions = predictor.predict(data)
4.予測結果をグラフに表示します。
predictor.plot(data, predictions, quantile_levels=[0.1, 0.9], max_history_length=200, max_num_item_ids=4);
青い線が予測に渡すテストデータで、黄色い線が予測したデータです。
テストデータを基に、きれいな予測線が描画されました。
※予測線の半透明となっている部分は「信頼区間」と呼ばれています。何度も同じ予測を行ったときに、80%のデータがこの範囲内に収まるといったものです。
参考:クイックスタート
https://auto.gluon.ai/stable/tutorials/timeseries/forecasting-quick-start.html
まとめ
今回は、Pythonで使える「AutoGluon」について簡単に紹介させていただきました。
- オープンソースの自動機械学習ツール
- 難しいことは任せて、簡単に機械学習ができる
- 詳細なカスタマイズも可能(モデルのチューニングや、評価指標の見直しなど)
Pythonの機械学習に興味のある方はぜひAutoGluonを使ってみてください。