Data Editor による機械学習モデルの作成と予測

Using the Data Editor to train ML models and make predictions

概要

この機能は、ベータ版です。正式版リリース後は、手順含め新たに作り直しとなる可能性があります。その点を踏まえた上で、ご利用願います。

また、ベータ版での提供となるため、一部の機能が正常に動作しない可能性があります。機能改善や不具合などのフィードバックは、フォーラムお問い合わせで情報提供をお願いします。フィードバックの内容は MAGELLAN BLOCKS の品質向上のために利用いたします。

Data Editor では、Data Editor 上のデータを使った機械学習モデルの作成と予測が行えます。この機械学習モデルは、モデルジェネレーターの機械学習モデルとは全く異なるものです。

現在、Data Editor では、以下のモデルをサポートしています。

モデル 説明
線形回帰(数値回帰)モデル

数値の予測に使用します。天候や曜日などから来場者数や販売数を予測したり、交通機関の利用者数を予測したりといったことなどに使用します。

ロジスティック回帰(分類)モデル

与えられたデータの分類に使用します。クレジットカードや ATM の利用特性から正当利用か不正利用に分類したり、キャンペーンなどの実施により会員登録するかしないかに分類したりといったことなどに使用します。

Data Editor で機械学習を利用する場合の利点は、以下のとおりです。

  • Data Editor 上でデータを構築するだけで、機械学習に関する難しい専門知識は不要です。簡単に機械学習が利用できます。
  • 学習データの準備→モデルの作成→評価のサイクルがすべて Data Editor 上で自己完結するため、モデル開発のスピードが向上します。

線形回帰(数値回帰)モデルの例

ここでは、「モデルジェネレーターの使い方(数値回帰タイプ)」の電力需要予測データを使った線形回帰(数値回帰)モデルの使用例を紹介します。

以下の手順を実際に手を動かして試してみたい場合は、「モデルジェネレーターの使い方(数値回帰タイプ)」の手順に沿って、学習データの作成を済ませておいてください。

データの準備

まず、機械学習モデルの作成時に必要となる学習(トレーニング)データを準備します。

ここでは、「モデルジェネレーターの使い方(数値回帰タイプ)」の電力需要予測データを使用します。なお、「モデルジェネレーターの使い方(数値回帰タイプ)」では、訓練データと検証データに分けていましたが、ここでは分ける前の BigQuery 上のデータを使用します。

インポート機能を使って、このデータを Data Editor に取り込みます。

電力需要予測のトレーニングデータのインポート

トレーニングデータのインポート時の指定内容は、以下のとおりです。

項目
インポート元

Google BigQuery を選択します。

GCP サービスアカウント

テーブル作成時の GCP サービスアカウントか、テーブルにアクセス可能な GCP サービスアカウントを選択します。

データセット ID

トレーニングデータの BigQuery 上のデータセットを指定します。この例では、blocks_ml_juyo と指定しています。

テーブル ID

トレーニングデータの BigQuery 上のテーブルを指定します。この例では、juyo_all_data_2016_daytime と指定しています。

名前

わかりやすい名前を付けます。この例では、電力需要予測のトレーニングデータ と指定しています。

さらに、予測時に使用するデータも準備しておきます。今回は、以下の CSV 形式のデータを使います。

max_temp,min_temp,hours_of_sunshine,humidity_avg,daytime_time
13.8,2,8.9,59,588
13.3,3.8,6.5,65,588
13.7,3.5,8.2,54,589
14,3.6,8.7,48,590

このファイルもインポート機能を使って、Data Editor に取り込みます。

電力需要予測の予測データのインポート

予測データのインポート時の指定内容は、以下のとおりです。

項目
インポート元

Upload を選択します。

GCP サービスアカウント

トレーニングデータインポート時に指定した GCP サービスアカウントを指定します。

GCS URL

予測データの CSV ファイルをアップロードする先となる Google Cloud Storage(GCS)上の URL を選択します。

これは、ローカルファイルの取り込みが、GCS を経由して取り込む Data Editor の仕様によるものです。

ファイル

アップロードするファイルを指定します。この例では、先の CSV データを juyo_predict.csv というファイル名で保存したファイルを指定しています。

スキーマ

スキーマを自動検出]を選択します。

CSV 区切り文字

カンマを指定します。

読み飛ばし行数

読み込む CSV データの先頭はヘッダー行のため、この行を読み飛ばす必要があります。この例では、1 と指定しています。

データセット ID

予測データの BigQuery 上のデータセットを指定します。この例では、blocks_ml_juyo と指定しています(トレーニングデータに合わせています)。

テーブル ID

予測データの BigQuery 上のテーブルを指定します。この例では、juyo_predict と指定しています。

名前

わかりやすい名前を付けます。この例では、電力需要予測の予測データ と指定しています。

モデルの作成

トレーニングデータの準備ができたら、モデルを作成します。

