recherche
MaisonPériphériques technologiquesIATutoriel postgresml: faire l'apprentissage automatique avec SQL

La tendance dominante de l'apprentissage automatique consiste à transférer des données dans l'environnement du modèle pour la formation. Cependant, que se passe-t-il si nous inversions ce processus? Étant donné que les bases de données modernes sont nettement plus grandes que les modèles d'apprentissage automatique, ne serait-il pas plus efficace de déplacer les modèles vers les ensembles de données?

Il s'agit du concept fondamental derrière PostgreSML - les données restent à son emplacement et vous apportez votre code à la base de données. Cette approche inversée de l'apprentissage automatique offre de nombreux avantages pratiques qui remettent en question les notions conventionnelles d'une «base de données».

postgresml: un aperçu et ses avantages

PostgreSML est une plate-forme d'apprentissage automatique complète construite sur la base de données PostgreSQL largement utilisée. Il introduit une nouvelle approche appelée apprentissage automatique "en database", vous permettant d'exécuter diverses tâches ML dans SQL sans avoir besoin d'outils distincts pour chaque étape.

PostgresML Tutorial: Doing Machine Learning With SQL

Malgré sa nouveauté relative, PostgreSML offre plusieurs avantages clés:

  • In-Database ML: Traintes, déploie et exécute des modèles ML directement dans votre base de données PostgreSQL. Cela élimine le besoin de transfert de données constant entre la base de données et les cadres ML externes, améliorant l'efficacité et réduisant la latence.
  • API SQL: exploite SQL pour les modèles de formation, de réglage fin et de déploiement d'apprentissage automatique. Cela simplifie les workflows pour les analystes de données et les scientifiques moins familiers avec plusieurs frameworks ML.
  • Modèles pré-formés: intègre de manière transparente à HuggingFace, donnant accès à de nombreux modèles pré-formés comme Llama, Falcon, Bert et Mistral.
  • Personnalisation et flexibilité: prend en charge une large gamme d'algorithmes de Scikit-Learn, XgBoost, LGBM, Pytorch et Tensorflow, permettant de diverses tâches d'apprentissage supervisées directement dans la base de données.
  • Intégration de l'écosystème: Fonctionne avec n'importe quel environnement prenant en charge les Postgres et propose des SDK pour plusieurs langages de programmation (JavaScript, Python et Rust sont particulièrement bien soutenus).

PostgresML Tutorial: Doing Machine Learning With SQL

Ce tutoriel démontrera ces fonctionnalités à l'aide d'un flux de travail d'apprentissage automatique typique:

  1. Chargement des données
  2. Prétraitement des données
  3. Formation du modèle
  4. Hyperparamètre Fineding
  5. Déploiement de la production

Toutes ces étapes seront effectuées dans une base de données Postgres. Commençons!

Un flux de travail d'apprentissage supervisé complet avec postgresml

Début: PostgreSML Free Tier

  1. Créez un compte gratuit à https://www.php.cn/link/3349958a3e56580d4e415da345703886 :

PostgresML Tutorial: Doing Machine Learning With SQL

  1. Sélectionnez le niveau gratuit, qui propose des ressources généreuses:

PostgresML Tutorial: Doing Machine Learning With SQL

Après l'inscription, vous accéderez à votre console postgresml pour gérer les projets et les ressources.

PostgresML Tutorial: Doing Machine Learning With SQL

La section "Gérer" vous permet d'étendre votre environnement en fonction des besoins de calcul.

PostgresML Tutorial: Doing Machine Learning With SQL

1. Installation et configuration de Postgres

PostgreSML nécessite PostgreSQL. Des guides d'installation pour diverses plates-formes sont disponibles:

  • Windows
  • mac os
  • Linux

Pour WSL2, les commandes suivantes suffisent:

sudo apt update
sudo apt install postgresql postgresql-contrib
sudo passwd postgres  # Set a new Postgres password
# Close and reopen your terminal

Vérifiez l'installation:

psql --version

Pour une expérience plus conviviale que le terminal, considérez l'extension VScode.

PostgresML Tutorial: Doing Machine Learning With SQL

2. Connexion de la base de données

Utilisez les détails de la connexion à partir de votre console postgresml:

PostgresML Tutorial: Doing Machine Learning With SQL

Connectez-vous en utilisant psql:

psql -h "host" -U "username" -p 6432 -d "database_name"

