29 データ・マイニングのサンプル・プログラム
Oracle Databaseに付属しているデータ・マイニング・サンプル・プログラムについて説明します。
29.1 データ・マイニングのサンプル・プログラムについて
データ・マイニングのサンプル・プログラムから、Oracle Data Miningアプリケーション・プログラミング・インタフェース(API)について多くを学ぶことができます。これらのプログラムは、データの準備、アルゴリズムの選択、アルゴリズムのチューニング、テストおよびスコアリングを行うための一般的な方法を示しています。
プログラムは簡単に使用できます。プログラムには、コードの理解に役立つインライン・コメントが多数含まれています。プログラムの終了時にはすべての一時オブジェクトが削除されますので、セットアップやクリーンアップなしでプログラムを繰り返し実行できます。
データ・マイニングのサンプル・プログラムは、Oracle Database Examplesを使用して、Oracleホームのデモ・ディレクトリにインストールされます。デモ・ディレクトリには、Oracle Databaseの様々な機能を示すサンプル・プログラムが含まれています。データ・マイニングのファイルは、dm*.sql
のディレクトリ・リスティングを実行することで検出できます。次の例は、Linuxシステムにおけるディレクトリ・リスティングを示しています。
次の例のディレクトリ・リスティングには、dmhpdemo.sql
というデータ・マイニング・プログラムではないファイルが1つ含まれていることに注目してください。
例29-1 データ・マイニングのサンプル・プログラムのディレクトリ・リスティング
> cd $ORACLE_HOME/rdbms/demo > ls dm*.sql dmaidemo.sql dmkmdemo.sql dmsvddemo.sql dmardemo.sql dmnbdemo.sql dmsvodem.sql dmdtdemo.sql dmnmdemo.sql dmsvrdem.sql dmdtxvlddemo.sql dmocdemo.sql dmtxtnmf.sql dmemdemo.sql dmsh.sql dmtxtsvm.sql dmglcdem.sql dmshgrants.sql dmglrdem.sql dmstardemo.sql dmhpdemo.sql dmsvcdem.sql
データ・マイニングのサンプル・プログラムは、ユーザー・スキーマ内のマイニング・モデルのセットを作成します。プログラムの実行後、次の例に示すような問合せを使用してモデルをリストできます。
例29-2 サンプル・プログラムで作成されたモデル
SELECT mining_function, algorithm, model_name FROM user_mining_models ORDER BY mining_function; MINING_FUNCTION ALGORITHM MODEL_NAME ------------------------------ ------------------------------ ------------------- ASSOCIATION_RULES APRIORI_ASSOCIATION_RULES AR_SH_SAMPLE CLASSIFICATION GENERALIZED_LINEAR_MODEL GLMC_SH_CLAS_SAMPLE CLASSIFICATION SUPPORT_VECTOR_MACHINES T_SVM_CLAS_SAMPLE CLASSIFICATION SUPPORT_VECTOR_MACHINES SVMC_SH_CLAS_SAMPLE CLASSIFICATION SUPPORT_VECTOR_MACHINES SVMO_SH_CLAS_SAMPLE CLASSIFICATION NAIVE_BAYES NB_SH_CLAS_SAMPLE CLASSIFICATION DECISION_TREE DT_SH_CLAS_SAMPLE CLUSTERING EXPECTATION_MAXIMIZATION EM_SH_CLUS_SAMPLE CLUSTERING O_CLUSTER OC_SH_CLUS_SAMPLE CLUSTERING KMEANS KM_SH_CLUS_SAMPLE CLUSTERING KMEANS DM_STAR_CLUSTER FEATURE_EXTRACTION SINGULAR_VALUE_DECOMP SVD_SH_SAMPLE FEATURE_EXTRACTION NONNEGATIVE_MATRIX_FACTOR NMF_SH_SAMPLE FEATURE_EXTRACTION NONNEGATIVE_MATRIX_FACTOR T_NMF_SAMPLE REGRESSION SUPPORT_VECTOR_MACHINES SVMR_SH_REGR_SAMPLE REGRESSION GENERALIZED_LINEAR_MODEL GLMR_SH_REGR_SAMPLE
29.2 データ・マイニングのサンプル・プログラムのインストール
データ・マイニングのサンプル・プログラムのインストール方法について説明します。
次の手順に従って、データ・マイニングのサンプル・プログラムをインストールします。
-
Oracle Database 12c Enterprise EditionとAdvanced Analyticsオプションをインストールするか、またはこれらへのアクセスを取得します。データベースをインストールするには、
Oracle Database 12c リリース2
でご使用のプラットフォームのインストール手順を参照してください。 -
データベースにサンプル・スキーマがインストールされていることを確認します。サンプル・スキーマは、デフォルトでOracle Databaseとともにインストールされます。サンプル・スキーマの詳細は、Oracle Databaseのサンプル・スキーマを参照してください。
-
Oracle Database Examplesがデータベースとともにインストールされていることを確認するか、またはOracle Database Examplesをローカルにインストールします。Oracle Database Examplesは、データベースのサンプル・プログラムをOracleホームの
rdbms/demo
ディレクトリにロードします。インストール手順については、Oracle Database Examplesのインストレーション・ガイドを参照してください。 -
データ・マイニングのユーザー・アカウントが作成されていることを確認するか、管理権限を所有している場合は、独自にデータ・マイニングのユーザー・アカウントを作成します。「データ・マイニング・ユーザーの作成」を参照してください。
-
システム管理者に依頼して
dmshgrants.sql
を実行するか、管理権限を持っている場合は自分で実行します。dmshgrants
によって、サンプル・プログラムを実行するために必要な権限が付与されます。これらには、「データ・マイニングのサンプル・データ」で説明されているSH
スキーマの表に対するSELECT
アクセス権と、次の表にリストされているシステム権限が含まれます。データ・マイニング・ユーザーの名前を
dmshgrants
に渡します。SQL> CONNECT sys / as sysdba Enter password: sys_password Connected. SQL> @ $ORACLE_HOME/rdbms/demo/dmshgrants dmuser
表29-1 dmshgrants.sqlによってデータ・マイニング・ユーザーに付与されるシステム権限
権限 データ・マイニング・ユーザーに許可される操作 CREATE SESSION
データベース・セッションへのログイン
CREATE TABLE
表(
CREATE_MODEL
用の設定表など)の作成CREATE VIEW
ビュー(
SH
スキーマの表のビューなど)の作成CREATE MINING MODEL
データ・マイニング・モデルの作成
EXECUTE ON ctxsys.ctx_ddl
ctxsys.ctx_ddl
PL/SQLパッケージのプロシージャの実行(テキスト・マイニングには必須) -
データ・マイニング・ユーザーとしてデータベースへ接続し、
dmsh.sql
を実行します。このスクリプトは、データ・マイニング・ユーザーのスキーマ内のサンプル・データのビューを作成します。SQL> CONNECT dmuser Enter password: dmuser_password Connected. SQL> @ $ORACLE_HOME/rdbms/demo/dmsh
29.3 データ・マイニングのサンプル・データ
データ・マイニングのサンプル・プログラムで使用されるデータは、SH
スキーマの次の表に基づいています。
SH.CUSTOMERS SH.SALES SH.PRODUCTS SH.SUPPLEMENTARY_DEMOGRAPHICS SH.COUNTRIES
dmshgrants
スクリプトは、SH
の表にSELECT
アクセス権を付与します。dmsh.sql
スクリプトは、データ・マイニング・ユーザーのスキーマ内のSH
表のビューを作成します。各ビューについて、次の表で説明します。
表29-2 データ・マイニングのサンプル・データ
ビュー名 | 説明 |
---|---|
|
データの結合とフィルタリング |
|
モデルの作成用のデータ |
|
モデルのテスト用のデータ |
|
スコアリング対象のデータ |
|
テキストを含むモデルの作成用のデータ |
|
テキストを含むモデルのテスト用のデータ |
|
スコアリング対象となる、テキスト列を含むデータ |
|
異常検出用のデータ |
相関ルール・プログラムは、独自のトランザクショナル・データを作成します。