モデルの作成手順画面(ステップ 1)

テーブル一覧画面から名前が[電力需要予測のトレーニングデータ]の行右端の をクリックして、メニューを表示させます。そのメニューから[クエリモデル作成]をクリックします。

モデルの作成手順画面(ステップ 2)

モデル作成画面で各項目の設定を適切に変更し、[作成]ボタンをクリックします。ここでは、以下の項目の設定を変更しました。

項目 変更内容
名前

わかりやすい名前に変更します。ここでは、電力需要予測モデル としました。

モデル ID

わかりやすい ID に変更します。ここでは、juyo_model としました。

モデルタイプ

適切なモデルタイプを選択します。ここでは、デフォルトのまま[線形回帰(数値回帰)]とします。

トレーニングデータ設定

トレーニングデータの各列ごとに、要不要の判断や入力データか予測値かの選定を行います。また、型を変更することで型の変換も行えます。

ここでは、列名 date を[使わない]に変更しました。それ以外はデフォルトのままとします(used_sum が[予測する列]、それ以外が[入力データの列])。

作成]ボタンクリック後、しばらくするとモデルの作成が完了します。

モデルの確認

モデルの作成が完了したら、作成したモデルの内容を確認して評価します。

モデルの確認手順(ステップ 1)

モデルタブをクリックして、モデルの一覧を表示します。

モデルの確認手順(ステップ 2)

モデル一覧画面から[電力需要予測モデル]という(確認したいモデルの)名前をクリックします。

モデルの確認手順(ステップ 3)

モデルの詳細画面では、まずモデルのスキーマ情報(列名と型)が確認できます。

モデルの確認手順(ステップ 4)

トレーニング情報]タブをクリックすると、トレーニング(学習)の情報が確認できます。

  • トレーニング繰り返し回数:トレーニングの繰返し回数です。
  • トレーニングデータの損失:トレーニングデータの繰り返し後に計算された損失指標(平均二乗誤差)です。
  • 評価データの損失:評価の損失指標です。
  • 完了時刻:各トレーニングの時間
  • 学習率:各トレーニングの学習率
モデルの確認手順(ステップ 5)

トレーニングデータの特徴情報]タブをクリックすると、トレーニングデータの特徴情報が確認できます。

  • 列名:トレーニングデータの列名です。
  • 最小値:トレーニングデータの最小値です。数値以外の場合は、NULL になります。
  • 最大値:トレーニングデータの最大値です。数値以外の場合は、NULL になります。
  • 平均値:トレーニングデータの平均値です。数値以外の場合は、NULL になります。
  • 標準偏差:トレーニングデータの標準偏差です。数値以外の場合は、NULL になります。
  • カテゴリの数:カテゴリの数です。カテゴリ以外の列の場合、NULL になります。
  • NULL の数:NULL の数です。
モデルの確認手順(ステップ 6)

データの重み情報]タブをクリックすると、トレーニングデータ各列ごとの重み情報が確認できます。

モデルを評価した結果が悪ければ、トレーニングデータの因子(列)を見直して、モデルを作り直し再度評価を行います。このサイクルを良い結果が得られるまで繰り返します。

予測

モデルの内容を確認し問題がなければ、そのモデルを使って予測を行います。

予測手順(ステップ 1)

テーブル一覧画面から[電力需要予測の予測データ]という(予測に使用するデータの)名前をクリックします。

予測手順(ステップ 2)

詳細画面から虫眼鏡のアイコンをクリックします。

予測手順(ステップ 3)

予測に使用するモデル([電力需要予測モデル])を選択し、[予測]ボタンをクリックします。

予測手順(ステップ 4)

予測が完了すると、結果が表示されます。

このように、Data Editor 上にデータさえあれば、機械学習に関する難しい専門知識なしで、簡単かつ迅速に機械学習が利用できます。

ロジスティック回帰(分類)モデルの例

ここでは、「モデルジェネレーターの使い方(数値分類タイプ)」のあやめの分類データを使ったロジスティック回帰(分類)モデルの使用例を紹介します。

以下の手順を実際に手を動かして試してみたい場合は、「モデルジェネレーターの使い方(数値分類タイプ)」の手順に沿って、学習データの作成を済ませておいてください。

データの準備

まず、機械学習モデルの作成時に必要となる学習(トレーニング)データを準備します。

ここでは、「モデルジェネレーターの使い方(数値分類タイプ)」のあやめデータをそのまま使用します(Data Editor 上に作成済み)。

さらに、予測時に使用するデータも準備しておきます。今回は、以下の CSV 形式のデータを使います。

sepal_length,sepal_width,petal_length,petal_width
5.9,3.0,4.2,1.5
6.9,3.1,5.4,2.1
5.1,3.3,1.7,0.5

このファイルをインポート機能を使って、Data Editor に取り込みます。

あやめ予測データのインポート画面

