Share via


sp_rxPredict

Si applica a: SQL Server 2016 (13.x) e versioni successive - Solo Windows

Genera un valore stimato per un determinato input costituito da un modello di Machine Learning archiviato in un formato binario in un database di SQL Server.

Fornisce l'assegnazione dei punteggi ai modelli di Machine Learning R e Python quasi in tempo reale. sp_rxPredict è una stored procedure fornita come wrapper per

Anche se il modello deve essere creato con R o Python, una volta serializzato e archiviato in un formato binario in un'istanza del motore di database di destinazione, può essere utilizzato da tale istanza del motore di database anche quando l'integrazione di R o Python non è installata. Per altre informazioni, vedere Assegnazione dei punteggi in tempo reale con sp_rxPredict.

Sintassi

sp_rxPredict  ( @model, @input )

Argomenti

model

Modello con training preliminare in un formato supportato.

input

Query SQL valida

Valori restituiti

Viene restituita una colonna score, nonché qualsiasi colonna pass-through dall'origine dati di input. È possibile restituire colonne di punteggio aggiuntive, ad esempio l'intervallo di confidenza, se l'algoritmo supporta la generazione di tali valori.

Osservazioni:

Per abilitare l'uso della stored procedure, è necessario abilitare SQLCLR nell'istanza di .

Nota

L'abilitazione di questa opzione comporta implicazioni per la sicurezza. Usare un'implementazione alternativa, ad esempio la funzione Transact-SQL PREDICT , se SQLCLR non può essere abilitato nel server.

L'utente deve disporre dell'autorizzazione EXECUTE per il database.

Algoritmi supportati

Per creare ed eseguire il training del modello, usare uno degli algoritmi supportati per R o Python, fornito da SQL Server Machine Learning Services (R o Python), SQL Server 2016 R Services, SQL Server Machine Learning Server (Standalone) (R o Python) o SQL Server 2016 R Server (Standalone).

R: Modelli RevoScaleR

I modelli contrassegnati con * supportano anche il punteggio nativo con la PREDICT funzione .

R: Modelli MicrosoftML

R: Trasformazioni fornite da MicrosoftML

Python: modelli revoscalepy

I modelli contrassegnati con * supportano anche il punteggio nativo con la PREDICT funzione .

Python: modelli microsoftml

Python: trasformazioni fornite da microsoftml

Tipi di modelli non supportati

I tipi di modello seguenti non sono supportati:

  • Modelli che usano gli rxGlm algoritmi o rxNaiveBayes in RevoScaleR.
  • Modelli PMML in R.
  • Modelli creati usando altre librerie di terze parti.
  • I modelli che usano una funzione di trasformazione o una formula contenente una trasformazione, ad esempio A ~ log(B, non sono supportati per l'assegnazione dei punteggi in tempo reale. Per usare un modello di questo tipo, si consiglia di eseguire la trasformazione sui dati di input prima di passare i dati a un punteggio in tempo reale.

L'assegnazione dei punteggi in tempo reale non usa un interprete, pertanto tutte le funzionalità che potrebbero richiedere un interprete non sono supportate durante il passaggio di assegnazione dei punteggi.

Esempi

DECLARE @model = SELECT @model 
FROM model_table 
WHERE model_name = 'rxLogit trained';

EXEC sp_rxPredict @model = @model,
@inputData = N'SELECT * FROM data';

Oltre a essere una query SQL valida, i dati di input in @inputData devono includere colonne compatibili con le colonne nel modello archiviato.

sp_rxPredict supporta solo i tipi di colonna .NET seguenti: double, float, short, ushort, long, ulong e string. Potrebbe essere necessario filtrare i tipi non supportati nei dati di input prima di usarli per l'assegnazione dei punteggi in tempo reale.

Per informazioni sui tipi SQL corrispondenti, vedere Mapping del tipo SQL-CLR o Mapping dei dati dei parametri CLR.