RevoScaleR (pacchetto R in Machine Learning Services per SQL Server)

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

RevoScaleR è un pacchetto R di Microsoft che supporta l'elaborazione distribuita, i contesti di calcolo remoti e gli algoritmi di data science con prestazioni elevate. Supporta inoltre l'importazione dei dati, la trasformazione dei dati, il riepilogo, la visualizzazione e l'analisi. Il pacchetto è incluso in Machine Learning Services per SQL Server e R Services per SQL Server 2016.

Diversamente dalle funzioni R di base, le operazioni RevoScaleR possono essere eseguite su set di dati di grandi dimensioni, in parallelo e in file system distribuiti. Le funzioni possono operare su set di dati che non rientrano nella memoria usando la divisione in blocchi e riassemblando i risultati al termine delle operazioni.

Le funzioni RevoScaleR vengono indicate con un prefisso rx** o Rx che ne facilita l'identificazione.

RevoScaleR funge da piattaforma per la data science distribuita. È ad esempio possibile usare i contesti di calcolo e le trasformazioni di RevoScaleR con gli algoritmi all'avanguardia in MicrosoftML. È anche possibile usare rxExec per eseguire le funzioni R di base in parallelo.

Documentazione di riferimento completa

Il pacchetto RevoScaleR è 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 RevoScaleR viene pubblicata in una sola posizione nelle informazioni di riferimento per R. In caso di comportamenti specifici per un prodotto, le discrepanze verranno indicate nella pagina della Guida delle funzioni in questione.

Versioni e piattaforme

Il pacchetto RevoScaleR è basato su R 3.4.3 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. Sia Windows che Linux sono supportati per RevoScaleR in SQL Server 2019.

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

RevoScaleR include funzioni per la creazione di origini dati e l'impostazione della posizione, o contesto di calcolo, in cui vengono eseguiti i calcoli. Un oggetto origine dati è un contenitore che specifica una stringa di connessione con il set di dati desiderato, definito come tabella, vista o query. Le chiamate di stored procedure non sono supportate. Nella tabella seguente sono elencate le funzioni relative agli scenari con SQL Server.

In alcuni casi SQL Server e R usano tipi di dati diversi. Per un elenco dei mapping tra i tipi di dati SQL e R, vedere Tipi di dati da R a 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 RevoScaleR accettano il contesto di calcolo come argomento.
rxGetComputeContext / rxSetComputeContext Ottiene o imposta il contesto di calcolo attivo.
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.

Eseguire istruzioni DDL

È possibile eseguire istruzioni DDL da R, se si hanno le autorizzazioni necessarie per l'istanza e il database. Le funzioni seguenti usano le chiamate ODBC per eseguire le istruzioni DDL o recuperare lo schema del database.

Funzione Descrizione
rxSqlServerTableExists e rxSqlServerDropTable Elimina una tabella di SQL Server o verifica l'esistenza di un oggetto o una tabella di database.
rxExecuteSQLDDL Esegue un comando DDL (Data Definition Language) che definisce o modifica gli oggetti di database. Questa funzione non può restituire dati e viene usata solo per recuperare o modificare lo schema o i metadati dell'oggetto.

2 - Manipolazione dei dati (ETL)

Dopo aver creato un oggetto di origine dati, è possibile usare l'oggetto per caricarvi i dati, trasformare i dati o scrivere nuovi dati nella destinazione specificata. A seconda delle dimensioni dei dati nell'origine, è anche possibile definire le dimensioni del batch come parte dell'origine dati e spostare i dati in blocchi.

Funzione Descrizione
rxOpen-methods Controlla se un'origine dati è disponibile, apre o chiude un'origine dati, legge i dati da un'origine, scrive i dati nella destinazione e chiude un'origine dati.
rxImport Sposta i dati da un'origine dati in una risorsa di archiviazione file o in un frame di dati.
rxDataStep Trasforma i dati mentre li sposta tra le origini dati.

3 - Funzioni di creazione di grafici

Nome della funzione Descrizione
rxHistogram Crea un istogramma dai dati.
rxLinePlot Crea un tracciato di linea dai dati.
rxLorenz Calcola una curva di Lorenz, che è possibile rappresentare con un tracciato.
rxRocCurve Calcola e traccia curve ROC da dati effettivi e stimati.

4 - Statistiche descrittive

Nome della funzione Descrizione
rxQuantile* Calcola i quantili approssimativi dei file XDF e dei frame di dati senza ordinamento.
rxSummary* Statistiche di riepilogo di base dei dati, inclusi i calcoli per gruppo. La scrittura di calcoli per gruppo nel file XDF non è supportata.
rxCrossTabs* Tabulazione incrociata dei dati basata su formule.
rxCube* Tabulazione incrociata alternativa basata su formule progettata per una rappresentazione efficiente che restituisce i risultati del cubo. La scrittura dell'output nel file XDF non è supportata.
rxMarginals Riepiloghi marginali delle tabulazioni incrociate.
as.xtabs Converte i risultati della tabulazione incrociata in un oggetto xtabs.
rxChiSquaredTest Esegue un test del chi quadrato sugli oggetti xtabs. Viene usata con set di dati di piccole dimensioni e non divide i dati in blocchi.
rxFisherTest Esegue un test esatto di Fisher su un oggetto xtabs. Viene usata con set di dati di piccole dimensioni e non divide i dati in blocchi.
rxKendallCor Calcola il coefficiente di correlazione tau per ranghi di Kendall usando un oggetto xtabs.
rxPairwiseCrossTab Applica una funzione a combinazioni pairwise di righe e colonne di un oggetto xtabs.
rxRiskRatio Calcola il rischio relativo di un oggetto xtabs due per due.
rxOddsRatio Calcola il rapporto di probabilità di un oggetto xtabs due per due.

* Indica le funzioni più usate di questa categoria.

5 - Funzioni di stima

Nome della funzione Descrizione
rxLinMod* Adatta un modello lineare ai dati.
rxLogit* Adatta un modello di regressione logistica ai dati.
rxGlm* Adatta un modello lineare generalizzato ai dati.
rxCovCor* Calcola la covarianza, la correlazione o la matrice di somme di quadrati/prodotti vettoriali per un set di variabili.
rxDTree* Adatta un albero di classificazione o di regressione ai dati.
rxBTrees* Adatta una foresta delle decisioni di classificazione o di regressione ai dati usando un algoritmo di gradient boosting stocastico.
rxDForest* Adatta una foresta delle decisioni di classificazione o di regressione ai dati.
rxPredict* Calcola le stime per i modelli adattati. L'output deve essere un'origine dati XDF.
rxKmeans* Esegue il clustering k-medie.
rxNaiveBayes* Esegue la classificazione bayesiana naif.
rxCov Calcola la matrice delle covarianze per un set di variabili.
rxCor Calcola la matrice delle correlazioni per un set di variabili.
rxSSCP Calcola la matrice di somme di quadrati/prodotti vettoriali per un set di variabili.
rxRoc Calcoli di curve ROC (Receiver Operating Characteristic) tramite valori effettivi e stimati del sistema di classificazione binaria.

* Indica le funzioni più usate di questa categoria.

Come utilizzare RevoScaleR

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

Durante un'esecuzione locale, si esegue in genere uno script R dalla riga di comando o da un ambiente di sviluppo R e si specifica un contesto di calcolo di SQL Server usando una delle funzioni di RevoScaleR. È 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 R all'interno di una stored procedure, sp_execute_external_script, è consigliabile riscrivere il codice come una singola funzione con input e output chiaramente definiti.

Vedi anche