revoscalepy (pacchetto Python in Machine Learning Services per SQL Server)

Si applica a: SQL Server 2017 (14.x) e versioni successive

revoscalepy è un pacchetto Python di Microsoft che supporta l'elaborazione distribuita, i contesti di calcolo remoti e gli algoritmi di data science con prestazioni elevate. Il pacchetto è incluso in Machine Learning Services per SQL Server.

Il pacchetto fornisce le funzionalità seguenti:

  • Contesti di calcolo locali e remoti in sistemi con la stessa versione di revoscalepy
  • Funzioni di visualizzazione e trasformazione dei dati
  • Funzioni di data science, scalabili tramite elaborazione distribuita o parallela
  • Prestazioni migliorate, incluso l'uso delle librerie Intel Math

Le origini dati e i contesti di calcolo creati in revoscalepy possono essere usati anche negli algoritmi di Machine Learning. Per un'introduzione a questi algoritmi, vedere Modulo microsoftml per Python in SQL Server.

Documentazione di riferimento completa

Il pacchetto revoscalepy è distribuito in più prodotti Microsoft, ma l'utilizzo è lo stesso indipendentemente dal fatto che sia incluso in SQL Server o in un altro prodotto. Poiché le funzioni sono le stesse, la documentazione per le singole funzioni revoscalepy viene pubblicata in una sola posizione nelle informazioni di riferimento per Python. In caso di comportamenti specifici per un prodotto, le discrepanze verranno indicate nella pagina della Guida delle funzioni in questione.

Versioni e piattaforme

Il modulo revoscalepy è basato su Python 3.5 ed è disponibile solo quando si installa uno dei prodotti o download Microsoft seguenti:

Nota

Le versioni complete del prodotto sono solo per Windows in SQL Server 2017. Per revoscalepy in SQL Server 2019 e versioni successive sono supportati sia Windows che Linux.

Funzioni per categoria

Questa sezione elenca le funzioni per categoria per offrire un'idea di come vengono usate. È anche possibile usare il sommario per trovare le funzioni in ordine alfabetico.

1 - Origine dati e calcolo

revoscalepy include funzioni per la creazione di origini dati e l'impostazione della posizione, o contesto di calcolo, in cui vengono eseguiti i calcoli. Nella tabella seguente sono elencate le funzioni relative agli scenari con SQL Server.

In alcuni casi SQL Server e Python usano tipi di dati diversi. Per un elenco dei mapping tra i tipi di dati SQL e Python, vedere Mapping dei tipi di dati tra Python e SQL.

Funzione Descrizione
RxInSqlServer Crea un oggetto contesto di calcolo di SQL Server per eseguire il push dei calcoli in un'istanza remota. Diverse funzioni di revoscalepy accettano il contesto di calcolo come argomento. Per un esempio di cambio di contesto, vedere Creare un modello usando revoscalepy.
RxSqlServerData Crea un oggetto dati basato su una query o una tabella SQL Server.
RxOdbcData Crea un'origine dati basata su una connessione ODBC.
RxXdfData Crea un'origine dati basata su un file XDF locale. I file XDF vengono spesso usati per l'offload dei dati in memoria su disco. Un file XDF può essere utile quando si usano più dati di quanti sia possibile trasferire dal database in un batch o più dati di quanti sia possibile archiviare in memoria. Se ad esempio si spostano regolarmente grandi quantità di dati da un database a una workstation locale, invece di eseguire ripetutamente query sul database per ogni operazione R, è possibile usare il file XDF come una sorta di cache per salvare i dati localmente e quindi lavorare nell'area di lavoro R.

Suggerimento

Se non si ha familiarità con il concetto di origini dati o di contesti di calcolo, è consigliabile iniziare con l'articolo relativo al calcolo distribuito.

2 - Manipolazione dei dati (ETL)

Funzione Descrizione
rx_import Importare i dati in un file XDF o un frame di dati.
rx_data_step Trasforma i dati da un set di dati di input a un set di dati di output.

3 - Training e riepilogo

Funzione Descrizione
rx_btrees Adatta gli alberi delle decisioni con boosting a gradienti stocastici
rx_dforest Adatta le foreste delle decisioni di classificazione e regressione
rx_dtree Adatta gli alberi di classificazione e regressione
rx_lin_mod Creare un modello di regressione lineare
rx_logit Creare un modello di regressione logistica
rx_summary Genera riepiloghi univariati di oggetti in revoscalepy.

Per altri approcci, è consigliabile vedere anche le funzioni di microsoftml.

4 - Funzioni di assegnazione dei punteggi

Funzione Descrizione
rx_predict Genera stime da un modello sottoposto a training e può essere usata per l'assegnazione dei punteggi in tempo reale.
rx_predict_default Calcola i valori stimati e i residui usando gli oggetti rx_lin_mod e rx_logit.
rx_predict_rx_dforest Calcola i valori stimati o adattati per un set di dati da un oggetto rx_dforest o rx_btrees.
rx_predict_rx_dtree Calcola i valori stimati o adattati per un set di dati da un oggetto rx_dtree.

Come utilizzare revoscalepy

Le funzioni di revoscalepy possono essere chiamate nel codice Python incapsulato nelle stored procedure. La maggior parte degli sviluppatori compila in locale le soluzioni revoscalepy e quindi esegue la migrazione del codice Python completato alle stored procedure, come esercizio di distribuzione.

Durante un'esecuzione locale, si esegue in genere uno script Python dalla riga di comando o da un ambiente di sviluppo Python e si specifica un contesto di calcolo di SQL Server usando una delle funzioni di revoscalepy. È possibile usare il contesto di calcolo remoto per l'intero codice o per singole funzioni. Ad esempio, potrebbe essere necessario eseguire l'offload del training del modello nel server per usare i dati più recenti ed evitare lo spostamento dati.

Quando si è pronti per incapsulare lo script Python all'interno di una stored procedure, sp_execute_external_script, è consigliabile riscrivere il codice come una singola funzione con input e output chiaramente definiti.

Gli input e gli output devono essere frame di dati pandas. Al termine dell'operazione, sarà possibile chiamare la stored procedure da qualsiasi client con supporto per T-SQL, passare facilmente query SQL come input e salvare i risultati in tabelle SQL. Per un esempio, vedere l'esercitazione Analisi dei dati Python nel database per sviluppatori SQL.

Uso di revoscalepy con microsoftml

Le funzioni Python per microsoftml sono integrate con i contesti di calcolo e le origini dati disponibili in revoscalepy. Quando si chiamano le funzioni da microsoftml, ad esempio quando si definisce un modello e ne si esegue il training, usare le funzioni revoscalepy per eseguire il codice Python in locale o in un contesto di calcolo remoto di SQL Server.

L'esempio seguente mostra la sintassi per l'importazione di moduli nel codice Python. È quindi possibile fare riferimento alle singole funzioni necessarie.

from microsoftml.modules.logistic_regression.rx_logistic_regression import rx_logistic_regression
from revoscalepy.functions.RxSummary import rx_summary
from revoscalepy.etl.RxImport import rx_import_datasource

Vedi anche