予測データのインポート時の指定内容は、以下のとおりです。

項目
インポート元

Upload を選択します。

GCP サービスアカウント

あやめデータ作成時に指定した GCP サービスアカウントを指定します。

GCS URL

予測データの CSV ファイルをアップロードする先となる Google Cloud Storage(GCS)上の URL を選択します。

これは、ローカルファイルの取り込みが、GCS を経由して取り込む Data Editor の仕様によるものです。

ファイル

アップロードするファイルを指定します。この例では、先の CSV データを iris_predict.csv というファイル名で保存したファイルを指定しています。

スキーマ

スキーマを自動検出]を選択します。

CSV 区切り文字

カンマを指定します。

読み飛ばし行数

読み込む CSV データの先頭はヘッダー行のため、この行を読み飛ばす必要があります。この例では、1 と指定しています。

データセット ID

予測データの BigQuery 上のデータセットを指定します。この例では、doc_samples と指定しています。

テーブル ID

予測データの BigQuery 上のテーブルを指定します。この例では、iris_predict と指定しています。

名前

わかりやすい名前を付けます。この例では、あやめ予測データ と指定しています。

モデルの作成

トレーニングデータの準備ができたら、モデルを作成します。

モデルの作成手順(ステップ 1)

テーブル一覧画面から名前が[あやめ(クレンジングデータ)]の行右端の をクリックして、メニューを表示させます。そのメニューから[クエリモデル作成]をクリックします。

モデルの作成手順(ステップ 2)

モデル作成の画面で各項目の設定を適切に変更し、[作成]ボタンをクリックします。

ここでは、以下の項目の設定を変更しました。

項目 変更内容
名前

わかりやすい名前に変更します。ここでは、あやめ分類モデル としました。

モデル ID

わかりやすい ID に変更します。ここでは、iris_model としました。

モデルタイプ

適切なモデルタイプを選択します。ここでは、[ロジスティック回帰(分類)]とします。

トレーニングデータ設定

トレーニングデータの各列ごとに、要不要の判断や入力データか予測値かの選定を行います。また、型を変更することで型の変換も行えます。

ここでは、すべてデフォルトのままとします。

作成]ボタンクリック後、しばらくするとモデルの作成が完了します。

モデルの確認

モデルの作成が完了したら、作成したモデルの内容を確認して評価します。

モデルの確認手順(ステップ 1)

モデルタブをクリックして、モデルの一覧を表示します。

モデルの確認手順(ステップ 2)

モデル一覧画面から[あやめ分類モデル]という(確認したいモデルの)名前をクリックします。

モデルの確認手順(ステップ 3)

モデルの詳細画面では、まずモデルのスキーマ情報(列名と型)が確認できます。

モデルの確認手順(ステップ 4)

トレーニング情報]タブをクリックすると、トレーニング(学習)の情報が確認できます。

  • トレーニング繰り返し回数:トレーニングの繰返し回数です。
  • トレーニングデータの損失:トレーニングデータの繰り返し後に計算された損失指標(平均二乗誤差)です。
  • 評価データの損失:評価の損失指標です。
  • 完了時刻:各トレーニングの時間
  • 学習率:各トレーニングの学習率
モデルの確認手順(ステップ 5)

トレーニングデータの特徴情報]タブをクリックすると、トレーニングデータの特徴情報が確認できます。

  • 列名:トレーニングデータの列名です。
  • 最小値:トレーニングデータの最小値です。数値以外の場合は、NULL になります。
  • 最大値:トレーニングデータの最大値です。数値以外の場合は、NULL になります。
  • 平均値:トレーニングデータの平均値です。数値以外の場合は、NULL になります。
  • 標準偏差:トレーニングデータの標準偏差です。数値以外の場合は、NULL になります。
  • カテゴリの数:カテゴリの数です。カテゴリ以外の列の場合、NULL になります。
  • NULL の数:NULL の数です。
モデルの確認手順(ステップ 6)

データの重み情報]タブをクリックすると、トレーニングデータの重み情報が確認できます。

モデルを評価した結果が悪ければ、トレーニングデータの因子(列)を見直して、モデルを作り直し再度評価を行います。このサイクルを良い結果が得られるまで繰り返します。

予測

モデルの内容を確認し問題がなければ、そのモデルを使って予測を行います。

予測手順(ステップ 1)

テーブル一覧画面から[あやめ予測データ]という(予測に使用するデータの)名前をクリックします。

予測手順(ステップ 2)

詳細画面から虫眼鏡のアイコンをクリックします。

予測手順(ステップ 3)

予測に使用するモデルを選択し、[予測]ボタンをクリックします。

予測手順(ステップ 4)

予測が完了すると、結果が表示されます。

このように、Data Editor 上にデータさえあれば、機械学習に関する難しい専門知識なしで、簡単かつ迅速に機械学習が利用できます。