2.2 Oracle Machine Learning for Pythonの利点

OML4Pyを使用して、Oracleデータベース内のデータまたはOracleデータベースを介してアクセス可能なデータを準備して分析することは、Pythonユーザーにとって多くの利点があります。

OML4Pyでは、次のことができます。

  • SQLを使用せずにデータベース・データを操作

    OML4Pyは、多くの標準Python関数をSQLに透過的に変換します。OML4Pyを使用すると、データベースに常駐するデータに対するアクセス、分析および操作を行うPythonプロキシ・オブジェクトを作成できます。OML4Pyでは、列索引、問合せの最適化、表のパーティション化およびデータベースの並列性を利用して、SQLを自動的に最適化できます。

    OML4Pyでオーバーロードされた関数は、データベース内で実行するためのPandasデータ・フレームに対するものを含め、一般的に使用される多くのPython関数に使用できます。

    関連項目: 使い慣れたPython関数および構文を使用したデータベース表およびビューの操作

  • 一般的な機械学習タスクの自動化

    オラクル社の先進の自動化された機械学習(AutoML)テクノロジを使用することで、データ・サイエンティストと機械学習の初級ユーザーの双方が、アルゴリズム選択と特徴選択や、モデルのチューニングと選択といった一般的な機械学習モデリング・タスクを自動化できます。これらのすべてにおいて、データベースのパラレル処理とスケーラビリティが利用されます。

    関連項目: 自動化された機械学習について

  • データ移動の最小化

    可能な場合は常にデータベースにデータを保持することによって、クライアントのPythonエンジンへのデータの転送にかかる時間およびデータをローカルに格納する必要性をなくします。また、ローカルに格納したデータの管理(データ・ファイルの適切な場所への配布、本番データベースで行われた変更とのデータの同期などのタスクが含まれます)を必要なくします。

    関連項目: データベースとPythonセッションの間のデータの移動について

  • データをセキュアに保持

    データをデータベースに保持することによって、データベースのセキュリティ、スケーラビリティ、信頼性およびバックアップの各機能をデータの管理に利用できます。

  • データベースの能力を使用

    データベース内のデータを直接操作することによって、データベースのメモリーおよび処理能力を使用でき、クライアントのPythonエンジンのメモリーの制約を回避できます。

  • 最新のデータを使用

    データはデータベースでリフレッシュされるため、最新のデータにただちにアクセスできます。

  • データベースのデータストアへのPythonオブジェクトの保存

    今後使用するため、および他のユーザーによる使用のために、PythonオブジェクトをOML4Pyデータストアに保存できます。

    関連項目: OML4Pyデータストアについて

  • ネイティブPythonモデルの構築とデータベースへの格納

    Embedded Python Executionを使用すると、ネイティブPythonモデルを構築し、それらをOML4Pyデータストアに格納して管理できます。

    デシジョン・ツリー・クラスoml.dtなどのomlクラスを使用して、データベース内モデルを構築することもできます。これらのデータベース内モデルには、実際のモデルを参照するプロキシ・オブジェクトがあります。Pythonの通常の動作に沿えば、Pythonエンジンが終了すると、モデルを含むすべてのインメモリー・オブジェクトが失われます。データベース接続が終了したときに、OML4Pyを使用して作成したデータベース内モデルが削除されないようにするには、そのプロキシ・オブジェクトをデータストアに格納する必要があります。

    関連項目: 機械学習のクラスとアルゴリズムについて

  • データのスコアリング

    ほとんどのOML4Py機械学習クラスでは、モデル・オブジェクトのpredictおよびpredict_probaメソッドを使用して新しいデータをスコアリングできます。

    これらのOML4Pyデータベース内モデルについては、データベース内で直接スコアリングするSQL PREDICTION関数をモデル・プロキシ・オブジェクトで使用することもできます。データを適切に準備すれば、データベース内モデルをSQLから直接使用できます。オープン・ソース・モデルについては、Embedded Python Executionを使用し、データ・パラレル実行を実現することでパフォーマンスとスケーラビリティを向上させることができます。

  • 埋込みPythonエンジンでのユーザー定義Python関数の実行

    OML4Py Embedded Python Executionを使用すると、ユーザー定義Python関数をOML4Pyスクリプト・リポジトリに格納し、データベース環境によって生成されたPythonエンジンでそれらの関数を実行できます。ユーザー定義Python関数が実行されると、パラレルに実行できる1つ以上のPythonエンジンがデータベースによって起動、制御および管理されます。Embedded Python Execution機能を使用すると、次のことができます。

    • 埋込みPythonエンジンで実行されるユーザー定義関数で、選択したPythonパッケージのセットを使用する

    • 埋込みPythonエンジンで実行されるユーザー定義Python関数で、他のPythonパッケージおよびサード・パーティ・パッケージを使用する

    • 本番アプリケーションで使用するためにユーザー定義Python関数を操作できるようにし、SQLおよびADB、RESTへのPythonコードおよびモデルの移植を回避する。Pythonの結果を既存のアプリケーションに統合するためにコードを作成しなおさなくても済みます

    • Oracleデータベースをユーザー定義Python関数の高パフォーマンス・コンピューティング環境としてシームレスに利用し、データ・パラレル処理とリソース管理を実現する

    • oml.index_apply関数を使用して、モンテカルロ分析などのパラレル・シミュレーションを実行する

    • PythonクライアントおよびSQLベースのアプリケーションで使用できる、構造化データとイメージ・データの両方のJSONイメージ、PNGイメージおよびXML表現を生成する。REST APIを使用するPythonクライアントおよびアプリケーションには、PNGイメージおよび構造化データを使用できます。

    関連項目: Embedded Python Executionについて