業界・業種を問わずAIの利活用が始まっています。
今回は、AIで機械学習の自動化が話題のDataRobotとDataSpiderの連携手順をご紹介します。
DataRobotとは
従来の機械学習は、高度なスキルを保有するデータサイエンティストが必要で、データサイエンティストを社内に持たない企業では、開発・テストできる機械学習モデルの数が限られ、機械学習をビジネスに活用することが難しい状況でした。
DataRobotは、この問題を解決するために機械学習を自動化。データサイエンスの経験やコーディング知識がない人でも使用できる完全自動化されたモデリングプラットフォームを利用することにより、多くの企業が機械学習を活用できるようになります。
詳しくはこちらをご覧ください。
DataRobotとの連携
DataRobotで機械学習を利用する場合、2つのプロセスを実施する必要があります。
- 学習パイプライン:データ分析の基礎となる機会学習モデルを生成するプロセス
- 予測パイプライン:生成された機械学習モデルをデプロイし、実際にビジネスに役立てる予測を獲得するプロセス
DataSpiderを活用すれば、様々なデータソースから必要な情報を抽出し、DataRobotに連携可能です。また、DataRobotへのデータ入力を自動化するだけでなく、DataSpiderの多種多様なアダプタを使うことで、予測結果を様々なシステムで活用することが可能となります。
DataSpiderでは、DataRobot用のアダプタがあり、予測実行用のデータ収集からDataRobotへの投入、予測実行、予測結果のアプトプットまでの一連の処理をノンコーディングで作成でき自動化が可能です。
それでは、今回は実際に「予測パイプライン」の一連の処理を連携してみたいと思います。
シナリオ
過去の情報(傾向)から、患者情報を元に再入院する確率を予測しその根拠も含めてExcelのレポートにまとめることとします。
- 各システムで、患者の[患者情報][投薬情報][入退院履歴][検査履歴]を管理しています。
- 上記の各種情報をDataRobotの分析用に加工します。
- 加工用の分析データをDataRobotに連携し、指定した機械学習モデルを実行(推論実行)し結果を抽出します。
- 結果をExcelの指定フォーマットでレポートにまとめます。
DataRobotの準備
DataRobot Cloudを使用します。
機会学習モデルは、事前にDataRobot Cloudで作成します。
DataRobot Cloudと繋ぐ準備
DataSpider のDataRobotアダプタの[グローバルリソース]の設定をします。
DataRobot への接続情報として、[APIキー]と[ユーザ名]を入力するだけです。
スクリプト作成
以下のようなスクリプトを作成しました。
前段の処理は、各システムから取得した[患者情報][入退院履歴][検査履歴][投薬情報]をDataRobotに取り込む形に集計しながらマージしています。今回は、CSVに出力したデータを使っていますが、RDBや他システムなどに直接繋いで取得することも可能です。
取り込むデータを作ってしまえば、あとは簡単です。赤枠の部分がDataRobotに前段で加工した分析用データを投入し、指定した機械学習モデルで推論実行し結果を出力する処理です。
後続は、生成された推論結果を指定したフォーマットで分析結果レポート(Excel)に出力する処理です。
上記スクリプト内の赤枠部分がDataRobotアダプタのアイコンです。
どのように設定しているのか見てみましょう。
下記のDataRobot側でデプロイした機械学習モデルの一覧が赤枠の[デプロイ名]にセットされるのでプルダウンで選択するだけです。
▲DataRobotのデプロイ後の一覧画面
また、[予測の説明を取得する]オプションで予測の説明を出力するかしないかと、出力する場合の件数を設定することもできます。今回は、予測の説明もレポートに出力したいのでオプションでチェックを付け最大3件取得するように設定します。
以下の画面は、DataRobotから分析結果レポートへの出力を定義しています。
左側の入力元はDataRobot側から、右側はレポート用Excelからスキーマを自動取得してセットされますので、出力したい項目を線で繋いで(マッピングして)います。
実行して分析レポートを見てみる
実行してみると、分析用のデータを取り込み分析した結果をあっという間にレポート出力できます。
まとめ
一度、スクリプトを作成してしまえば最新の分析用データで常に自動実行させて最新の分析結果を取得することが可能となります。今回は、分析結果レポートをExcelに出力しましたが、DataSpiderならBIツールなどにも簡単に出力可能なのでデータ活用の幅が大きく広がります。
DataRobotへのデータの登録→推論実行だけではなくデータ収集や実行結果の後続処理などは必ず必要となります。是非、DataSpiderのようなノンプログラミングツールを利用してより簡単にAIを活用してみてはいかがでしょうか。