sp_rxPredict
適用対象: SQL Server 2016 (13.x) 以降 - Windows のみ
SQL Server データベースのバイナリ形式で格納された機械学習モデルで構成される、特定の入力の予測値を生成します。
R と Python の機械学習モデルのスコアリングをほぼリアルタイムで提供します。 sp_rxPredict
は、 のラッパーとして提供されるストアド プロシージャです。
rxPredict
RevoScaleR と MicrosoftML の R 関数、および revoscalepy と microsoftml の rx_predict Python 関数。 これは C++ で記述されており、スコアリング操作専用に最適化されています。
モデルは R または Python を使用して作成する必要がありますが、ターゲット データベース エンジン インスタンスでシリアル化してバイナリ形式で格納すると、R または Python の統合がインストールされていない場合でも、そのデータベース エンジン インスタンスから使用できます。 詳細については、「 sp_rxPredictを使用したリアルタイム スコアリング」を参照してください。
構文
sp_rxPredict ( @model, @input )
引数
model
サポートされている形式の事前トレーニング済みモデル。
input
有効な SQL クエリ
戻り値
スコア列と、入力データ ソースからのパススルー列が返されます。 アルゴリズムでそのような値の生成がサポートされている場合は、信頼区間などの追加のスコア列を返すことができます。
注釈
ストアド プロシージャの使用を有効にするには、インスタンスで SQLCLR を有効にする必要があります。
注意
このオプションを有効にすることには、セキュリティ上の影響があります。 サーバーで SQLCLR を有効にできない場合は、 Transact-SQL PREDICT 関数などの別の実装を使用します。
ユーザーにはデータベースに対するアクセス許可が必要 EXECUTE
です。
サポートされているアルゴリズム
モデルを作成してトレーニングするには、SQL Server Machine Learning Services (R または Python)、SQL Server2016 R Services、SQL Server Machine Learning Server(スタンドアロン) (R または Python)、または SQL Server で提供される R または Python でサポートされているアルゴリズムのいずれかを使用します。 2016 R Server (スタンドアロン)。
R: RevoScaleR モデル
* でマークされたモデルでは、 関数を使用 PREDICT
したネイティブ スコアリングもサポートされます。
R: MicrosoftML モデル
R: MicrosoftML によって提供される変換
Python: revoscalepy モデル
- rx_lin_mod *
- rx_logit *
- rx_btrees *
- rx_dtree *
- rx_dforest *
* でマークされたモデルでは、 関数を使用 PREDICT
したネイティブ スコアリングもサポートされます。
Python: microsoftml モデル
- rx_fast_trees
- rx_fast_forest
- rx_logistic_regression
- rx_oneclass_svm
- rx_neural_network
- rx_fast_linear
Python: microsoftml によって提供される変換
サポートされていないモデルの種類
次のモデルの種類はサポートされていません。
- RevoScaleR で
rxGlm
またはrxNaiveBayes
アルゴリズムを使用するモデル。 - R の PMML モデル。
- 他のサード パーティ製ライブラリを使用して作成されたモデル。
- 変換関数または変換を含む数式を使用するモデル (
A ~ log(B
など) は、リアルタイム スコアリングではサポートされていません。 この種類のモデルを使用するには、データをリアルタイム スコアリングに渡す前に、入力データに対して変換を実行することをお勧めします。
リアルタイム スコアリングではインタープリターが使用されないため、インタープリターを必要とする可能性のある機能は、スコアリング 手順ではサポートされません。
例
DECLARE @model = SELECT @model
FROM model_table
WHERE model_name = 'rxLogit trained';
EXEC sp_rxPredict @model = @model,
@inputData = N'SELECT * FROM data';
有効な SQL クエリであることに加えて、 @inputData の入力データには、格納されているモデルの列と互換性のある列を含める必要があります。
sp_rxPredict
では、double、float、short、ushort、long、ulong、string の .NET 列型のみがサポートされています。 リアルタイム スコアリングに使用する前に、入力データでサポートされていない型を除外することが必要な場合があります。
対応する SQL 型の詳細については、「SQL と CLR 型のマッピング」または「CLR パラメーター データのマッピング」を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示