機械学習の一般的な傾向には、トレーニングのためにモデルの環境にデータを転送することが含まれます。 しかし、このプロセスを逆転させた場合はどうなりますか?最新のデータベースが機械学習モデルよりも大幅に大きいことを考えると、モデルをデータセットに移動する方が効率的ではないでしょうか?
これはPostgreSMLの背後にある基本的な概念です。データはその場所に残り、データベースにコードを持ち込みます。機械学習へのこの逆のアプローチは、「データベース」の従来の概念に挑戦する多くの実用的な利点を提供します。 postgreSml:概要とその利点PostgreSMLは、広く使用されているPostgreSQLデータベースに基づいて構築された包括的な機械学習プラットフォームです。 「database in in-database」機械学習と呼ばれる新しいアプローチを導入し、各ステップに個別のツールを必要とせずにSQL内でさまざまなMLタスクを実行できるようにします。
その比較的新規性にもかかわらず、PostgreSMLはいくつかの重要な利点を提供します:
モデルトレーニング
HyperParameter微調整
サインアップ後、プロジェクトとリソースを管理するためにPostgreSMLコンソールにアクセスします。
1。 postgresのインストールとセットアップ
windows
インストールを確認します:
sudo apt update sudo apt install postgresql postgresql-contrib sudo passwd postgres # Set a new Postgres password # Close and reopen your terminal
端末よりもユーザーフレンドリーなエクスペリエンスについては、vscode拡張機能を検討してください。
psql --version
2。データベース接続
postgreSMLコンソールの接続の詳細を使用してください:
を使用して接続します:
PGML拡張子を有効にします:psql
psql -h "host" -U "username" -p 6432 -d "database_name"
3。データの読み込み
CREATE EXTENSION IF NOT EXISTS pgml;
SELECT pgml.version();
テーブルに入力します:
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 );
INSERT INTO diamonds (carat, cut, color, clarity, depth, table_, price, x, y, z) FROM '~/full/path/to/diamonds.csv' DELIMITER ',' CSV HEADER;
4。モデルトレーニング
SELECT * FROM diamonds LIMIT 10;
XGBoost Regressorをトレーニングします:
前処理
SELECT pgml.train( project_name => 'Diamond prices prediction', task => 'regression', relation_name => 'diamonds', y_column_name => 'price', algorithm => 'xgboost' );
SELECT pgml.train( project_name => 'Diamond cut quality prediction', task => 'classification', relation_name => 'diamonds', y_column_name => 'cut', algorithm => 'xgboost', test_size => 0.1 );
カスタムハイパーパラメーターを使用してXGBoost Regressorをトレーニングします:
sudo apt update sudo apt install postgresql postgresql-contrib sudo passwd postgres # Set a new Postgres password # Close and reopen your terminal
psql --version
予測にはpgml.predict
を使用してください:
psql -h "host" -U "username" -p 6432 -d "database_name"
特定のモデルを使用するには、そのIDを指定します:
CREATE EXTENSION IF NOT EXISTS pgml;
モデルIDを取得:
SELECT pgml.version();
PostgreSMLは、最高のパフォーマンスモデルを自動的に展開します。 より細かい制御の場合は、pgml.deploy
:
import seaborn as sns diamonds = sns.load_dataset("diamonds") diamonds.to_csv("diamonds.csv", index=False)
展開戦略には、best_score
、most_recent
、rollback
。
postgresml
のさらなる調査postgreSmlは、監視された学習を超えて拡張されます。ホームページには、実験用のSQLエディターがあります。 消費者向けのMLサービスを構築するには、
に関係する場合がありますpsycopg2
バックエンドでのプリプロセシングデータ。pg-promise
ユーザーインタラクション時にpgml.predict
PostgreSMLは、機械学習への新しいアプローチを提供します。 理解を深めるために、PostgreSMLドキュメントを調べて、DataCampのSQLコースやAIファンダメンタルチュートリアルなどのリソースを検討してください。
以上がPostgreSMLチュートリアル:SQLで機械学習を行うの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。