MicrosoftML (package R de SQL Server Machine Learning Services)

S’applique à : SQL Server 2016 (13.x) et versions ultérieures

MicrosoftML est un package R de Microsoft qui fournit des algorithmes de Machine Learning hautes performances. Il comprend des fonctions d’apprentissage et de transformation, de scoring, d’analyse de texte et d’image, ainsi que d’extraction de caractéristiques pour dériver des valeurs à partir de données existantes. Le package, inclus dans SQL Server Machine Learning Services et SQL Server 2016 R Services, prend en charge les opérations hautes performances sur le Big Data, l’utilisation du traitement multicœur et le streaming de données rapide. MicrosoftML comprend également de nombreuses transformations pour le traitement du texte et de l’image.

Documentation de référence complète

Le package MicrosoftML est distribué dans plusieurs produits Microsoft, mais l’utilisation est la même quelle que soit sa provenance (SQL Server ou un autre produit). Les fonctions étant les mêmes, la documentation de chaque fonction RevoScaleR est publiée à un seul endroit sous la référence R. Si des comportements spécifiques à un produit existent, les différences seront signalées dans la page d’aide de la fonction.

Versions et plateformes

Le package MicrosoftML s’appuie sur R 3.5.2 et n’est disponible que si l’un des produits ou téléchargements Microsoft suivants est installé :

Notes

Les versions complètes du produit sont uniquement disponibles sous Windows dans SQL Server 2017. Windows et Linux sont pris en charge pour MicrosoftML dans SQL Server 2019.

Dépendances de package

Les algorithmes dans MicrosoftML dépendent de RevoScaleR pour :

  • Les objets sources de données. Les données consommées par les fonctions MicrosoftML sont créées à l’aide des fonctions RevoScaleR.
  • Le calcul à distance (le passage de l’exécution des fonctions vers une instance SQL Server distante). Le package RevoScaleR fournit des fonctions permettant de créer et d’activer un contexte de calcul distant pour SQL Server.

Dans la plupart des cas, vous devez charger les packages ensemble chaque fois que vous utilisez MicrosoftML.

Fonctions par catégorie

Cette section répertorie les fonctions par catégorie pour vous donner une idée de la façon dont chacune d’elles est utilisée. Vous pouvez également utiliser la table des matières pour rechercher des fonctions dans l’ordre alphabétique.

1-Nouveaux algorithmes de Machine Learning

Nom de la fonction Description
rxFastTrees Implémentation de FastRank, une implémentation efficace de l’algorithme de boosting de gradient MART.
rxFastForest Implémentation de forêt aléatoire et de forêt de régression quantile utilisant rxFastTrees.
rxLogisticRegression Régression logistique à l’aide de L-BFGS.
rxOneClassSvm Machines à vecteurs de support à une classe.
rxNeuralNet Réseau neuronal binaire, multiclasse et de régression.
rxFastLinear Optimisation de l’élévation stochastique à double coordonnée pour la régression et la classification binaire linéaire.
rxEnsemble Effectuer l’apprentissage de différents types de modèles pour obtenir des performances prédictives supérieures à celles obtenues à partir d’un modèle unique.

2-Fonctions de transformation

Nom de la fonction Description
concat Transformation permettant de créer une seule colonne à valeurs vectorielles à partir de plusieurs colonnes.
categorical Crée un vecteur d’indicateur à l’aide d’une transformation catégorielle avec un dictionnaire.
categoricalHash Convertit la valeur catégorielle en tableau d’indicateurs par hachage.
featurizeText Génère un ensemble de nombres de séquences de mots consécutifs (appelées n-grams) à partir d’un corpus de texte donné. Il offre des fonctions de détection de la langue, de segmentation du texte en unités lexicales, de suppression des mots vides, de normalisation du texte et de génération de caractéristiques.
getSentiment Génère un score pour du texte en langage naturel et crée une colonne comprenant les probabilités que les sentiments du texte soient positifs.
ngram Permet de définir des arguments pour les extractions de fonctionnalités basées sur le nombre et le hachage.
selectColumns Sélectionne un ensemble de colonnes à entraîner à nouveau et supprime toutes les autres.
selectFeatures Sélectionne des fonctionnalités à partir de variables spécifiées à l’aide d’un mode spécifié.
loadImage Charge des données d’image.
resizeImage Change la taille d’une image aux dimensions spécifiées à l’aide d’une méthode de redimensionnement spécifiée.
extractPixels Extrait les valeurs en pixels d’une image.
featurizeImage Génère des fonctionnalités pour une image à l’aide d’un modèle de réseau neuronal profond pré-entraîné.

