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.
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).
Ce tutoriel démontrera ces fonctionnalités à l'aide d'un flux de travail d'apprentissage automatique typique:
- Chargement des données
- Prétraitement des données
- Formation du modèle
- Hyperparamètre Fineding
- 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
- Créez un compte gratuit à https://www.php.cn/link/3349958a3e56580d4e415da345703886 :
- Sélectionnez le niveau gratuit, qui propose des ressources généreuses:
Après l'inscription, vous accéderez à votre console postgresml pour gérer les projets et les ressources.
La section "Gérer" vous permet d'étendre votre environnement en fonction des besoins de calcul.
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.
2. Connexion de la base de données
Utilisez les détails de la connexion à partir de votre console postgresml:
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;
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:
- Création d'une interface utilisateur (par exemple, en utilisant Streamlit ou Taipy).
- Développer un backend (python, node.js).
- Utilisation de bibliothèques comme
psycopg2
oupg-promise
pour l'interaction de la base de données. - Données de prétraitement dans le backend.
- 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!

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

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-

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

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

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

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é",

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

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


Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

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
Version chinoise, très simple à utiliser

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