Azure Machine Learning の AutoML (自動機械学習) を使用して、時系列予測回帰モデルを学習する手順を紹介します。
AutoML (Automated ML) は、データや基本的な設定をインプットするだけで、Azure Machine Learning 側で特徴量エンジニアリンング、モデル選択、ハイパーパラメータ選択などのプロセスを全自動で行ってくれる機能です。詳しくは以下を参照ください。
自動機械学習 (AutoML) とは
以下、本記事で使用するサンプルのコードとデータです。
サンプルコード (github)
サンプルデータ (トレーニング用) - 1992年~2016年のビール製造時系列データ
サンプルデータ (テスト用) - 2017年~2018年のビール製造時系列データ
以下のトレーニングデータ (1992~2016年) をもとに、2017年以降のビールの需要予測をします。日付と数値データ (売上など) の2つのカラムを持つ CSV データがあれば同様の手順で試すことが可能です。
Azure Machine Learning の作成
- Azure Portal へのアクセス
- 以下の順にメニューを押下
- 以下の項目を適宜設定
- ワークスペース名: 任意
- リソースグループ: 任意
- 場所: 東日本
- ワークスペースのエディション: Enterprise(Auto ML を使用するため、Basic でなく Enterprise を選択します)
上記設定後、[確認および作成]ボタンによりデプロイを開始
Azure Machine Learning Studio の起動
MLの画面から、Azure Machine Learning Studio の [今すぐ起動する] をクリック
(あるいは、https://ml.azure.com にアクセスして、Azure Machine Learning studio の画面を直接開きます)
コンピューティング インスタンスの作成
- 統合開発画面 Azure Machine Learning studio の [コンピューティング] を開く
- [コンピューティング インスタンス] のタブを選択し、[+新規] をクリック
- 以下の項目を適宜設定
- コンピューティング名: 任意
- Virtual machine type: CPU (Central Processing Unit)
- 仮想マシンのサイズ: デフォルト (Standard_DS3_v2)
※4 vCPUコアあれば十分です
トレーニング クラスターの作成
- 統合開発画面 Azure Machine Learning studio の [コンピューティング] を開く
[Compute clusters] のタブを選択し、[+新規] をクリック - 以下の項目を適宜設定
- コンピューティング名: 任意
- Virtual machine type: CPU (Central Processing Unit)
- 仮想マシンのサイズ: デフォルト (Standard_DS3_v2)
※4 vCPUコアあれば十分です - 最小ノード数: 0
- 最大ノード数: 1
サンプルコード&データのアップロード
- ml.azure.com から、統合開発画面 Azure Machine Learning studio にアクセスします。
- [ノートブック] をクリックし、[フォルダーのアップロード] をクリックして、github からダウンロードした zip 解凍後のフォルダーをアップロードします。
ノードブックの実行
- [beer-forcasting-automated-ml.ipynb] をクリックし、[Jupyter] > [Jupyter で編集] をクリック
- Kernel の設定
- Jupyter で利用する Python 環境を指定
- [Python 3.6 – AzureML] を選択
- セルの実行(セルの実行方法は以下 3 通り)
- ショートカット:Ctrl + Enter キー (推奨)
- Cell バーから [Run Cells] を選択
- [> Run] を選択
実行している内容の詳細は ノートブック 内の説明を参照ください。
最後まで実行すると、ベストなモデルは平均絶対誤差率 (MAPE) が 6.3% と、非常に高い精度が得られます。
Model MAPE:
0.06370896673493383
Model Accuracy:
0.9362910332650661
予測値と実際の値をプロットしたものです。
(モデルの精度確認)
Azure Machine Learning studio の [自動 ML] のメニューからも、AutoML が試行した各種モデルの情報が GUI 経由で確認可能です。