revoscalepy (package Python de SQL Server Machine Learning Services)

S’applique à : SQL Server 2017 (14.x) et versions plus récentes

revoscalepy est un package Python 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 est inclus dans SQL Server Machine Learning Services.

Le package offre les fonctionnalités suivantes :

  • Contextes de calcul locaux et distants sur les systèmes utilisant la même version de revoscalepy
  • Fonctions de transformation et de visualisation des données
  • Fonctions de science des données évolutives via un traitement distribué ou parallèle
  • Performances améliorées avec utilisation des bibliothèques mathématiques Intel incluse

Les sources de données et les contextes de calcul que vous créez dans revoscalepy peuvent également être utilisés dans des algorithmes de Machine Learning. Pour suivre une présentation de ces algorithmes, consultez microsoftml Python module in SQL Server (Module Python microsoftml dans SQL Server).

Documentation de référence complète

Le package revoscalepy 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 revoscalepy est publiée à un seul endroit sous la référence Python. 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 module revoscalepy est basé sur Python 3.5 et n’est disponible que lorsque vous installez l’un des produits ou téléchargements Microsoft suivants :

Notes

Les versions complètes du produit sont uniquement disponibles sous Windows dans SQL Server 2017. Windows et Linux sont pris en charge pour revoscalepy dans SQL Server 2019 (et versions ultérieures).

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

revoscalepy 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. Les fonctions relatives aux scénarios SQL Server sont répertoriées dans le tableau ci-dessous.

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

Fonction Description
RxInSqlServer Créez un objet de contexte de calcul SQL Server pour envoyer des calculs à une instance distante. Plusieurs fonctions revoscalepy prennent le contexte de calcul comme argument. Pour obtenir un exemple de changement de contexte, consultez Créer un modèle à l’aide de revoscalepy.
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é.

2-Manipulation de données (ETL)

Fonction Description
rx_import Importer des données dans un fichier .xdf ou une trame de données.
rx_data_step Transformer les données d’un jeu de données d’entrée en jeu de données de sortie.

3-Formation et résumé

Fonction Description
rx_btrees Ajuster des arbres de décision améliorés par des gradients stochastiques
rx_dforest Ajuster des forêts de décision de régression et de classification
rx_dtree Ajuster des arbres de régression et de classification
rx_lin_mod Créer un modèle de régression linéaire
rx_logit Créer un modèle de régression logistique
rx_summary Produire des résumés d’objets à variable unique dans revoscalepy.

Vous devez également examiner les fonctions dans microsoftml pour obtenir des approches supplémentaires.

4-Fonctions de scoring

Fonction Description
rx_predict Générer des prédictions à partir d’un modèle entraîné et peut être utilisé pour le scoring en temps réel.
rx_predict_default Calculer des résiduels et des valeurs prédites à l’aide d’objets rx_lin_mod et rx_logit.
rx_predict_rx_dforest Calculer les valeurs prédites ou ajustées d’un jeu de données à partir d’un objet rx_dforest ou rx_btrees.
rx_predict_rx_dtree Calculer les valeurs prédites ou ajustées d’un jeu de données à partir d’un objet rx_dtree.

Procédure d’utilisation de revoscalepy

Les fonctions de revoscalepy peuvent être appelées dans du code Python encapsulé dans des procédures stockées. La plupart des développeurs créent des solutions revoscalepy localement, puis migrent le code Python 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 Python à partir de la ligne de commande, ou à partir d’un environnement de développement Python, et vous spécifiez un contexte de calcul SQL Server à l’aide de l’une des fonctions revoscalepy. 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 Python à 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.

Les entrées et les sorties doivent correspondre à des trames de données pandas. Une fois cette opération effectuée, vous pouvez appeler la procédure stockée à partir de n’importe quel client prenant en charge T-SQL, transmettre simplement les requêtes SQL en tant qu’entrées, puis enregistrer les résultats dans des tables SQL. Pour obtenir un exemple, consultez Analyse des données Python pour les développeurs SQL.

Utiliser revoscalepy avec microsoftml

Les fonctions Python pour microsoftml sont intégrées aux contextes de calcul et aux sources de données fournis dans revoscalepy. Lorsque vous appelez des fonctions à partir de microsoftml, par exemple lors de la définition et de l’entraînement d’un modèle, utilisez les fonctions revoscalepy pour exécuter le code Python en local ou dans un contexte de calcul distant SQL Server.

L’exemple suivant illustre la syntaxe permettant d’importer des modules dans votre code Python. Vous pouvez ensuite référencer les fonctions individuelles dont vous avez besoin.

from microsoftml.modules.logistic_regression.rx_logistic_regression import rx_logistic_regression
from revoscalepy.functions.RxSummary import rx_summary
from revoscalepy.etl.RxImport import rx_import_datasource

Voir aussi