Rumah >Peranti teknologi >AI >Tutorial Postgresml: Melakukan Pembelajaran Mesin dengan SQL

Tutorial Postgresml: Melakukan Pembelajaran Mesin dengan SQL

Christopher Nolan
Christopher Nolanasal
2025-03-07 09:16:12252semak imbas

Trend semasa dalam pembelajaran mesin melibatkan pemindahan data ke persekitaran model untuk latihan. Walau bagaimanapun, bagaimana jika kita membalikkan proses ini? Memandangkan pangkalan data moden jauh lebih besar daripada model pembelajaran mesin, tidakkah lebih efisien untuk memindahkan model ke dataset?

Ini adalah konsep asas di sebalik PostgreSML - data kekal di lokasinya, dan anda membawa kod anda ke pangkalan data. Pendekatan terbalik kepada pembelajaran mesin menawarkan banyak kelebihan praktikal yang mencabar tanggapan konvensional mengenai "pangkalan data."

postgresml: gambaran keseluruhan dan kelebihannya

PostgreSML adalah platform pembelajaran mesin yang komprehensif yang dibina di atas pangkalan data PostgreSQL yang digunakan secara meluas. Ia memperkenalkan pendekatan novel yang disebut pembelajaran mesin "dalam-data", membolehkan anda melaksanakan pelbagai tugas ML dalam SQL tanpa memerlukan alat berasingan untuk setiap langkah.

PostgresML Tutorial: Doing Machine Learning With SQL

Walaupun kebaruannya yang relatif, Postgresml menawarkan beberapa manfaat utama:

  • in-data ML: Keretapi, menyebarkan, dan menjalankan model ML secara langsung dalam pangkalan data PostgreSQL anda. Ini menghapuskan keperluan pemindahan data yang berterusan antara pangkalan data dan rangka kerja ML luaran, meningkatkan kecekapan dan mengurangkan latensi.
  • SQL API: Leverages SQL untuk latihan, penalaan halus, dan menggunakan model pembelajaran mesin. Ini memudahkan aliran kerja untuk penganalisis data dan saintis kurang akrab dengan pelbagai rangka ML.
  • Model pra-terlatih: mengintegrasikan dengan lancar dengan Huggingface, memberikan akses kepada banyak model pra-terlatih seperti Llama, Falcon, Bert, dan Mistral. Penyesuaian dan fleksibiliti:
  • menyokong pelbagai algoritma dari Scikit-learn, XGBoost, LGBM, Pytorch, dan Tensorflow, yang membolehkan pelbagai tugas pembelajaran yang diselia secara langsung dalam pangkalan data. Integrasi Ekosistem
  • : Bekerja dengan mana-mana persekitaran yang menyokong postgres dan menawarkan SDK untuk pelbagai bahasa pengaturcaraan (JavaScript, Python, dan Rust sangat disokong dengan baik).
  • Tutorial ini akan menunjukkan ciri -ciri ini menggunakan aliran kerja pembelajaran mesin biasa:

PostgresML Tutorial: Doing Machine Learning With SQL pemuatan data

Preprocessing data

    Latihan Model
  1. HyperParameter Fine-penalaan
  2. Pengeluaran Pengeluaran
  3. Semua langkah ini akan dilakukan dalam pangkalan data Postgres. Mari kita mulakan!
  4. aliran kerja pembelajaran yang diselia lengkap dengan postgresml

Bermula: Postgresml Free Tier

  1. Buat akaun percuma di https://www.php.cn/link/3349958a3e56580d4e415da345703886 :

PostgresML Tutorial: Doing Machine Learning With SQL

    Pilih Tier Percuma, yang menawarkan sumber yang murah hati:

PostgresML Tutorial: Doing Machine Learning With SQL Selepas mendaftar, anda akan mengakses konsol PostgreSML anda untuk menguruskan projek dan sumber.

Bahagian "Mengurus" membolehkan anda skala persekitaran anda berdasarkan keperluan pengiraan. PostgresML Tutorial: Doing Machine Learning With SQL

1. Memasang dan Menyediakan Postgres

PostgresML Tutorial: Doing Machine Learning With SQL Postgresml memerlukan PostgreSQL. Panduan pemasangan untuk pelbagai platform boleh didapati:

Windows

mac os
  • Linux
  • Untuk WSL2, perintah berikut cukup:
  • Sahkan pemasangan:

Untuk pengalaman yang lebih mesra pengguna daripada terminal, pertimbangkan lanjutan vscode.
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo passwd postgres  # Set a new Postgres password
# Close and reopen your terminal

psql --version
2. Sambungan pangkalan data

Gunakan butiran sambungan dari konsol postgresml anda:

PostgresML Tutorial: Doing Machine Learning With SQL

Sambung menggunakan

:

Sebagai alternatif, gunakan sambungan vSCode seperti yang diterangkan dalam dokumentasinya. PostgresML Tutorial: Doing Machine Learning With SQL

Dayakan lanjutan PGML:

psql

Sahkan pemasangan:
psql -h "host" -U "username" -p 6432 -d "database_name"

3. Pemuatan data

Kami akan menggunakan dataset Diamonds dari Kaggle. Muat turunnya sebagai CSV atau gunakan coretan python ini:
CREATE EXTENSION IF NOT EXISTS pgml;

Buat jadual:
SELECT pgml.version();

mengisi jadual:

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

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

4. Latihan Model

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

melatih regressor xgboost:
SELECT * FROM diamonds LIMIT 10;

PostgresML Tutorial: Doing Machine Learning With SQL melatih pengelas pelbagai kelas:

preprocessing

Melatih model hutan rawak dengan pra -proses:

SELECT pgml.train(
 project_name => 'Diamond prices prediction',
 task => 'regression',
 relation_name => 'diamonds',
 y_column_name => 'price',
 algorithm => 'xgboost'
);
PostgreSml menyediakan pelbagai pilihan pra -proses (pengekodan, imputing, skala).

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

melatih regressor xgboost dengan hiperparameter tersuai:

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

HyperParameter Tuning

Lakukan carian grid:

psql --version

5. Penilaian Model

Gunakan pgml.predict untuk ramalan:

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

Untuk menggunakan model tertentu, tentukan IDnya:

CREATE EXTENSION IF NOT EXISTS pgml;

Ambil ID Model:

SELECT pgml.version();

6. Model Deployment

PostgreSml secara automatik menggunakan model yang terbaik. Untuk kawalan yang lebih baik, gunakan pgml.deploy:

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

strategi penempatan termasuk best_score, most_recent, dan rollback.

Penjelajahan lanjut Postgresml

Postgresml melangkaui pembelajaran yang diawasi. Laman web ini mempunyai editor SQL untuk percubaan. Membina perkhidmatan ML yang dihadapi pengguna mungkin melibatkan:

  1. Membuat antara muka pengguna (mis., Menggunakan Streamlit atau Taipy).
  2. Membangunkan backend (python, node.js).
  3. menggunakan perpustakaan seperti psycopg2 atau pg-promise untuk interaksi pangkalan data.
  4. data pra -proses di backend.
  5. mencetuskan pgml.predict apabila interaksi pengguna.

Kesimpulan

Postgresml menawarkan pendekatan baru untuk pembelajaran mesin. Untuk melanjutkan pemahaman anda, terokai dokumentasi PostgreSML dan pertimbangkan sumber seperti kursus SQL DataCamp dan tutorial Fundamental AI.

Atas ialah kandungan terperinci Tutorial Postgresml: Melakukan Pembelajaran Mesin dengan SQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn