LoginSignup
1
3

More than 5 years have passed since last update.

【SQL Server 2017 による In-Database R 分析 チュートリアル】

Posted at

SQL開発者のための In-Database R 分析(チュートリアル)

このチュートリアルの目的は、SQLプログラマーにSQL Serverで機械学習ソリューションを構築する実践的な体験を提供することです。このチュートリアルでは、ストアドプロシージャにRコードを追加することで、RをアプリケーションあるいはBIソリューションに組み込む方法を学習します。

[!NOTE]
同様のチュートリアルのPython版はこちら。Python版はSQL Server 2017で動作します。

概要

機械学習開発のライフサイクルは一般的に、データの取得とクレンジング、データの探索と特徴エンジニアリング、モデルのトレーニングとチューニング、そして最終的には本番環境へのモデル展開で構成されます。実際のコーディング、デバッグ、テストは、R用の統合開発環境(例えば、RStudioやR Tools for Visual Studio)を使用するのが最適です。

Rでソリューションを作成してテストした後、RコードをTransact-SQLストアドプロシージャとしてSQL Serverに展開します。このチュートリアルでは、必要なすべてのRコードを提供します。

[!NOTE]
ストアドプロシージャに埋め込まれたコードに問題がある場合、ストアドプロシージャから返される情報は通常、エラーの原因を理解するには不十分であるため、RコードのテストはR用の統合開発環境(IDE)を使用することをお勧めします。

シナリオ

このチュートリアルでは、よく知られているNYC Taxiデータセットを使用します。このチュートリアルをすばやく簡単にするために、データはサンプリングして利用します。このデータセットの、時刻、距離、ピックアップ場所などの列に基づき、特定の乗車においてチップが得られるかどうかを予測するバイナリ分類モデルを作成します。

要件

このチュートリアルは、データベースやテーブルの作成、テーブルへのデータのインポート、SQLクエリの作成など、基本的なデータベース操作に慣れているユーザーを対象としています。

チュートリアルを開始する前に、次の準備を完了する必要があります。:

  • SQL Server 2017のDatabase Engine ServicesおよびMachine Learning Services(In-Database)をインストールしてください。
  • SQL Server 2017 内でR(およびPython)実行するにはsp_configureでexternal scripts enabledの設定変更が必要です。またexternal scripts enabledパラメータは設定変更の反映にSQL Server 2017の再起動が必要です。

    • 1.外部スクリプト実行機能の有効化

      T-SQL
      EXEC sp_configure 'external scripts enabled', 1;
      
    • 2.SQL Server 2017の再起動

      cmd
      net stop "SQL Server Launchpad (MSSQLSERVER)"
      net stop "SQL Server (MSSQLSERVER)"
      net start "SQL Server (MSSQLSERVER)"
      net start "SQL Server Launchpad (MSSQLSERVER)"
      

      netコマンドに渡すインスタンス名は環境に応じて変更してください。またSQL Server AgentサービスなどSQL Serverサービスに依存するサービスがある場合には明示的に再開してください。

  • このチュートリアルで使用するSQL Serverログインには、データベースやその他のオブジェクトの作成、データの更新、データの参照、ストアドプロシージャの実行の権限を付与してください。

リンク

次のステップ

Lesson 1: サンプルデータのダウンロード

出典

In-database R analytics for SQL developers (tutorial)

関連項目

Machine Learning Services with R

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3