Rumah >Peranti teknologi >AI >Tutorial Postgresml: Melakukan Pembelajaran Mesin dengan SQL
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.
pemuatan data
Preprocessing data
Selepas mendaftar, anda akan mengakses konsol PostgreSML anda untuk menguruskan projek dan sumber.
Bahagian "Mengurus" membolehkan anda skala persekitaran anda berdasarkan keperluan pengiraan.
Postgresml memerlukan PostgreSQL. Panduan pemasangan untuk pelbagai platform boleh didapati:
mac os
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 --version2. Sambungan pangkalan data
Gunakan butiran sambungan dari konsol postgresml anda:
Sebagai alternatif, gunakan sambungan vSCode seperti yang diterangkan dalam dokumentasinya.
psql
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();
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;
melatih pengelas pelbagai kelas:
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 );
sudo apt update sudo apt install postgresql postgresql-contrib sudo passwd postgres # Set a new Postgres password # Close and reopen your terminal
Lakukan carian grid:
psql --version
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();
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:
psycopg2
atau pg-promise
untuk interaksi pangkalan data. 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!