RevoScaleR (package R de SQL Server Machine Learning Services)

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

RevoScaleR est un package R de Microsoft qui prend en charge les traitements distribués, les contextes de calcul distants et des algorithmes de science des données hautes performances. Il gère également l’importation de données, la transformation de données, les résumés, la visualisation et l’analyse. Il est inclus dans SQL Server Machine Learning Services et dans SQL Server 2016 R Services.

Contrairement aux fonctions R de base, les opérations RevoScaleR peuvent être effectuées sur des jeux de données volumineux, en parallèle et sur des systèmes de fichiers distribués. Les fonctions peuvent être utilisées sur des jeux de données trop volumineux pour la mémoire, grâce à la segmentation et au réassemblage des résultats lorsque les opérations sont terminées.

Les fonctions RevoScaleR sont associées à un préfixe rx** ou Rx pour faciliter leur identification.

RevoScaleR sert de plateforme pour la science des données distribuée. Par exemple, vous pouvez utiliser les transformations et les contextes de calcul RevoScaleR avec les algorithmes de pointe dans MicrosoftML. Vous pouvez également utiliser rxExec pour exécuter des fonctions R de base en parallèle.

Documentation de référence complète

Le package RevoScaleR 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 RevoScaleR s’appuie sur R 3.4.3 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 RevoScaleR dans SQL Server 2019.

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-Source de données et calcul

RevoScaleR comprend des fonctions permettant de créer des sources de données et de définir l’emplacement, ou contexte de calcul, où les calculs sont effectués. Un objet source de données est un conteneur qui spécifie une chaîne de connexion assortie du jeu de données de votre choix, défini sous la forme d’une table, d’une vue ou d’une requête. Les appels aux procédures stockées ne sont pas pris en charge. Les fonctions relatives aux scénarios SQL Server sont répertoriées dans le tableau ci-dessous.

Dans certains cas, SQL Server et R utilisent des types de données différents. Pour obtenir la liste des mappages entre les types de données SQL et R, consultez Types de données R vers SQL.

Fonction Description
RxInSqlServer Créez un objet de contexte de calcul SQL Server pour envoyer des calculs à une instance distante. Plusieurs fonctions RevoScaleR prennent le contexte de calcul comme argument.
rxGetComputeContext / rxSetComputeContext Obtenez ou définissez le contexte de calcul actif.
RxSqlServerData Créez un objet de données basé sur une requête ou une table SQL Server.
RxOdbcData Créez une source de données basée sur une connexion ODBC.
RxXdfData Créez une source de données basée sur un fichier XDF local. Les fichiers XDF sont souvent utilisés pour décharger les données en mémoire sur le disque. Un fichier XDF peut être utile quand la quantité des données utilisées est trop importante pour être transférée en un seul lot à partir de la base de données ou pour tenir dans la mémoire. Par exemple, si vous déplacez régulièrement de grandes quantités de données d’une base de données vers une station de travail locale, plutôt que d’interroger de façon répétée la base de données à chaque opération R, vous pouvez vous servir du fichier XDF comme cache pour enregistrer les données localement et les exploiter ensuite dans votre espace de travail R.

Conseil

Si vous débutez avec les sources de données ou les contextes de calcul, nous vous recommandons de commencer par lire l’article Calcul distribué.

Exécuter des instructions DDL

Vous pouvez exécuter des instructions DDL à partir de R, à condition de disposer des autorisations nécessaires au niveau de l’instance et de la base de données. Les fonctions suivantes utilisent des appels ODBC pour exécuter des instructions DDL ou récupérer le schéma de la base de données.

Fonction Description
rxSqlServerTableExists et rxSqlServerDropTable Déposez une table SQL Server ou vérifiez s’il existe une table ou un objet de base de données.
rxExecuteSQLDDL Exécutez une commande DDL (Data Definition Language) qui définit ou manipule des objets de base de données. Cette fonction ne peut pas renvoyer de données et est utilisée uniquement pour récupérer ou modifier le ou les métadonnées ou le schéma de l’objet.

2-Manipulation de données (ETL)

Après avoir créé un objet de source de données, vous pouvez l’utiliser pour y charger des données, transformer des données ou écrire de nouvelles données dans la destination spécifiée. Selon la taille des données contenues dans la source, vous pouvez aussi définir la taille de lot dans la source de données et déplacer des données en blocs.

