sql >> データベース >  >> RDS >> PostgreSQL

pgpredict –PostgreSQLの予測分析

    収集したデータを分析し、そこから有用な情報を抽出できることがいかに重要であるかを私たちは皆理解しています。 2UDAはその方向への一歩であり、データの保存と管理(PostgreSQL)とデータのマイニングと分析(オレンジ)を統合することを目的としています。
    pgpredict は開発中のプロジェクトであり、すべてを一周させる次のステップになることを目指しています。データ(この場合はデータベースに保存されている)から始めて、最初に、専門のツールと方法でデータを分析できる専門家にデータへのアクセスを提供する必要があります。しかし、その後、たとえば、彼らが私たちにとって重要で有益な何かを解決できる予測モデルをトレーニングするとき、私たちがそれらを活用できるように、それらの結果を伝えることができる必要があります。これはまさにpgpredictが解決しようとしていることであり、効率的でリアルタイムの実行のためにデータベース内に直接予測モデルを展開します。

    このプロジェクトは2UDAの継続として開始されました。これにより、Orangeを使用してPostgreSQLデータベースに保存されているデータを処理できるようになりました。必要だったのは、トレーニングされた予測モデルをエクスポートし、それらを必要な場所(本番サーバーなど)に転送して展開する方法でした。そのため、プロジェクトは、モデルを.jsonファイルにエクスポートできるOrangeの拡張機能と、それらのモデルをロードして実行できるpostgresの拡張機能に分割されます。モデルはテキストファイルに保存されるため、バージョン管理システムで追跡できます。 json形式を使用すると、PostgreSQLのjson機能を利用して、読み込み後にデータベースに簡単に保存することもできます。

    現在、限られた数の予測モデルの実用的な実装が存在し、完全な最適化はまだ行われていません。しかし、それはすでに大きな期待を示しています。
    それをテストするために、いくつかの独立確率変数(年齢、賃金、訪問)と出力変数(使用済み)を含む1,000万行の架空の顧客のテーブルを生成しました。次に、オレンジを使用してテーブルをロードし、予測モデルを取得しました。 TABLESAMPLE(PostgreSQL 9.5の機能)を利用しているため、さまざまなパラメーターや設定を試してみると、(このテストよりもはるかに大きいデータでも)すばやく機能します。したがって、データサイエンティストは、さまざまなソリューションをインタラクティブに試し、それらを評価し、最終的に優れたモデルを考え出すことができます。次に、最終的なリッジ回帰モデルがエクスポートされ、データベースにロードされました。そこで、データベースに表示される新規顧客に費やされる金額をリアルタイムで予測できます。
    pgbenchを使用すると、テーブルから1人の顧客の既存の列を選択するのに必要な時間は、0.086ミリ秒でしたが、わずかに長いことがわかりました。独立変数を取得し、使用済みの値を予測するには:0.134ミリ秒。
    モデルの初期化が行われるため、10 ^6の顧客の消費量を予測するのに10^6倍の時間(134秒)はかかりません。初めて、その後再利用。したがって、実際には13.6秒かかり、約10倍高速になりました。
    これらの数値は、私のラップトップで、はるかに最適化される可能性のあるコードを使用した単純なモデルで取得されました。 pgpredictを一般に公開する準備ができたら、すぐにもっと厳密な評価を期待してください。しかし、今でも、展示された効率と使いやすさは、PostgreSQLを利用したデータウェアハウスの予測分析を探している潜在的なユーザーの大多数にとって大きな利点になると思います。


    1. Npgsqlを使用したEntityFramework6

    2. DB_ID()を使用して、SQLServerのデータベースのIDを返します

    3. SQL Server 2008のページング方法?

    4. Oracleでのグローバル一時テーブルの作成