Azure Antennaさん主催の「Power BI と Azure Machine Learning ではじめるデータ分析実践編」に参加しました。
まずは、Machine Learning = 機械学習と、AIや深層学習との関連性について説明がありました。すぐにAzureを使い始めるのかと思いきや、機械学習関連の基礎知識から教えてもらえるのはとても有難いです。
AIと深層学習(ディープラーニング)と機械学習(マシンラーニング)の区別がついていない状態から、それぞれの特色や用途を説明頂き、だいぶイメージがつかめてきました。
だいぶ簡単に言うと、ディープラーニングは、特徴量の抽出から学習まですべてコンピュータが行うのに対して、機械学中は特徴量の抽出は人間が行い、それに対しての学習はコンピュータが行う、ということになります。
これだけ見ればディープラーニングで全部行えばいいじゃん、となりますが、現実はそうはいかず、有用な結果を得るためには機械学習が向いているケースがかなりある、とのことでした。
そしてそもそも、今回のタイトルを一般化した「BIと機械学習とデータ分析」がどのような相関関係にあるのかの説明がありました。
まず「データ分析」というプロジェクトが存在します。サンプルとして、
・天候と熱中症の相関関係をモデルにして、今年の熱中症の発生件数を予測する
という題材で実習を行いました。
これを商品の需給予測や、SPIと離職率の関連など、ビジネスに欠かせない数値に応用できるわけですから、「データ分析プロジェクト」の重要さがよくわかります。
データ分析プロジェクトの進め方としては、まずは分析の目的(何のためにデータを分析するのか)がしっかりしていなければならない、ということでした。
そして、機械学習を行う前準備として、BIツールを使ったデータの収集と理解を行います。機械学習システムに対して、どのようなモデルでどのようなパラメータを与えればいいのか、ということを考えるフェーズです。
それに適したツールがPower BIということでした。
クライアントソフトのPower BI Desktopは無料で使用できます。
Power BI Desktopを簡単に言うと、エクセルのピボットテーブルとグラフ作成機能を強化して切り出したもの、と言えます。なので、BIツールと難しく考えず、ピボットテーブルレポートを作成する気軽さで高度な集計機能を使うことができます。(集計結果をWebサイト経由で共有するにはユーザー登録と支払いが必要)
Power BIの分析元となるデータはExcelだけでなく、有名どころのデータベースやクラウドサービスにほとんど対応しているようです。なので、DBからデータを引っ張り出して、加工して、データ分析したりをPCで完結できます(データ量が多い場合には高性能なPCが必要)
※以前、仕事でソーシャルゲームのKPI分析をしていたことがあったのですが、その時に使いたかったなあ。。
ということで、Power BI上で、機械学習に与えるためのパラメータの予測を行います。熱中症の例なら、「気温」「湿度」は関係ありそうですし、そこから計算式で導くことができる「前日との気温差」「5日間の移動平均気温」なども相関がありそうです。
計算式もほぼExcelのセルに関数を入れるような感覚で直感的に使えますし、SQLライクにもっと高度な処理を行うこともできます。
そうしてできた仮説を基に、機械学習を用いてモデル予測を行います。
Azureでは、Azure Machine Learning Studioを使用して、全てクラウド上で行うことができます。
しかも、コーディングはほぼゼロで、欠損データの処理やデータの分割、学習モデルの作成、評価まで行えてしまって本当に驚きました。
途中、適当に線形回帰モデルを選択してみたのですが、相関関係を表すスコアがあまり上がらず、べつのモデルをドラッグ&ドロップで選びなおしたり、説明変数(パラメータ)を増やしたりしていたら、だんだんとスコアが上がってきました。高度な専門知識が必要な機械学習なのにマウスでポチポチやっているだけで精度が高いモデルが出来上がってくることに感動を覚えました。
もちろん、専門知識を持っている人ならばもっと短期間で結果を出すこともできるでしょうし、Pythonで書きたい部分は書けるとのことだったので、機械学習の入門としても時短ツールとしても相当使えそうな雰囲気がありました。
そして、ML Stduioで分析した結果を再度Power BIにインポートして、わかりやすいグラフを作るところまででハンズオンは終了しました。
今まで縁遠いと思っていた技術が本当に誰でも使えるところまで来ていることを知り、大変有意義なセミナーでした。