Alternativement, utilisez l'extension VScode comme décrit dans sa documentation.

Activer l'extension PGML:

CREATE EXTENSION IF NOT EXISTS pgml;

Vérifiez l'installation:

SELECT pgml.version();

3. Chargement des données

Nous utiliserons l'ensemble de données Diamonds de Kaggle. Téléchargez-le en CSV ou utilisez cet extrait Python:

import seaborn as sns
diamonds = sns.load_dataset("diamonds")
diamonds.to_csv("diamonds.csv", index=False)

Créez le tableau:

CREATE TABLE IF NOT EXISTS diamonds (
   index SERIAL PRIMARY KEY,
   carat FLOAT,
   cut VARCHAR(255),
   color VARCHAR(255),
   clarity VARCHAR(255),
   depth FLOAT,
   table_ FLOAT,
   price INT,
   x FLOAT,
   y FLOAT,
   z FLOAT
);

remplir la table:

INSERT INTO diamonds
   (carat, cut, color, clarity, depth, table_, price, x, y, z)
   FROM '~/full/path/to/diamonds.csv'
   DELIMITER ','
   CSV HEADER;

Vérifiez les données:

SELECT * FROM diamonds LIMIT 10;

PostgresML Tutorial: Doing Machine Learning With SQL

4. Formation du modèle

Formation de base

former un régresseur XGBOost:

SELECT pgml.train(
 project_name => 'Diamond prices prediction',
 task => 'regression',
 relation_name => 'diamonds',
 y_column_name => 'price',
 algorithm => 'xgboost'
);

former un classificateur multi-classes:

SELECT pgml.train(
 project_name => 'Diamond cut quality prediction',
 task => 'classification',
 relation_name => 'diamonds',
 y_column_name => 'cut',
 algorithm => 'xgboost',
 test_size => 0.1
);

Prétraitement

entraîner un modèle forestier aléatoire avec le prétraitement:

SELECT pgml.train(
   project_name => 'Diamond prices prediction',
   task => 'regression',
   relation_name => 'diamonds',
   y_column_name => 'price',
   algorithm => 'random_forest',
   preprocess => '{
       "carat": {"scale": "standard"},
       "depth": {"scale": "standard"},
       "table_": {"scale": "standard"},
       "cut": {"encode": "target", "scale": "standard"},
       "color": {"encode": "target", "scale": "standard"},
       "clarity": {"encode": "target", "scale": "standard"}
   }'::JSONB
);

postgresml fournit diverses options de prétraitement (codage, imputé, échelle).

Spécification des hyperparamètres

Former un régresseur XGBOost avec des hyperparamètres personnalisés:

sudo apt update
sudo apt install postgresql postgresql-contrib
sudo passwd postgres  # Set a new Postgres password
# Close and reopen your terminal

Tuning hyperparamètre

Effectuer une recherche sur la grille:

psql --version

5. Évaluation du modèle

Utiliser pgml.predict pour les prédictions:

psql -h "host" -U "username" -p 6432 -d "database_name"

Pour utiliser un modèle spécifique, spécifiez son identifiant:

CREATE EXTENSION IF NOT EXISTS pgml;

Récupérer les ID du modèle:

SELECT pgml.version();

6. Déploiement du modèle

PostgreSML déploie automatiquement le modèle le mieux performant. Pour un contrôle plus fin, utilisez pgml.deploy:

import seaborn as sns
diamonds = sns.load_dataset("diamonds")
diamonds.to_csv("diamonds.csv", index=False)

Les stratégies de déploiement incluent best_score, most_recent et rollback.

Exploration plus approfondie du postgresml

postgresml s'étend au-delà de l'apprentissage supervisé. La page d'accueil présente un éditeur SQL pour l'expérimentation. La construction d'un service ML orienté consommateur pourrait impliquer:

  1. Création d'une interface utilisateur (par exemple, en utilisant Streamlit ou Taipy).
  2. Développer un backend (python, node.js).
  3. Utilisation de bibliothèques comme psycopg2 ou pg-promise pour l'interaction de la base de données.
  4. Données de prétraitement dans le backend.
  5. déclencher pgml.predict lors de l'interaction utilisateur.

Conclusion

