1 Oracle Data Minerシステムの概要

この章では、Oracle Data Minerと、Oracle Machine Learningのプログラム・インタフェースについて説明します。製品についてさらに学習するためのリソースへのリンクも示します。

1.1 Oracle Data Minerのアーキテクチャ

Oracle Data Minerは、Oracle SQL Developerの拡張機能であり、Oracle SQLのための統合された開発環境です。

Oracle Data Minerは、Oracle Databaseに組み込まれた機械学習テクノロジを使用して、機械学習プロセスのステップと操作を視覚的に表示およびカプセル化するワークフローの作成、実行および管理を行います。ODMRSYSスキーマを専用のシステム・リポジトリとして使用します。

Oracle Data Minerのアーキテクチャを、図1-1に図式します

図1-1 Oracle Data Minerのアーキテクチャ

Oracle Data Minerのアーキテクチャ

1.2 Oracle Data Minerリポジトリについて

Oracle Data Minerでは、ODMRSYSスキーマに存在するリポジトリをデータベース・サーバーにインストールする必要があります。Oracle Data Minerユーザーには、ODMRSYSのオブジェクトにアクセスできる権限が必要です。

Oracle Data Minerリポジトリは、次のものを管理します。
  • 記憶域: リポジトリには、このデータベースへの接続を確立したOracle Data Minerユーザーすべてのプロジェクトとワークフローが格納されます。

  • ランタイム関数: リポジトリは、Oracle Data Minerのアプリケーション層です。ワークフローと、他のランタイム操作の実行を制御します。

1.3 Oracle Data Minerで使用されるDatabaseの機能

Oracle Data Minerは、Oracle Machine Learning for SQL、Oracle XML DB、オプションでOracle Machine Learning for Rなど、複数のOracle Databaseの機能を使用します。

Oracle Data Minerは、Oracle Databaseの次の機能を使用します。

  • Oracle Machine Learning: Oracle Data Minerのモデル構築、テストおよびスコアリングの各機能を提供します。

  • Oracle XML DB: Oracle Data Minerリポジトリのメタデータを管理します。

  • Oracle Text: モデリング・プロセスと統合されたテキスト・マイニングをサポートします。

  • Oracle Scheduler: Oracle Data Minerワークフローをスケジュールするためのエンジンを提供します。

  • Oracle Machine Learning for R: 埋込みRの実行を使用してユーザー定義のR関数を実行します。

ノート:

Oracle Machine Learning for Rを除き、これらの機能はすべてデフォルトでOracle Database Enterprise Editionに含まれています。Oracle Machine Learning for Rには、追加のインストール・ステップが必要です。

1.4 Oracle Data MinerおよびOracle Machine Learning

Oracle Data Minerは、SQL Developerを介して利用可能なOracle Machine Learningのグラフィカル・ユーザー・インタフェース(GUI)であり、データベース内機械学習機能を使用します。

Oracle Data Minerは、コンポーネントOracle SQL Developerです。

Oracle Machine Learningのコンポーネント:

  • Oracle Machine Learning (Oracle Data Minerで必須)

    Oracle Machine Learningは、Oracle Databaseカーネルに組み込まれた強力な機械学習エンジンです。Oracle Machine Learningでは、分類、回帰、クラスタリング、特徴選択、関連付け(マーケット・バスケット分析)など、複数の手法を対象としたアルゴリズムがサポートされています。Oracle Machine Learning for SQLのPL/SQL Application Programming Interface (API)は、データの準備を実行し、マイニング・モデルを作成、評価および保守します。データベース内機械学習モデルを使用したデータのスコアリングをサポートするSQLファンクション。

  • Oracle Machine Learning for R (Oracle Data Minerで必須ではない)

    Oracle Data Minerは、Oracle Machine Learning for Rを限定的にサポートします。ユーザーが、Oracle Data MinerのSQL問合せノードに埋込みRの実行を含むユーザー定義のR関数を指定した場合、Oracle Data MinerはOracle Machine Learning for Rを使用してその関数を実行します。

1.5 Oracle Machine Learning APIについて

Oracle Data Minerは、Oracle DatabaseおよびOracle Autonomous DatabaseでOracle Machine Learning APIを使用するアプリケーションです。また、Oracle Data Minerを使用して作成されたモデルは、より広範なOracle Machine Learning APIを介して操作および使用できます。

このAPIは公開されているので、直接アプリケーション開発に利用することができます。このAPIは、次のトピックでまとめています。

1.5.1 Oracle Machine LearningのPL/SQLパッケージ

PL/SQL APIは、ファーストクラス・データベース・スキーマ・オブジェクトである機械学習モデルを操作します。

