Yellowfin 7.4 新機能紹介:PMMLでデータサイエンスに生産性を

データサイエンスとBIをシームレスに連携

 

データサイエンティストと話をしていてよく耳にするのが、以下のようなストーリーです。

“わたしは、個人レベルでメールのクリックスルー率を予測する機械学習モデルを構築しました。Apache Pigを使用して膨大な数のユーザーの特徴をまとめ、メールのクリックを予測するランダムフォレストモデルを完成させました。このアイデアを活用すれば、あるユーザーのクリック率が長期に渡り一貫して低い場合、そのユーザーからのメールを安全に保留できます。
しかし、ひとつだけ問題があります。わたしは作業のすべてをローカルマシンのRで行いました。現場のメンバーはわたしの作業結果に感謝してはいるものの、残念なことにインフラ側がローカルモデルを使えないため「本番利用準備」が整っておらず、それゆえユーザーはこのモデルを活用できません。こんなことになるなんて……”

― Robert Chang(Airbnb データサイエンティスト)

 

技術的知見のない方のために上記の内容を説明すると、データサイエンスやBIのチームが直面する課題で最も頻出するのは、価値を提供するための最後の一歩が遠いこと……つまり、作成したデータサイエンスモデルの「本番利用準備」が難しいことです。

データサイエンティストはビジネスから切り離されて考えられることが多く、専門性に特化したツールやデータセットを使用してサンドボックス(または、彼らのローカルPC内)にモデルを作成するのが一般的で、その成果が日の目を見ることはあまりありません。作成されたモデルはビジネスに提供されたとしても、さらに「作業」が必要なためデータエンジニアへ渡されます。時には、データサイエンティストの当初の目標がビジネス全体の目標とは異なるため(例えば正確性とスケーラビリティのいずれを目標とするか)、彼らの作成したコードを完全に書き直さなくてはいけない場合もあります。

これが、データサイエンスと本番環境のBIを繋ぐ上で最も頻出する課題です。

 

顧客が求めるより良い方法

この課題の解決においてYellowfinは、データサイエンスの成果をチーム間で簡単に活用・共有できるように、そのすべてをひとつのプラットフォームに集約しました。また、特定のモデル作成ツールにとらわれないようにすることも重要です。これにより、データサイエンティストは自身のツールで作成したモデルを本番環境へ投入し、エンタープライズBIのインフラに統合することができます。データフレームからのチャーン確率の予測も、データパイプライン上でのモデル全体の実行も、BIプラットフォームは簡単に実行できなくてはいけません。

そこでYellowfinは、PMMLやPFAのような一般的な標準フォーマットをサポートし、さらにH2O.aiのような独自またはオープンソースのAPIベースのデータサイエンス機能を統合するフレームワークを構築しました。

これらのオプションにはそれぞれの利点があるため、その詳細は回を分けて紹介します。今回はPMMLについてです。

 

PMML(Predict Model Markup Language)とは

PMMLとはXMLベースの言語であり、アプリケーション間で統計や予測分析、データマイニングモデルを共有するための標準フォーマットです。

好みの統計ツールからモデルを作成して、PMMLへエクスポートし、ファイルの配置場所をYellowfinで指定するだけで、製品販売やマーケティングデータを即座に得ることができます。

これは開発ワークフローを短縮し、ナイーブベイズ、クラスタリング、回帰から、ディシジョンツリー、K近傍法、ニューラルネットワークまで、様々なデータサイエンスモデルを生成します。選択肢は様々です。

 

PMMLを生成するツール

一般的なデータサイエンスツールであれば、ほぼすべてがPMMLを生成可能です。

 

 

R、Python、KNIME、RapidMiner、SAS、SPSS、Apache Sparkから、TensorFlow、LightGBM、XGBoostなどのフレームワークやライブラリまで多岐に渡ります。

 

Yellowfin 7.4での動作方法

YellowfinでPMMLモデルを使用するには、「高度な関数」の機能を使います。高度な関数は、クエリー結果として得られたデータに対して後処理計算を適用し、変換する機能です。Yellowfin 7.4では、JPMMLライブラリを使用してPMMLモデルを評価し、クエリー後のデータに対して値の変換を実行することができます。