Fonction Description
rxOpen-methods Vérifiez si une source de données est disponible, ouvrez ou fermez une source de données, lisez des données à partir d’une source, écrivez des données dans la cible et fermez une source de données.
rxImport Déplacez des données d’une source de données vers un stockage de fichiers ou dans une trame de données.
rxDataStep Transformez les données lors de leur déplacement entre des sources de données.

3-Fonctions graphiques

Nom de la fonction Description
rxHistogram Crée un histogramme à partir des données.
rxLinePlot Crée un tracé en ligne à partir des données.
rxLorenz Calcule une courbe de Lorenz, qui peut être tracée.
rxRocCurve Calcule et trace des courbes ROC à partir de données réelles et prévues.

4-Statistiques descriptives

Nom de la fonction Description
rxQuantile* Calcule l’étendue approximative des fichiers et des trames de données .xdf sans effectuer de tri.
rxSummary* Statistiques de base sur les données, y compris des calculs par groupe. L’écriture par les calculs par groupe dans le fichier .xdf n’est pas prise en charge.
rxCrossTabs* Tableau croisé de données basé sur des formules.
rxCube* Tableau croisé alternatif basé sur des formules, conçu pour une représentation efficace qui renvoie des résultats de cube. L’écriture de la sortie dans le fichier .xdf n’est pas prise en charge.
rxMarginals Résumés marginaux des tableaux croisés.
as.xtabs Convertit les résultats d’un tableau croisé en objet xtabs.
rxChiSquaredTest Effectue un test de Khi-deux sur un objet xtabs. Utilisé avec les petits jeux de données et ne segmente pas les données.
rxFisherTest Effectue un test exact de Fisher sur un objet xtabs. Utilisé avec les petits jeux de données et ne segmente pas les données.
rxKendallCor Calcule le Tau de Kendall à l’aide d’un objet xtabs.
rxPairwiseCrossTab Appliquez une fonction à des combinaisons par paires de ligne et de colonnes d’un objet xtabs.
rxRiskRatio Calculez le risque relatif sur un objet xtabs deux par deux.
rxOddsRatio Calculez le ratio de probabilités sur un objet xtabs deux par deux.

* Désigne les fonctions les plus populaires de cette catégorie.

5-Fonctions de prédiction

Nom de la fonction Description
rxLinMod* Associe un modèle linéaire aux données.
rxLogit* Associe un modèle de régression logistique aux données.
rxGlm* Associe un modèle linéaire généralisé aux données.
rxCovCor* Calculez la covariance, la corrélation ou la somme de matrices carrées / produit vectoriel pour un ensemble de variables.
rxDTree* Associe un arbre de régression ou de classification aux données.
rxBTrees* Associe une forêt de décision de classification ou de régression aux données à l’aide d’un algorithme de boosting du gradient stochastique.
rxDForest* Associe une forêt de décision de régression ou de classification aux données.
rxPredict* Calcule les prévisions pour les modèles associés. La sortie doit être une source de données XDF.
rxKmeans* Exécute un clustering K-means.
rxNaiveBayes* Exécute la classification Naive Bayes.
rxCov Calculez la matrice de covariance pour un ensemble de variables.
rxCor Calculez la matrice de corrélation pour un ensemble de variables.
rxSSCP Calculez la somme de matrices carrées/de produit vectoriel pour un ensemble de variables.
rxRoc Calculs du ROC (Receiver Operating Characteristic) à l’aide des valeurs réelles et prévues à partir d’un système classifieur binaire.

* Désigne les fonctions les plus populaires de cette catégorie.

Procédure d'utilisation de RevoScaleR

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

Lors d’une exécution locale, vous exécutez généralement un script R à partir de la ligne de commande, ou à partir d’un environnement de développement R, et vous spécifiez un contexte de calcul SQL Server à l’aide de l’une des fonctions RevoScaleR. Vous pouvez utiliser le contexte de calcul distant pour l’intégralité du code, ou pour des fonctions individuelles. Par exemple, vous souhaiterez peut-être décharger l’apprentissage du modèle sur le serveur pour utiliser les données les plus récentes et éviter le déplacement des données.

Lorsque vous êtes prêt à encapsuler le script R à l’intérieur d’une procédure stockée, sp_execute_external_script, nous vous recommandons de réécrire le code sous la forme d’une fonction unique ayant des entrées et des sorties clairement définies.

Voir aussi