Microsoft、SQL Server 2017の「Machine Learning Services」を使った「データサイエンス実践ガイド」を公開NYのタクシードライバーが“1回の輸送でチップをもらえる確率”とは

Microsoftは、「SQL Server 2017 CTP 2.0」の主要機能の1つである「Microsoft Machine Learning Services」を使って、エンドツーエンドのデータサイエンスソリューションを構築する方法を学べる実践ガイドを紹介した。

» 2017年06月20日 11時00分 公開
[@IT]

 Microsoftは2017年6月15日(米国時間)、データプラットフォーム「SQL Server」の次期バージョン「SQL Server 2017」に含まれる主要機能の1つ「Microsoft Machine Learning Services」で、具体的に何ができるのかを紹介。2017年6月現在、SQL Server 2017の評価版として公開されている「SQL Server 2017 Community Technology Preview(CTP)2.0」を使い、「予測モデリングによるエンドツーエンドのデータサイエンスソリューション」を構築するまでの実践ガイドを公開した。

 Microsoft Machine Learning Servicesは、これまで展開してきた「Microsoft R Services」を改称し、機能を強化したサービス。Pythonスクリプトをデータベースサーバ内で直接実行したり、T-SQLスクリプトに埋め込んでストアドプロシージャとしてデータベースに簡単にデプロイしたりできる。「Microsoft Machine Learning Servicesにより、Pythonを利用した可視化や予測分析を、SQL Serverに保存されるデータの“近く”で実行できる。データサイエンティストはSQLとPythonを組み合わせて、エンドツーエンドの機械学習ソリューションを簡単に構築できる」とMicrosoftは説明している。

 公開された実践ガイド「In-Database Python Analytics for SQL Developers」(2017年5月25日公開)は、オープンデータセットである「ニューヨークのタクシー運行状況データセット」を使い、Pythonコード、SQL Serverデータ、カスタムSQL関数、ストアドプロシージャを組み合わせながら、「ドライバーが1回の輸送でチップをもらえる確率を予測する」ための分類モデルを構築する手順の例を解説したもの。このPythonモデルをSQL Serverへデプロイすることで、サーバ内のデータを使って同モデルに基づくスコアを生成できる。

 実践ガイドは以下の6つのステップで構成されている。これらのステップに従うことで、データの前処理、データの可視化、機能エンジニアリング(機能抽出)、モデル作成、運用というデータサイエンスのプロセスをたどれるという。

  • ステップ1:サンプルデータとサンプルSQLスクリプトをWindowsクライアントでダウンロードする
  • ステップ2:Windows PowerShellを使ってデータをSQL Serverへインポートする
  • ステップ3:Transact-SQLストアドプロシージャからPython関数を呼び出し、データの探索と可視化を行う。プロットオブジェクトをデータベースに蓄積し、クライアントPythonコードはこれらのプロットを検索し、保存できる。例えば、タクシー乗車で支払われるチップの額と料金の関係を表すプロットは、以下のような図になる。
photo タクシー乗車で支払われるチップの額と料金の関係を表すプロットの例
  • ステップ4:カスタムT-SQL関数を使ってデータ機能を作成する
  • ステップ5:ストアドプロシージャを使って機械学習モデルを作成する
  • ステップ6:モデルを検索して逆シリアル化し、バッチモードやシングルモードで予測を行う

 ステップ5と6では、広く普及した「scikit-learn」パッケージとMicrosoftが最近リリースした「revoscalepy」ライブラリを使ったモデリングと予測関数の使用方法が示されている。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。