3-Fonctions de scoring et d’apprentissage

Nom de la fonction Description
rxPredict.mlModel Exécute la bibliothèque de scoring à partir de SQL Server à l’aide de la procédure stockée, ou à partir du code R en activant le scoring en temps réel, ce qui permet d’obtenir des performances de prédiction beaucoup plus rapides.
rxFeaturize Transforme les données d’un jeu de données d’entrée en jeu de données de sortie.
mlModel Fournit un résumé d’un modèle Machine Learning Microsoft R.

4-Fonctions de perte pour la régression et la classification

Nom de la fonction Description
expLoss Spécifications pour la fonction de perte de classification exponentielle.
logLoss Spécifications pour la fonction de perte de classification des journaux.
hingeLoss Spécifications pour la fonction de perte de classification de marge maximale.
smoothHingeLoss Spécifications pour la fonction de perte de classification de marge maximale régulière.
poissonLoss Spécifications de la fonction de perte de régression de Poisson.
squaredLoss Spécifications de la fonction de perte de régression quadratique.

5-Fonctions de sélection des fonctionnalités

Nom de la fonction Description
minCount Spécification pour la sélection des fonctionnalités en mode de dénombrement.
mutualInformation Spécification pour la sélection des fonctionnalités en mode Informations mutuelles.

6-Fonctions de modélisation d’ensembles

Nom de la fonction Description
fastTrees Crée une liste contenant le nom et les arguments de la fonction pour effectuer l’apprentissage d’un modèle d’arborescence rapide avec rxEnsemble.
fastForest Crée une liste contenant le nom et les arguments de la fonction pour effectuer l’apprentissage d’un modèle de forêt rapide avec rxEnsemble.
fastLinear Crée une liste contenant le nom et les arguments de la fonction pour effectuer l’apprentissage d’un modèle linéaire rapide avec rxEnsemble.
logisticRegression Crée une liste contenant le nom et les arguments de la fonction pour effectuer l’entraînement d’un modèle de régression logistique avec rxEnsemble.
oneClassSvm Crée une liste contenant le nom et les arguments de la fonction pour effectuer l’apprentissage d’un modèle OneClassSvm avec rxEnsemble.

7-Fonctions de mise en réseau neuronal

Nom de la fonction Description
optimizer Spécifie des algorithmes d’optimisation pour l’algorithme de Machine Learning rxNeuralNet.

8-Fonctions d’état de package

Nom de la fonction Description
rxHashEnv Objet d’environnement utilisé pour stocker l’état de l’ensemble du package.

Utiliser MicrosoftML

Les fonctions de MicrosoftML peuvent être appelées dans du code R encapsulé dans des procédures stockées. La plupart des développeurs créent des solutions MicrosoftML localement, puis migrent le code R terminé vers les procédures stockées en guise d’exercice de déploiement.

Le package MicrosoftML pour R est installé « prêt à l’emploi » dans SQL Server 2017.

Le package n’est pas chargé par défaut. Dans un premier temps, chargez le package MicrosoftML, puis chargez RevoScaleR si vous devez utiliser des contextes de calcul distants ou des objets de source de données ou de connectivité associés. Ensuite, référencez les fonctions individuelles dont vous avez besoin.

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

Voir aussi