HAPPY HACKING Oouchi's BLOG

PSE(ポンコツエンジニア)の技術ブログ

QuickSightに入門したくて「AWS-UG 初心者支部 #30 Amazon QuickSight ML Insights」に参加した

f:id:ooooouchi:20200803001034j:plain

7月29日に開催された「AWS-UG 初心者支部 #30 Amazon QuickSight ML Insights」に参加してきました。

jawsug-bgnr.connpass.com

BIツールなるものすら触ったことがありませんでしたが、機械学習モデルを使った予測が簡単すぎて時代の先端に触れられた気がしました。🧠

QuickSightとは

サーバレスで運用不要のBIサービスです。

aws.amazon.com

使用しているエンジンや仕組みは以下で紹介されています。

dev.classmethod.jp

特徴

  • サーバーをホスティングして管理する必要がない
  • RDS、S3などのAWSサービスとの連携ができる
  • ブラウザのみで全機能が利用可能
  • BI利用者も管理者もソフトウェアの導入が不要

ハンズオン

使用した手順資料やデータソースは↓で公開されています。

github.com

ちなみに、手順資料では3種類のハンズオンが紹介されていますが、この記事では1つ目のハンズオン一部を記載しています。

ボリューミーすぎて入門からもう一歩進めるハンズオンだと思います🎉

ハンズオンで出来たこと

  • 棒グラフやドーナツチャートなどの基本的なビジュアル
  • 折れ線グラフを作成し、予測値を追加する

他にもフィルタやビジュアルテーマの変更などもできるようになりました!

ある程度のデータセットを投入するだけで予測ができるようになるって時代を感じますね・・

データソースの挿入

QuickSightのコンソールで"新しい分析"をクリックします。

f:id:ooooouchi:20200802205152p:plain

"新しいデータセット"をクリックします。

f:id:ooooouchi:20200802205624p:plain

"ファイルのアップロード"をクリックしてデータソースをアップロードします。

f:id:ooooouchi:20200802205719p:plain

設定の編集とデータの準備をクリックします。

f:id:ooooouchi:20200802205914p:plain

データセットの準備画面に遷移します。

f:id:ooooouchi:20200802210003p:plain

ただのCSVビューワーとしても綺麗で質が高いですね・・

他データソースのジョイン

別のCSVをアップロードして結合させることもできます。

"データの追加"をクリックし、CSVをアップロードします。

f:id:ooooouchi:20200802211942p:plain

f:id:ooooouchi:20200802212008p:plain

結合アイコンをクリックして結合設定をします。

今回はRegionフィールドで結合させたいので、

結合句:Region 結合タイプ:Inner

として"適用"をクリックします。

f:id:ooooouchi:20200802212244p:plain

結合後、Regionフィールドが二つ存在するので一つ非表示にします。
チェックボックスを外すことで非表示にできます。

f:id:ooooouchi:20200802213358p:plain

型修正

CSV取り込み時に自動で型指定してくれるので正しい型に修正していきます。

f:id:ooooouchi:20200802214325p:plain

視覚化

データ設定が完了したら視覚化を行います。

名前をつけて"保存して視覚化"をクリックします。

f:id:ooooouchi:20200802220255p:plain

分析画面が表示されます。

f:id:ooooouchi:20200802220626p:plain

ビジュアルタイプはグラフが作れそう?ってことはわかります。

ビジュアライズ

ここからはグラフなどを作成してデータを可視化していきます。

表示形式の修正

フィールドごとに表示形式を変更できます。

数値、通過、パーセントのように使用したいケースに応じて表示形式を変更します。

f:id:ooooouchi:20200802221416p:plain

棒グラフの追加

ビジュアルタイプから棒グラフを追加し、フィールドウェルに可視化したいフィールドを追加します。

f:id:ooooouchi:20200802223510p:plain

これだけで棒グラフを作成できます。
エクセルのオートシェイプと同じような感じですね。

予測機能(MLインサイト)

ML(機械学習)インサイトの機能の一つ、予測を使用して与えられたデータから予測値を出力します。

時系列で変化するデータに適した予め学習済みのモデルを使用できるため、ユーザー側で機械学習の予備知識が不要です。

※SageMakerと連携できるので、独自に学習させたモデルを使った分析も可能です。

折れ線グラフの作成

ビジュアルタイプから折れ線グラフを追加し、フィールドウェルに可視化したいフィールドを追加します。
X軸に日付を追加すると予測を出力するときにわかりやすいかもしれません。

f:id:ooooouchi:20200802230426p:plain

初期では日付ごとの粒度になっていますが、細かすぎて見えないので月ごとに表示されるように変更します。

X軸の"V"をクリックし、"集計=>月"を選択します。

f:id:ooooouchi:20200802230549p:plain

同様に"形式=>その他のフォーマットオプション"を選択し、左ペインで"日付"はカスタム、下の方にある"カスタム"で"YYYY/MM"と入力します。

f:id:ooooouchi:20200802230811p:plain

f:id:ooooouchi:20200802230903p:plain

f:id:ooooouchi:20200803001257p:plain

見やすくなりました。

f:id:ooooouchi:20200802232641p:plain

予測の追加

ビジュアルの右上にある"…"から"予測を追加"をクリックします。

f:id:ooooouchi:20200802232710p:plain

予測が表示されました。

簡単すぎる・・

半年先までの予測を表示させたいので"期間を進める"を14から6に変更し、"適用"をクリックします。

f:id:ooooouchi:20200802232857p:plain

これで、半年先までの予測を表示することができました。🥳

青色の線が実際の値、オレンジ色の線が予測値です。

薄いオレンジ色の領域は「幅」です。いわゆる誤差の範囲ですね。

感想

まだまだ縁が遠い技術だと思っていたAIと機械学習ですが、いろいろな部分が抽象化されて大衆が使いこなせるようになる時代がすぐそこにあるんだな〜と感じました。

一時期話題になった飲食店の1日に必要な食品量などがすぐに予測できそうなのでなにか興味のあるデータはとりあえずQuickSightにインポートしてみるのも面白そうですね!