Groovenautsコンサルタントの吉村です。
前回はGoogleスプレッドシートを用いて、気象庁と天文台と東京電力パワーグリッドのデータを使って、機械に学習させるためのデータセットを作るところまでをやりました。
- 課題をブレイクダウンし問題を式にする
- 何を予測・判定するのか決定する
- 業務での使い方を考える
- データを準備する
- 学習・予測・評価する
この順序で言うと、「4.データを準備する」のところまでですね。
続いて学習・予測・評価へ進むんですが、その前に今回のデータにどの様な傾向があるか見てみましょう。
せっかくなのでMAGELLAN BLOCKSの最近吉村イチオシのData Editorを使ってみます。
このData Eitorを開くと最初はこの様な画面になります。
この機能は私の向かいの席に座ってる敏腕エンジニアが作っているのですが、痒い所に手が届く機能を随所に散りばめてくれていてどんどん使いやすくなっています。私が相談した「こうなったら嬉しい」もたくさん取り込んでもらっています。
前回作成したGoogleスプレッドシートをインポートするところから進めていきます。
最初にインポートをクリックすると、インポート元の中のうちGoogle Driveをクリックします。
次にGoogleスプレッドシート側にMAGELLAN BLOCKSからアクセス可能にする設定を行います。設定に必要なメールアドレスをGCPサービスアカウントの右側にあるアイコンをクリックするとコピーすることができます。
続いてGoogleスプレッドシート側で共有の設定を行いますので共有をクリックします。
他のユーザーと共有の画面が表示されるのでコピーしたサービスアカウントのメールアドレスを貼り付けます。次に詳細を押して共有リンクをコピーします。完了を押せばこれでMAGELLAN BLOCKS側からこのGoogleスライドにアクセスすることができます。
ではData Editorに戻ってインポートの続きです。先ほどコピーした共有リンクをファイルURIに貼り付けます。次に読み飛ばし行を今回2行にしているので合わせて2にします。
最後にインポート先を指定します。データセットIDとテーブルIDと名前を入力してインポートをクリックするとData Editorにインポートされます。
インポートされると一覧に表示されます。
名前をクリックするとテーブルの中身をみることができますが、データを表示・グラフを表示をクリックしないと見えないようにしています。これはいきなり大量データ見ちゃうとBigQueryの課金が意図せず発生するのを防ぐためです。せっかくなので傾向を見ようと思います。
ちょっと目立たないですがデータ探索のアイコンをクリックします。すると集計の行列を指定する画面が表示されます。
ここで列に天気、行に実績の平均を設定します。表示のボタンをクリックすると一旦は表形式で表示されます。
テーブル形式から棒グラフに切り替えるとこんな感じです。だいたい同じですがちょいちょい平均電力使用料の多い天気がありますね。
さてこのデータを学習データと予測データに分割します。
画面上側の分割をクリックします。すると分割の設定画面が表示されます。
今回は下記のように分割したいと思います。
・学習データ:2016/04/01〜2018/05/31
・予測データ:2018/06/01〜2018/06/16
それに合わせて条件を設定します。まずは分割方法をランダムからカスタムにし、分割条件の項目にkeyを設定します。keyを設定した後で右側にあるフィルタアイコンをクリックすると、現在入っている日付の範囲とスライドバーが表示されます。そこからスライドバー右の丸を動かして、学習データ2016/04/01〜2018/05/31へ変更します。
次に学習データ(条件を満たすデータ)の項目と予測データ(条件を満たさないデータ)の項目を設定します。
学習データは予測因子・学習対象として不要な先頭のkeyのチェックを外します。
予測データは予測時に実績情報は不要なので末尾のactのチェックを外します。
あとは一番下の分割をクリックすると分割された2つのテーブルが作成されます。
最後にモデルジェネレーターはCSVファイルをもとに学習するため、電力データ_trainをエクスポートします。一番右の点々からエクスポートを選択します。
エクスポートはエクスポート先のGCS上の場所を選択します。あとはエクスポートをクリックするだけです。
これでモデルジェネレーターでモデルを作るために学習させるCSVファイルが準備できました。説明は割愛しますが予測用に電力データ_testもエクスポートしておきます。