表1-1に、PL/SQLパッケージとその説明をリストします。

表1-1 Oracle Machine LearningのPL/SQLパッケージ

パッケージ 説明

DBMS_DATA_MINING

マイニング・モデルを管理するDDLプロシージャ。

マイニング・モデルの設定。

マイニング・モデル、機械学習モデルを問い合せるファンクション、およびバッチ・スコアリングに使用するAPPLYプロシージャをテストするプロシージャ。

DBMS_DATA_MINING_TRANSFORM

変換式を指定し、データの列に変換を適用するプロシージャ。

変換は、モデル構築プロセスに渡して、モデル定義に組み込まれるか、外部のデータ・ビューに適用することができます。

DBMS_PREDICTIVE_ANALYTICS

ユーザー作成の機械学習モデルを使用せずに予測、説明、プロファイル操作を実行するプロシージャ。

ノート:

DBMS_PREDICTIVE_ANALYTICSパッケージにおける機械学習操作は、Oracle Data Minerのコード・スニペットで使用できます。

1.5.2 Oracle Machine LearningのSQLスコアリング・ファンクション

特殊化した一連のSQLファンクションには、Oracle Machine Learningでデータをスコアリングする主要なメカニズムが用意されています。単一行のファンクションとして呼び出した場合、Machine LearningのSQLファンクションはユーザー指定のマイニング・モデルを入力データの各行に適用します。

Oracle Database 12c以降では、ファンクションを分析ファンクションとして呼び出すこともでき、アルゴリズム処理はユーザー指定のマイニング・モデルを使用せず動的に実行されます。予測問合せという用語は、このモードのスコアリングを意味しています。

表1-2 Machine LearningのSQLスコアリング・ファンクション

関数名 関数の説明

CLUSTER_DETAILS

入力データの各行についてクラスタ詳細を戻す。

CLUSTER_DISTANCE

各行と重心との距離を戻す。

CLUSTER_ID

各行について最も確率の高いクラスタのIDを戻す。

CLUSTER_PROBABILITY

各行について最も確率の高いクラスタを戻す。

CLUSTER_SET

各行について一連のクラスタIDとその確率とのペアを戻す。

FEATURE_COMPARE キーワード・フレーズなどの短いものを含む2つの異なるドキュメントまたは2つの属性リストを比較して、類似点または相違点を調べる。

FEATURE_DETAILS

各行について一連のファンクションと値のペアを戻す。

FEATURE_ID

入力データの各行について機能の詳細を戻す。

FEATURE_SET

各行について一連の機能IDと機能値とのペアを戻す。

FEATURE_VALUE

各行について最も値の大きい機能の値を戻す。

PREDICTION

入力の各行について予測を戻す。

PREDICTION_BOUNDS

各行について予測の上限と下限を戻す(GLMのみ)。

PREDICTION_COST

各行のコストを戻す。

PREDICTION_DETAILS

各行について予測の詳細を戻す。

PREDICTION_PROBABILITY

各予測の確率を戻す。

PREDICTION_SET

各行について、確率の予測またはコストを戻す。

ノート:

SQLスコアリング・ファンクションは、Oracle Data Minerのコード・スニペットで使用できます。

1.5.3 Oracle Machine Learningのデータ・ディクショナリ・ビュー

データ・ディクショナリ・ビューは、Oracle Databaseシステム・カタログに機械学習モデルに関する情報を格納します。すべてのビューは、DBA、USERおよびALLアクセス権で使用できます。

表1-3に、Oracle Machine Learningのデータ・ディクショナリ・ビューとその説明をリストします。

表1-3 Oracle Machine Learningのデータ・ディクショナリ・ビュー

ビュー名 説明

ALL_MINING_MODELS

アクセス可能なすべての機械学習モデルに関する情報を示します

ALL_MINING_MODEL_ATTRIBUTES

アクセス可能なすべての機械学習モデルの属性に関する情報を示します

ALL_MINING_MODEL_SETTINGS

アクセス可能なすべての機械学習モデルの設定に関する情報を示します

ALL_MINING_MODEL_PARTITIONS ユーザーがアクセスできるすべてのモデル・パーティションを提供する。
ALL_MINING_MODEL_VIEWS ユーザー独自のモデル・ビューの説明を示す。このビューの列はOWNERを除き、ALL_MINING_MODEL_VIEWSの列と同じである。
ALL_MINING_MODEL_XFORMS ユーザーがアクセスできるすべてのモデルに埋め込まれたユーザー指定変換を提供する。

1.6 Oracle Data Minerの詳細を知るためのリソース

この項では、Oacle Data Minerのドキュメント、フォーラム、ブログ、トレーニング、チュートリアルなどのリソースを示します。