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

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

MicrosoftML è un pacchetto R di Microsoft che fornisce algoritmi di Machine Learning con prestazioni elevate. Include funzioni per il training e le trasformazioni, l'assegnazione dei punteggi, l'analisi di testo e immagini e l'estrazione di caratteristiche per la derivazione di valori da dati esistenti. Il pacchetto è incluso in Machine Learning Services per SQL Server e R Services per SQL Server 2016 e offre prestazioni elevate per i Big Data, con l'elaborazione multicore e un flusso dei dati rapido. MicrosoftML include anche numerose trasformazioni per l'elaborazione di testo e immagini.

Documentazione di riferimento completa

Il pacchetto MicrosoftML è 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 MicrosoftML è basato su R 3.5.2 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 MicrosoftML in SQL Server 2019.

Dipendenze dei pacchetti

Gli algoritmi in MicrosoftML dipendono da RevoScaleR per:

  • Oggetti di origine dati. I dati utilizzati dalle funzioni di MicrosoftML vengono creati usando le funzioni di RevoScaleR.
  • Elaborazione remota (spostamento dell'esecuzione delle funzioni in un'istanza di SQL Server remota). Il pacchetto RevoScaleR fornisce funzioni per la creazione e l'attivazione di un contesto di calcolo remoto per SQL Server.

Nella maggior parte dei casi, i pacchetti vengono caricati insieme ogni volta che si usa MicrosoftML.

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 - Algoritmi di Machine Learning

Nome della funzione Descrizione
rxFastTrees Implementazione di FastRank, un'implementazione efficiente dell'algoritmo di gradient boosting MART.
rxFastForest Implementazione della foresta casuale e della foresta di regressione quantile tramite rxFastTrees.
rxLogisticRegression Regressione logistica tramite L-BFGS.
rxOneClassSvm Macchine a vettori di supporto a una classe.
rxNeuralNet Rete neurale di regressione binaria multiclasse.
rxFastLinear Ottimizzazione SDCA (Stochastic Dual Coordinate Ascent) per la regressione e la classificazione binaria lineari.
rxEnsemble Esegue il training di numerosi modelli di vario tipo per ottenere prestazioni predittive migliori rispetto a quelle ottenute da un singolo modello.

2 - Funzioni di trasformazione

Nome della funzione Descrizione
concat Trasformazione per creare una singola colonna con valori di vettore da più colonne.
categorical Creare il vettore indicatore usando la trasformazione categorica con il dizionario.
categoricalHash Converte il valore categorico in una matrice di indicatori tramite hashing.
featurizeText Produce un contenitore di conteggi di sequenze di parole consecutive, denominate n-grammi, da un determinato corpus di testo. Offre rilevamento della lingua, tokenizzazione, rimozione di parole non significative, normalizzazione del testo e generazione di caratteristiche.
getSentiment Assegna un punteggio al testo in linguaggio naturale e crea una colonna contenente le probabilità che i sentiment nel testo siano positivi.
ngram Consente di definire argomenti per l'estrazione di caratteristiche basate su conteggi e su hash.
selectColumns Seleziona un set di colonne di cui ripetere il training, eliminando tutte le altre.
selectFeatures Seleziona le caratteristiche delle variabili specificate usando una modalità specificata.
loadImage Carica i dati dell'immagine.
resizeImage Ridimensiona un'immagine a una dimensione specificata usando un metodo di ridimensionamento specificato.
extractPixels Estrae i valori pixel da un'immagine.
featurizeImage Definisce le caratteristiche di un'immagine usando un modello di rete neurale profonda con training preliminare.

3 - Funzioni di assegnazione dei punteggi e training

Nome della funzione Descrizione
rxPredict.mlModel Esegue la libreria di punteggi da SQL Server, usando la stored procedure, o dal codice R abilitando il punteggio in tempo reale per offrire prestazioni della stima molto più veloci.
rxFeaturize Trasforma i dati da un set di dati di input a un set di dati di output.
mlModel Fornisce un riepilogo di un modello di Machine Learning di Microsoft R.

4 - Funzioni di perdita per la regressione e la classificazione

Nome della funzione Descrizione
expLoss Specifiche per la funzione di perdita per la classificazione esponenziale.
logLoss Specifiche per la funzione di perdita per la classificazione dei log.
hingeLoss Specifiche per la funzione di perdita per la classificazione cardine.
smoothHingeLoss Specifiche per la funzione di perdita per la classificazione cardine liscia.
poissonLoss Specifiche per la funzione di perdita di regressione di Poisson.
squaredLoss Specifiche per la funzione di perdita di regressione al quadrato.

5 - Funzioni di selezione delle caratteristiche

Nome della funzione Descrizione
minCount Specifica per la selezione delle caratteristiche in modalità di conteggio.
mutualInformation Specifica per la selezione delle caratteristiche in modalità di informazione mutua.

6 - Funzioni di modellazione di ensemble

Nome della funzione Descrizione
fastTrees Crea un elenco contenente il nome della funzione e gli argomenti per eseguire il training di un modello Fast Tree con rxEnsemble.
fastForest Crea un elenco contenente il nome della funzione e gli argomenti per eseguire il training di un modello Fast Forest con rxEnsemble.
fastLinear Crea un elenco contenente il nome della funzione e gli argomenti per eseguire il training di un modello Fast Linear con rxEnsemble.
logisticRegression Crea un elenco contenente il nome della funzione e gli argomenti per eseguire il training di un modello di regressione logistica con rxEnsemble.
oneClassSvm Crea un elenco contenente il nome della funzione e gli argomenti per eseguire il training di un modello OneClassSvm con rxEnsemble.

7 - Funzioni di rete neurale

Nome della funzione Descrizione
optimizer Specifica gli algoritmi di ottimizzazione per l'algoritmo di Machine Learning rxNeuralNet.

8 - Funzioni di stato del pacchetto

Nome della funzione Descrizione
rxHashEnv Oggetto ambiente usato per archiviare lo stato a livello di pacchetto.

Come usare MicrosoftML

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

Il pacchetto MicrosoftML per R è già installato in SQL Server 2017.

Il pacchetto non è caricato per impostazione predefinita. Per prima cosa, caricare il pacchetto MicrosoftML e quindi caricare RevoScaleR se è necessario usare contesti di calcolo remoti oppure oggetti di origine dati o connettività correlati. Fare quindi riferimento alle singole funzioni necessarie.

library(microsoftml);
library(RevoScaleR);
logisticRegression(args);

Vedi anche