SQL Server 2016 R Services とは
適用対象: SQL Server 2016 (13.x) のみ
R Services は、リレーショナル データを使用して R スクリプトを実行することができる SQL Server 2016 の機能です。 オープンソースのパッケージとフレームワーク、および予測分析と機械学習用の Microsoft R パッケージを使用できます。 スクリプトは、SQL Server の外部またはネットワーク経由でデータを移動することなく、データベース内で実行されます。 この記事では、SQL Server R Services の基本について説明します。
Note
R Services は SQL Server 2017 以降から Machine Learning Services に名前が変更されました。また、Python と R の両方をサポートしています。
R Services とは?
SQL Server R Services を使用すると、データベース内で R スクリプトを実行できます。 この機能を使用して、データの準備とクリーンアップ、特徴エンジニアリング、およびデータベース内での機械学習モデルのトレーニング、評価、およびデプロイを行うことができます。 この機能により、データが存在する場所でスクリプトが実行され、ネットワークを介して別のサーバーにデータが転送されなくなります。
R の基本ディストリビューションは R Services に含まれています。 Microsoft パッケージ RevoScaleR、MicrosoftML、[olapR]../r/ref-r-olapr.md)、および sqlrutils for R に加え、オープンソースのパッケージとフレームワークを使用できます。
R Services では、SQL Server での R スクリプトの実行に機能拡張フレームワークを使用します。 このしくみについては以下を参照してください。
R Services でできること
R Services を使用して、SQL Server 内で機械学習モデルとディープ ラーニング モデルを構築およびトレーニングできます。 また、既存のモデルを R Services にデプロイし、予測にリレーショナル データを使用することもできます。
SQL Server R Services を使用できる予測の種類の例には、次のものがあります。
予測の種類 | 例 |
---|---|
分類/カテゴリ | 顧客からのフィードバックを肯定的なカテゴリと否定的なカテゴリに自動的に分割します |
回帰/連続値の予測 | サイズと場所に基づいて家の価格を予測します |
異常検出 | 不正な銀行取引を検出します |
Recommendations | 以前の購入に基づいて、オンラインの顧客が購入する商品を提案します |
R スクリプトを実行する方法
R Services で R スクリプトを実行するには、次の 2 つの方法があります。
最も一般的な方法は、T-SQL ストアド プロシージャ sp_execute_external_script を使用することです。
また、任意の R クライアントを使用して、実行をリモートの SQL Server にプッシュするスクリプト (リモート計算コンテキストと呼ばれます) を書くこともできます。 詳細については、データ サイエンス クライアントの R 開発を設定する方法に関する記事を参照してください。
R のバージョン
次に、SQL Server 2016 R Services に含まれる R ランタイムのバージョンを示します。
SQL Server のバージョン | 既定の R ランタイム バージョン |
---|---|
SQL Server 2016 RTM - SP2 CU13 | 3.2.2 |
SQL Server 2016 SP2 CU14 以降 | 3.2.2 および 3.5.2 |
SQL Server 2016 Service Pack (SP) 2 以降の累積的更新プログラム (CU) 14 には新しい R ランタイムが含まれます。 詳細については、既定の言語ランタイム バージョンの変更に関するページを参照してください。
他のバージョンの R の場合や Python を実行するには、Machine Learning Services for SQL Server 2017 以降を使用します。
R パッケージ
Microsoft のエンタープライズ パッケージに加えて、オープンソース パッケージとフレームワークを使用できます。 最も一般的なオープンソースの R パッケージは、R Services にプレインストールされています。 Microsoft の次の R パッケージも含まれています。
Package | 説明 |
---|---|
RevoScaleR | スケーラブルな R の主要パッケージ。データの変換と操作、統計の概要、視覚化、多くの形式のモデリング。 さらに、このパッケージの関数により、並列処理に使用できるコア全体にワークロードが自動的に分散されます。 |
MicrosoftML (R) | テキスト分析、画像分析、感情分析のカスタム モデルを作成する機械学習アルゴリズムを追加します。 |
olapR | SQL Server Analysis Services OLAP キューブに対する MDX クエリに使用される R 関数。 |
sqlrutils | T-SQL ストアド プロシージャで R スクリプトを使用し、そのストアド プロシージャをデータベースに登録し、R 開発環境からストアド プロシージャを実行するメカニズム。 |
Microsoft R Open (廃止) | Microsoft R Open (MRO) は、Microsoft の R の拡張ディストリビューションでした。 |
R Services の開始方法
開発ツールを構成します。 使用できるもの:
- T-SQL およびストアド プロシージャ sp_execute_external_script を使用して R スクリプトを実行する Azure Data Studio または SQL Server Management Studio (SSMS)。
- スクリプトを実行する開発用のノート PC またはワークステーション上の R。 RevoScaleR を使用してデータをローカルにプルすることや、リモートから SQL Server に実行をプッシュすることができます。 詳細については、データ サイエンス クライアントの R 開発を設定する方法に関する記事を参照してください。
最初の R スクリプトを作成します
- クイック スタート:SQL Server でシンプルな R スクリプトを作成して実行する
- クイック スタート:R で予測モデルを作成してトレーニングする
- チュートリアル:T-SQL で R を使用する:データの探索、特徴エンジニアリングの実行、モデルのトレーニングとデプロイ、予測の作成 (5 部構成シリーズ)
- チュートリアル:R ツールで R Services を使用する:データの探索、グラフとプロットの作成、特徴エンジニアリングの実行、モデルのトレーニングとデプロイ、予測の作成 (6 部構成シリーズ)