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);