2.2 Oracle Machine Learning for Pythonの利点
OML4Pyを使用して、Oracleデータベース内のデータまたはOracleデータベースを介してアクセス可能なデータを準備して分析することは、Pythonユーザーにとって多くの利点があります。
OML4Pyでは、次のことができます。
-
SQLを使用せずにデータベース・データを操作
OML4Pyは、多くの標準Python関数をSQLに透過的に変換します。OML4Pyを使用すると、データベースに常駐するデータに対するアクセス、分析および操作を行うPythonプロキシ・オブジェクトを作成できます。OML4Pyでは、列索引、問合せの最適化、表のパーティション化およびデータベースの並列性を利用して、SQLを自動的に最適化できます。
OML4Pyでオーバーロードされた関数は、データベース内で実行するためのPandasデータ・フレームに対するものを含め、一般的に使用される多くのPython関数に使用できます。
-
一般的な機械学習タスクの自動化
オラクル社の先進の自動化された機械学習(AutoML)テクノロジを使用することで、データ・サイエンティストと機械学習の初級ユーザーの双方が、アルゴリズム選択と特徴選択や、モデルのチューニングと選択といった一般的な機械学習モデリング・タスクを自動化できます。これらのすべてにおいて、データベースのパラレル処理とスケーラビリティが利用されます。
関連項目: 自動化された機械学習について
-
データ移動の最小化
可能な場合は常にデータベースにデータを保持することによって、クライアントの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イメージおよび構造化データを使用できます。
-