Heim >Technologie-Peripheriegeräte >KI >Postgresml Tutorial: maschinelles Lernen mit SQL machen

Postgresml Tutorial: maschinelles Lernen mit SQL machen

Christopher Nolan
Christopher NolanOriginal
2025-03-07 09:16:12252Durchsuche

Der vorherrschende Trend im maschinellen Lernen beinhaltet das Übertragen von Daten in die Umgebung des Modells für das Training. Was ist jedoch, wenn wir diesen Prozess umkehren würden? Wäre es nicht effizienter, die Modelle in die Datensätze zu verschieben, da moderne Datenbanken erheblich größer sind als maschinelle Lernmodelle?

Dies ist das grundlegende Konzept hinter Postgresml - die Daten bleiben an ihrem Standort und Sie bringen Ihren Code in die Datenbank. Dieser umgekehrte Ansatz für maschinelles Lernen bietet zahlreiche praktische Vorteile, die konventionelle Vorstellungen einer "Datenbank" in Frage stellen.

postgresml: Ein Überblick und ihre Vorteile

postgresml ist eine umfassende Plattform für maschinelles Lernen, die auf der weit verbreiteten Postgresql-Datenbank basiert. Es führt einen neuartigen Ansatz mit dem Namen "In-Database" -Maschinenlernen ein, mit dem Sie verschiedene ML-Aufgaben innerhalb von SQL ausführen können, ohne separate Tools für jeden Schritt zu benötigen.

PostgresML Tutorial: Doing Machine Learning With SQL

Trotz seiner relativen Neuheit bietet Postgresml mehrere wichtige Vorteile:

  • In-Database ML: Züge, Bereitstellungen und Ausführen von ML-Modellen direkt in Ihrer PostgreSQL-Datenbank. Dadurch wird die Notwendigkeit einer konstanten Datenübertragung zwischen der Datenbank und externen ML -Frameworks beseitigt, wodurch die Effizienz verbessert und die Latenz verringert wird.
  • Dies vereinfacht Workflows für Datenanalysten und Wissenschaftler, die mit mehreren ML -Frameworks weniger vertraut sind.
  • Vorausgebildete Modelle: Integriert nahtlos in das Huggingface und bietet Zugriff auf zahlreiche vorgebrachte Modelle wie Lama, Falcon, Bert und Mistral.
  • Anpassung und Flexibilität: unterstützt eine Vielzahl von Algorithmen von Scikit-Learn, Xgboost, LGBM, Pytorch und TensorFlow, sodass verschiedene beaufsichtigte Lernaufgaben direkt innerhalb der Datenbank. ermöglicht.
  • Ökosystemintegration: arbeitet mit jeder Umgebung zusammen, die Postgres unterstützt und SDKs für mehrere Programmiersprachen bietet (JavaScript, Python und Rost sind besonders gut unterstützt).

PostgresML Tutorial: Doing Machine Learning With SQL

Dieses Tutorial zeigt diese Funktionen mit einem typischen Workflow:

  1. Datenladen
  2. Datenvorverarbeitung
  3. Modelltraining
  4. Hyperparameter Feinabstimmung
  5. Produktionserfassung

Alle diese Schritte werden in einer Postgres -Datenbank durchgeführt. Beginnen wir!

Ein vollständiger beaufsichtigter Lernworkflow mit PostgreSml

Erste Schritte: postgresml Free Tier

  1. Erstellen Sie ein kostenloses Konto unter https://www.php.cn/link/3349958a3e56580d4e415da345703886 :

PostgresML Tutorial: Doing Machine Learning With SQL

  1. Wählen Sie die kostenlose Stufe aus, die großzügige Ressourcen bietet:

PostgresML Tutorial: Doing Machine Learning With SQL

Nach der Anmeldung zugreifen Sie auf Ihre Postgresml -Konsole, um Projekte und Ressourcen zu verwalten.

PostgresML Tutorial: Doing Machine Learning With SQL

