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 :
- Services de Machine Learning SQL Server
- Bibliothèques clientes Python pour un client de science des données
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