Apprentissage automatique en SQL avec PyCaret
Envoyez votre code ML aux données en intégrant PyCaret dans SQL Server
Ce message est un tutoriel étape par étape sur la formation et le déploiement d’un modèle de clustering Machine Learning non supervisé dans SQL Server à l’aide de PyCaret(une bibliothèque ML low-code en Python).
Les choses que nous aborderons dans cet article:
1. Comment télécharger et installer gratuitement SQL Server
2. Comment créer une nouvelle base de données et importer des données dans une base de données
3. Comment activer et utiliser les scripts Python dans la base de données
4. Comment former un algorithme de clustering afin d’attribuer des étiquettes de cluster à chaque observation dans l’ensemble de données
Les outils / environnements de référence pour effectuer des expériences ML sont la ligne de commande, les IDE ou les ordinateurs portables. Cependant, ces outils / environnements peuvent poser des limites lorsque la taille des données devient très importante ou lorsque le modèle ML doit être mis en production. Il y avait un besoin urgent de pouvoir programmer et former des modèles où résident les données. MS SQL Server a introduit cette fonctionnalité dans leur version SQL Server 2019. Les avantages distincts de l’utilisation de SQL Server pour l’apprentissage automatique sont les suivants:
je. Extraire une grande quantité de données du système est fastidieux et prend du temps. Mener des expériences ML sur un serveur apporte le code aux données, plutôt que de prendre des données dans le code
ii. Les expériences ML sont exécutées principalement dans la mémoire d’un ordinateur / processeur. La plupart des machines ont atteint un plafond de performances lors de la formation d’un algorithme ML sur de grands ensembles de données. ML sur la base de données SQL Server évite cela
iii. Il est facile d’intégrer et de déployer ML Pipelines avec d’autres processus ETL
SQL Server est un système de gestion de bases de données relationnelles Microsoft. En tant que serveur de base de données, il remplit la fonction principale de stockage et de récupération des données comme demandé par différentes applications. Dans ce tutoriel, nous utiliserons SQL Server 2019 Développeur pour l’apprentissage automatique en important la bibliothèque PyCaret dans SQL Server.
Si vous avez déjà utilisé SQL Server, il est probable que vous l’ayez installé et ayez accès à la base de données. Si non, cliquez ici pour télécharger SQL Server 2019 Developer ou une autre édition.
Avant d’utiliser la fonctionnalité PyCaret dans SQL Server, vous devez installer SQL Server et PyCaret. Il s’agit d’un processus en plusieurs étapes:
Étape 1 – Installer SQL Server
Téléchargez le fichier SQL Server 2019 Developer Edition « SQL2019-SSEI-Dev.exe«
Ouvrez le fichier et suivez les instructions d’installation (recommandé d’utiliser l’option d’installation personnalisée)
Choisissez Nouvelle installation autonome SQL Server
Dans l’option Fonctionnalités d’instance, sélectionnez les fonctionnalités, notamment « Python » en dessous de Services d’apprentissage automatique et extensions linguistiques et Serveur d’apprentissage automatique (autonome)
Cliquez sur « J’accepte« Pour autoriser l’installation de Python
L’installation peut prendre de 15 à 20 minutes
Étape 2 – Installez Microsoft SQL Server Management Studio (SSMS)
Cliquez ici ou Ouvrez le Centre d’installation de SQL Server pour télécharger le fichier « Outils de gestion SQL Server » « SSMS-Setup-ENU.exe«
Ouvert « SSMS-Setup-ENU.exe”Pour démarrer l’installation
L’installation peut prendre 5 à 10 minutes
Étape 3 – Créer une base de données pour l’apprentissage automatique
Une fois que vous avez tout installé, vous devrez démarrer une instance du serveur. Pour ce faire, démarrez SSMS. À l’étape de la connexion, il vous sera demandé le nom du serveur SQL que vous pouvez choisir dans le menu déroulant. Une fois la connexion établie, vous pouvez voir tous les objets du serveur. Si vous avez téléchargé SQL Server pour la première fois et que vous n’avez pas de base de données avec laquelle travailler, vous devrez d’abord créer une nouvelle base de données.
Dans le panneau Explorateur d’objets, cliquez avec le bouton droit sur Bases de données et choisissez Nouvelle base de données
Entrez le nom de la base de données et d’autres informations
La configuration peut prendre 2 à 3 minutes, y compris la création d’une base de données, l’utilisateur et la définition du propriétaire
Étape 4 – Importer un fichier CSV
Vous devrez maintenant importer un fichier CSV dans une base de données à l’aide de SQL Server Management Studio.
Créer une table « bijoux”Dans la base de données
Cliquez avec le bouton droit sur la base de données et sélectionnez Tâches -> Importer des données
Pour Source de données, sélectionnez Source de fichier plat. Utilisez ensuite le Feuilleter pour sélectionner le fichier CSV. Passez un peu de temps à configurer l’importation des données avant de cliquer sur le Prochain bouton.
Pour Destination, sélectionnez le fournisseur de base de données approprié (par exemple, SQL Server Native Client 11.0). Entrer le Nom du serveur; vérifier Utiliser l’authentification SQL Server, entrer le Nom d’utilisateur, Mot de passe, et Base de données avant de cliquer sur le Prochain bouton.
Dans la fenêtre Sélectionner les tables et vues source, vous pouvez modifier les mappages avant de cliquer sur le Prochain bouton.
Cochez Exécuter immédiatement et cliquez sur le Prochain bouton
Cliquez sur le bouton Terminer pour exécuter le package
Étape 5 – Activer SQL Server pour les scripts Python
Nous exécuterons Python «à l’intérieur» de SQL Server en utilisant le sp_execute_external_script procédure stockée du système. Pour commencer, vous devez ouvrir un ‘Nouvelle requête». Exécutez la requête suivante dans votre instance pour activer l’utilisation de la procédure d’exécution de script à distance:
Les instructions SQL suivantes peuvent être exécutées pour vérifier le chemin Python et répertorier les packages installés.
Vérifiez le chemin Python:
Liste des packages installés:
Étape 6 – Ajout d’un package Python PyCaret à SQL Server
Pour installer le package PyCaret, ouvrez une invite de commande et accédez à l’emplacement des packages Python où SQL Server est installé. L’emplacement par défaut est:
Aller vers « Scripts”Et utilisez la commande pip pour installer PyCaret paquet
Remarque: Assurez-vous que vous avez accès au répertoire SQL Server pour installer le package et / ou modifier les configurations. Sinon, l’installation du package échouera.
L’installation peut prendre 5 à 10 minutes
Exécutez le SQL suivant pour vérifier l’installation de PyCaret à partir de SQL Server:
Le clustering est une technique d’apprentissage automatique qui regroupe des points de données ayant des caractéristiques similaires. Ces regroupements sont utiles pour explorer des données, identifier des modèles et analyser un sous-ensemble de données. Voici quelques cas d’utilisation commerciale courants pour le clustering:
✔ Segmentation de la clientèle à des fins de marketing.
✔ Analyse du comportement d’achat du client pour les promotions et les remises.
✔ Identifier les géo-clusters dans une épidémie comme COVID-19.
Dans ce didacticiel, nous utiliserons le ‘jewellery.csv » disponible sur le site de PyCaret Dépôt Github.
1. Clustering K-Means
Exécutez le code SQL suivant dans SQL Server:
2. Sortie
Une nouvelle colonne « Grappe’ contenant l’étiquette est attaché à la table d’origine.
Par défaut, PyCaret forme un K-Means modèle de clustering avec 4 clusters (c’est-à-dire que tous les points de données du tableau sont classés en 4 groupes). Les valeurs par défaut peuvent être modifiées facilement:
Pour modifier le nombre de clusters que vous pouvez utiliser num_clusters paramètre dans avoir_fonction clusters ().
Pour modifier le type de modèle, utilisez modèle paramètre dans get_clusters ().
3. K-Modes
Voir le code suivant pour la formation K-Modes modèle avec 6 grappes:
En suivant ces étapes, vous pouvez attribuer une valeur de cluster à chaque point d’observation du jeu de données de bijoux. Vous pouvez également utiliser des étapes similaires sur d’autres jeux de données pour effectuer un cluster sur eux.
Dans cet article, nous avons appris à créer un modèle de clustering en utilisant une bibliothèque Python (PyCaret) dans SQL Server. De même, vous pouvez créer et exécuter d’autres types de modèles ML supervisés et non supervisés en fonction de la nécessité du problème métier.
Vous pouvez en outre consulter le PyCaret site Web pour la documentation sur d’autres expériences supervisées et non supervisées qui peuvent être implémentées de manière similaire dans SQL Server.
Mes futurs articles seront des tutoriels sur l’exploration des techniques d’apprentissage supervisé (régression / classification) utilisant Python et Pycaret dans un serveur SQL.