PostgreSML offre une nouvelle approche de l'apprentissage automatique. Pour approfondir votre compréhension, explorez la documentation PostgreSML et envisagez des ressources comme les cours SQL de DataCamp et les tutoriels fondamentaux de l'IA.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Android reçoit la mise à niveau de l'IA de nouvelle génération pendant que l'iPhone manqueAndroid reçoit la mise à niveau de l'IA de nouvelle génération pendant que l'iPhone manqueApr 23, 2025 am 11:32 AM

Pixel Drop gratuitement - aucun téléphone pixel requis Google a amélioré le système Android avec ses puissantes capacités de caméra AI gratuites, laissant les utilisateurs d'iPhone derrière. Il y a moins de deux semaines, Google a publié de façon inattendue la "mise à jour des pixels d'avril 2025" pour ajouter gratuitement des capacités de partage de caméra et d'écran au chatbot Gemini Live de la société. Cette mise à jour gratuite est d'abord disponible pour les utilisateurs de la série Pixel 9 et de la série Galaxy S25 uniquement. Maintenant, Google a annulé cette exclusivité, apportant ces fonctionnalités futuristes à tous les appareils Android compatibles sans abonnement payant. Comment utiliser les Gémeaux avec le partage de la caméra et de l'écran

Comment construire des agents d'IA multimodaux à l'aide d'AGNO Framework?Comment construire des agents d'IA multimodaux à l'aide d'AGNO Framework?Apr 23, 2025 am 11:30 AM

Tout en travaillant sur une IA agentique, les développeurs se retrouvent souvent à naviguer dans les compromis entre la vitesse, la flexibilité et l'efficacité des ressources. J'ai exploré le cadre de l'IA agentique et je suis tombé sur Agno (plus tôt c'était Phi-

Créer des applications commerciales à l'aide de SLMCréer des applications commerciales à l'aide de SLMApr 23, 2025 am 11:28 AM

Les entreprises comptent de plus en plus sur les chatbots d'IA pour élever le service client et offrir un soutien immédiat. Ces chatbots propulsés par l'IA peuvent répondre aux demandes de renseignements et suggérer des produits, opérant 24/7 contrairement aux agents humains, ce qui en fait des actifs inestimables pour les entreprises

Finetuning phi-medium pour générer une requête cypher à partir du texteFinetuning phi-medium pour générer une requête cypher à partir du texteApr 23, 2025 am 11:25 AM

Introduction L'essor de la génération (RAG) et des graphiques de connaissances de la récupération a révolutionné la façon dont nous interagissons avec des ensembles de données complexes en fournissant une représentation structurée et interconnectée des informations. Connaissance GR

L'écoute électronique: l'agence de cybersécurité de Trump a évité une quasi-catastropheL'écoute électronique: l'agence de cybersécurité de Trump a évité une quasi-catastropheApr 23, 2025 am 11:24 AM

Cette semaine dans la cybersécurité et la surveillance: une défaillance quasi catastrophique d'une base de données de vulnérabilité vitale, le rôle croissant de Palantir dans les efforts de déportation et l'utilisation croissante de l'IA dans la surveillance des médias sociaux. Les vulnérabilités communes et e

Brains Over Bots: A Guide d'un milliardaire pour prospérer par le changementBrains Over Bots: A Guide d'un milliardaire pour prospérer par le changementApr 23, 2025 am 11:16 AM

L'intelligence générale artificielle (AGI) est arrivée, inaugurant une période de transformation mondiale sans précédent. McKinsey & Company définit AGI comme une IA avec des capacités de niveau humain, un développement potentiellement conduisant à la "singularité",

Ce que j'ai appris à tester des dizaines d'agents d'IA en 2025Ce que j'ai appris à tester des dizaines d'agents d'IA en 2025Apr 23, 2025 am 11:13 AM

L'avancement rapide de l'IA pousse les entreprises à intégrer les agents de l'IA dans leurs opérations. Une récente enquête IBM et Morning Consult a révélé qu'une grande majorité (99%) des développeurs d'IA d'entreprise explore activement ou développent l'agent AI TEC

Construire des modèles fondamentaux de l'IA et une IA générative qui effectue une thérapie de santé mentaleConstruire des modèles fondamentaux de l'IA et une IA générative qui effectue une thérapie de santé mentaleApr 23, 2025 am 11:12 AM

Développer une IA capable de fournir une thérapie de santé mentale experte est une entreprise importante. Les startups poursuivent agressivement cette voie difficile, attirant un capital-risque substantiel. Les chercheurs universitaires explorent activement sa fête

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)