Mit dem Abschnitt "Verwalten" können Sie Ihre Umgebung basierend auf den Rechenanforderungen skalieren.

PostgresML Tutorial: Doing Machine Learning With SQL

1. Installieren und Einrichten von Postgres

postgresml erfordert PostgreSQL. Installationsführer für verschiedene Plattformen sind verfügbar:

  • Windows
  • Mac OS
  • Linux

Für WSL2 reicht die folgenden Befehle aus:

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

Überprüfen Sie die Installation:

psql --version

Für eine benutzerfreundlichere Erfahrung als das Terminal die VSCODE-Erweiterung berücksichtigen.

PostgresML Tutorial: Doing Machine Learning With SQL

2. Datenbankverbindung

Verwenden Sie die Verbindungsdetails in Ihrer Postgresml -Konsole:

PostgresML Tutorial: Doing Machine Learning With SQL

Verbinden Sie mit psql:

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

Verwenden Sie alternativ die VSCODE -Erweiterung wie in ihrer Dokumentation beschrieben.

Aktivieren Sie die PGML -Erweiterung:

CREATE EXTENSION IF NOT EXISTS pgml;

Überprüfen Sie die Installation:

SELECT pgml.version();

3. Datenladen

Wir werden den Diamonds -Datensatz von Kaggle verwenden. Laden Sie es als CSV herunter oder verwenden Sie diesen Python -Snippet:

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

Erstellen Sie die Tabelle:

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
);

Populate die Tabelle:

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

Überprüfen Sie die Daten:

SELECT * FROM diamonds LIMIT 10;

PostgresML Tutorial: Doing Machine Learning With SQL

4. Modelltraining

Grundausbildung

trainieren Sie einen Xgboost -Regressor:

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

trainieren Sie einen Klassifikator mit mehreren Klassen:

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

Vorverarbeitung

trainieren Sie ein zufälliges Waldmodell mit Vorverarbeitung:

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 bietet verschiedene Vorverarbeitungsoptionen (Codierung, Imputierung, Skalierung).

Angabe von Hyperparametern

trainieren Sie einen Xgboost -Regressor mit benutzerdefinierten Hyperparametern:

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

Hyperparameter -Tuning

Führen Sie eine Gittersuche durch:

psql --version

5. Modellbewertung

Verwenden Sie pgml.predict für Vorhersagen:

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

Um ein bestimmtes Modell zu verwenden, geben Sie seine ID an:

CREATE EXTENSION IF NOT EXISTS pgml;

Modell -IDs abrufen:

SELECT pgml.version();

6. Modellbereitstellung

postgresml bereitet automatisch das BEST-Performing-Modell bereit. Verwenden Sie für eine feinere Kontrolle pgml.deploy:

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

Bereitstellungsstrategien umfassen best_score, most_recent und rollback.

Weitere Erforschung von PostgreSml

postgresml erstreckt sich über das überwachte Lernen hinaus. Die Homepage verfügt über einen SQL -Editor zum Experimentieren. Der Aufbau eines ML-Dienstes mit Verbrauchern kann:

beinhalten
  1. Erstellen einer Benutzeroberfläche (z. B. mit Streamlit oder Taipy).
  2. Entwickeln eines Backends (Python, Node.js).
  3. Verwenden von Bibliotheken wie psycopg2 oder pg-promise für die Datenbankinteraktion.
  4. Daten im Backend Vorverarbeitungsdaten.
  5. Auslösen pgml.predict bei der Benutzerinteraktion.

Schlussfolgerung

postgresml bietet einen neuartigen Ansatz zum maschinellen Lernen. Um Ihr Verständnis zu fördern, erkunden Sie die Postgresml -Dokumentation und berücksichtigen Sie Ressourcen wie die SQL -Kurse und KI -Grundlagen von DataCamp.

Das obige ist der detaillierte Inhalt vonPostgresml Tutorial: maschinelles Lernen mit SQL machen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn