記事検索

検索ワードを入力してください。
Sky Tech Blog
【Python】AutoGluonを​使った​機械学習~概要~

【Python】AutoGluonを​使った​機械学習~概要~

Pythonで利用できる自動機械学習ツール「AutoGluon」についての説明します。インストール方法や時系列予測のチュートリアル、予測結果の表示方法などを簡単に紹介します。

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を使ってみてください。


XFacebookLINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム