この章では、Oracle Data Miningの使用を開始する際に必要となる基本事項を紹介します。
この章には、次の項が含まれます。
Oracle Data Miningを導入すると、Oracle Database内に総合的な最新のデータ・マイニング機能が提供されます。
Oracle Data MiningはOracle Databaseカーネル内に実装され、マイニング・モデルは最初のクラスのデータベース・オブジェクトとなります。Oracle Data Miningのプロセスでは、Oracle Databaseの組込み機能を使用して、スケーラビリティを最大化し、システム・リソースを効率的に利用します。
Oracle Database内でデータ・マイニングを行うと、次のような多くの利点があります。
データの移動が不要。一部のデータ・マイニング製品では、データを企業のデータベースからエクスポートして、マイニング用に特別な形式へと変換する必要があります。Oracle Data Miningを使用すると、データを移動したり変換したりする必要がなくなります。このためマイニング・プロセスは簡略化され、作業時間が短縮されて、エラーの発生頻度も抑えられます。
セキュリティ機能。データはOracle Databaseの広範なセキュリティ・メカニズムで保護されます。さらに、データ・マイニングの様々なアクティビティには特定のデータベース権限が必要となります。適切な権限を持つユーザーのみがマイニング・モデルをスコアリング(適用)できます。
データの準備と管理。ほとんどのデータは、マイニング前に様々な方法での整備、フィルタリング、正規化、サンプリング、変換を必要とします。データ・マイニング・プロジェクトでの取組みのうち、その8割がデータの準備に費やされることもよくあります。Oracle Data Miningでは、データ準備プロセスの主要な手順が自動的に管理されます。また、Oracle Databaseでも、データ準備および管理用の豊富な管理ツール群が提供されています。
データ・リフレッシュの容易性。Oracle Database内におけるマイニング・プロセスでは、リフレッシュ済データへのアクセスが即座に実施されます。Oracle Data Miningでは現在のデータに基づくマイニング結果を容易に提示できるので、最もタイムリで妥当性の高い結果が得られます。
Oracle Databaseの分析機能。Oracle Databaseには、高度な分析やビジネス・インテリジェンス用の機能が多数用意されています。Oracle Data Miningは、統計的分析やOLAPなど、データベースの他の分析機能と簡単に統合できます。「Oracle Data MiningおよびOracle Databaseの分析機能」を参照してください。
オラクル・テクノロジの集積。オラクル社に集積されたテクノロジのあらゆる側面を利用して、ビジネス・インテリジェンスや科学調査といった、より大規模なフレームワーク内に、データ・マイニングを統合できます。
ドメイン環境。データ・マイニング・モデルは、適切なアプリケーション・ドメイン環境で作成、テスト、検証、管理および配置する必要があります。データ・マイニングの結果には、永続リポジトリまたはデータ・ウェアハウスへ格納する前に、ドメイン固有の計算(推定リスクや反応確率の計算など)の一部として後処理を必要とするものもあります。Oracle Data Miningを使用すると、マイニング・アクティビティの前処理および後処理をすべて同じ環境で実行できます。
アプリケーション・プログラム・インタフェース。Oracle Database内のOracle Data Mining機能には、PL/SQL APIおよびSQL言語の演算子を利用して直接アクセスできます。
スコアリングとは、データ・マイニング・モデルをデータに適用して予測を生成するプロセスのことです。スコアリング・プロセスには、システム・リソースがかなり必要になることがあります。状況によっては、膨大な量のデータが関係するため、アルゴリズムの処理は非常に複雑になります。
Oracle Data Miningでは、処理が非常に高速でインテリジェントなOracle Exadata Storage Serverにスコアリングの負荷を移行できます。
Oracle Exadata Storage Serverは、オラクル社の高性能なストレージ・ソフトウェアとオラクル社の業界標準仕様のSunハードウェアを組み合せて、業界最高レベルのデータベース・ストレージ・パフォーマンスを実現します。Oracle Exadataの詳細は、次のURLでOracle Technology Networkを参照してください。
http://www.oracle.com/us/products/database/exadata/index.htm
Oracle Data Miningの使用にあたっては、データ・マイニングの機能およびアルゴリズムに関する基礎的な理解が必要です。この項では、データ・マイニングの機能の概念を紹介します。アルゴリズムについては、「データ・マイニングのアルゴリズム」の項で紹介します。
データ・マイニングの各機能は、モデル化や解決の対象となり得る問題の種類を表しています。データ・マイニング機能は、一般に監視ありと監視なしの2つのカテゴリに分けられます。監視あり学習、監視なし学習という概念は、人工知能の1分野といわれる機械学習学に由来しています。
人工知能とは、自身の知能や動作を自主的に提示するシステムの実装や研究を指します。機械学習においては、デバイスが自身のパフォーマンスから学習して、自身の機能を変更できるようにする技術が扱われます。データ・マイニングでは機械学習の概念がデータに適用されます。
監視あり学習は、指示あり学習とも呼ばれます。この種の学習プロセスは、既知である従属属性またはターゲットからの指示を受けます。指示ありデータ・マイニングでは、ターゲットの動作を一連の独立属性や予測子の機能として説明するように試みられます。
監視あり学習は、通常、予測モデルに帰着します。パターン検出を目的とする監視なし学習とは、この点が異なります。
監視ありモデルでは、トレーニング作業(ソフトウェアがターゲット値がすでにわかっている多くのケースを分析するプロセス)が伴います。トレーニング・プロセスでは、モデルが予測を作成するロジックを「学習」します。たとえば、プロモーションに反応する可能性が高い顧客を識別するモデルの場合、過去にプロモーションに反応を示した、または反応を示さなかったことがわかっている多くの顧客の特徴を分析してトレーニングする必要があります。
予測モデルの作成(トレーニング)とテストには、別々のデータセットが必要です。作成データ(トレーニング・データ)とテスト・データは同じ列構造である必要があります。通常は、1つの大規模な表またはビューを2つのデータセットに分割し、1つをモデルの作成用、もう1つをモデルのテスト用とします。
モデルをテスト・データに適用するプロセスは、選択した1つのサンプル上で作成されたモデルが、他のデータに一般化できるかどうかを決定するのに役立ちます特に、モデルのロジックが作成データと高い確率で一致するため、予測能力がわずかになってしまうオーバーフィットの現象を回避するのに役立ちます。
適用データはスコアリング・データとも呼ばれ、モデルの適用対象となる実際の母集団のことを指します。例として、特定の製品を頻繁に購入する顧客の特性を識別するモデルを作成する場合について考えてみます。特定の店舗で買い物をする顧客のうち関連製品を購入する可能性がある顧客の一覧を取得するために、このモデルを当該店舗の顧客データに適用するとします。この場合、店舗の顧客データがスコアリング・データとなります。
監視あり学習のほとんどは、対象とする母集団に適用できます。スコアリングは、分類モデルおよび回帰モデルの目的であり、主要な監視ありマイニング手法です。
Oracle Data Miningでは、もう1つの監視あり機能である属性評価のスコアリング操作はサポートしていません。このタイプのモデルは、対象とする母集団に基づいて作成され、その母集団に関する情報を取得するため、別個のデータには適用できません。属性評価モデルでは、ターゲット値の予測において最も重要な属性が戻され、ランク付けされます。
監視なし学習は、有向ではありません。従属属性と独立属性は区別されません。モデルを作成する際にアルゴリズムをガイドするための既知の結果がありません。
監視なし学習は、記述目的で使用できます。また、予測の作成にも使用できます。
監視なしデータ・マイニングはターゲットを指定しませんが、ほとんどの監視なし学習は対象とする母集団に適用できます。たとえば、クラスタリング・モデルは記述データ・マイニングの手法を使用しますが、クラスタの割当てに従ってケースを分類するために適用できます。異常検出は監視なしですが、通常は、あるデータ・ポイントが一連のケース内で典型的かどうかを予測するために使用されます。
Oracle Data Miningでは、クラスタリングおよび特徴 抽出(いずれも監視なしマイニング機能)のスコアリング操作をサポートしています。もう1つの監視なし機能である相関ルールのスコアリング操作はサポートしていません。相関モデルは、特定の母集団に関する情報を取得するためにその母集団に基づいて作成されるため、別個のデータには適用できません。相関モデルでは、項目またはイベントが互いにどのように関連付けられるのかを説明するルールが戻されます。相関ルールは統計とともに戻され、この統計を使用して確率に従ってランク付けされます。
Oracle Data Miningでは、表2-1に示す監視ありデータ・マイニング機能がサポートされます。
表2-1 Oracle Data Miningの監視あり機能
機能 | 説明 | サンプル・プログラム |
---|---|---|
ターゲット属性の予測において最も重要な属性を識別する。 |
提携カード・プログラムに対する顧客の反応を指定し、最も重要な予測子を検出する。 |
|
個々のクラスに項目を割り当て、ある項目が属するクラスを予測する。 |
1群の顧客に関する人口統計データを指定し、提携カード・プログラムに対する顧客の反応を予測する。 |
|
連続する値を近似および予測する。 |
1群の顧客に関する人口統計データおよび購入データを指定し、顧客の年齢を予測する。 |
Oracle Data Miningでは、表2-2に示す監視なし機能がサポートされます。
表2-2 Oracle Data Miningの監視なし機能
機能 | 説明 | サンプル・プログラム |
---|---|---|
「通常の」データの特徴に合致しない項目(外れ値)を識別する。 |
1群の顧客に関する人口統計データを指定し、顧客の基準から大きく外れる購買行動を識別する。 |
|
データ内で同時発生する傾向にある項目を検出し、その同時発生の原則となるルールを特定する。 |
一緒に購入される傾向にある項目群を検出し、その関係性を特定する。 |
|
データ内で自然なグループを検出する。 |
人口統計データを複数のクラスタに分割し、ある個人が特定のクラスタに属する確率をランク付けする。 |
|
1群の顧客に関する人口統計データを指定し、顧客の一般的な特徴別に属性をグループ分けする。 |
アルゴリズムとは、特定の種類の問題を解決するための数学的手続きです。Oracle Data Miningでは、各データ・マイニング機能について少なくとも1つのアルゴリズムがサポートされています。一部の機能では、複数のアルゴリズムから選択することも可能です。たとえば、分類については4種類のアルゴリズムがサポートされています。
各データ・マイニング・モデルは、特定のアルゴリズムから生成されます。データ・マイニングの問題には、複数のアルゴリズムを使用すると最も適切に解決できるものもあります。この場合、複数のモデルの開発が必要になります。たとえば、初めに特徴抽出モデルを使用して1組の最適化された予測子を作成し、続いて分類モデルを使用してその結果に対する予測を作成するといった方法があります。
注意: それぞれのアルゴリズムの内部的な仕組みを理解しなくても、正しくデータ・マイニングを行うことができます。ただし、アルゴリズムの一般的な特徴と、様々なアプリケーションに対する適合性を理解することは重要です。 |
Oracle Data Miningでは、表2-3に示す監視ありデータ・マイニング・アルゴリズムがサポートされます。次に示すアルゴリズムの略称は、このマニュアル全体で使用されます。
表2-3 Oracle Data Miningの監視あり機能用アルゴリズム
Oracle Data Miningでは、表2-4に示す監視なしデータ・マイニング・アルゴリズムがサポートされます。次に示すアルゴリズムの略称は、このマニュアル全体で使用されます。
表2-4 Oracle Data Miningの監視なし機能用アルゴリズム
マイニング用のデータは単一の表またはビュー内に存在している必要があります。各ケース(レコード)の情報は、別個の行に格納されていなければなりません。
Oracle Data Mining独自の機能として、ネストした表の変換を介して、ディメンション化されたデータ(スター・スキーマなど)をサポートする点があげられます。また、Oracle Data Miningでは非構造化データをマイニングできます。
関連項目: データ・マイニング用の表またはビューの作成方法は、『Oracle Data Miningアプリケーション開発者ガイド』を参照してください。 非構造化データのマイニングの詳細は、第20章「テキスト・マイニング」を参照してください。 |
適切なデータ準備は、どのようなデータ・マイニング・プロジェクトにおいても重要な要素です。データは、適切に整備して非一貫性を排除し、マイニング・アプリケーションのニーズを満たす必要があります。さらに、大部分のアルゴリズムではビニングや正規化など、なんらかの形式のデータ変換が必要とされます。
データ・マイニングの開発プロセスでは、複数のデータセットが必要となる場合があります。モデルの作成(トレーニング)に必要なデータセットの他に、スコアリング用として別のデータセットを使用することもあります。分類モデルの場合はテスト・データセットも必要です。これらのデータセットはそれぞれ、すべて同じ方法で準備する必要があります。
Oracle Data Miningでは自動のデータ変換および組込みのデータ変換がサポートされており、これらの機能によって、データ・マイニング・モデルの開発に必要な時間や負担が大幅に軽減できます。自動データ準備(ADP)モードでは、モデル自体がアルゴリズムの要件に従って作成データを変換します。変換の指示はそのモデルに組み込まれており、モデルが適用されるたびに再利用されます。
Oracle Data Miningで自動的に実行される変換にユーザー独自の変換を追加することもできます。独自の変換は自動変換指示とともに組み込まれ、モデルが適用されるたびに自動変換とともに再利用されます。この場合、独自の変換を指定するのは作成データに対しての1回のみです。モデル自体が適用される際にデータを適切に変換します。
マイニング・モデルは自身のデータを準備するための指示を格納しているため、スーパーモデルとも呼ばれます。
Oracle Data Miningでは、高度なモデルの透明性が確保されています。すべてのモデルで、問合せを実行してトレーニング・データでのアルゴリズムの影響を観測できるモデルの詳細のセットがサポートされています。また、一部のアルゴリズムでは、モデルで使用されるロジックを表すルールが生成されます。クラスタリング・アルゴリズム、ディシジョン・ツリーおよび相関ルールは、すべてルールを生成します。
モデルによって内部で使用されるデータは、多くの場合、モデルの作成に使用されているデータに見えません。これは、アルゴリズムの処理の前に、モデルによってほとんどのデータが変換されるためです。モデルの詳細で、これらを逆変換し、ユーザーが理解できるようにトレーニング・データを表示します。同様に、監視ありモデルのターゲットに適用されたすべての変換が、結果がユーザーに戻される前に逆変換されます。
関連項目: モデルの詳細で戻される情報の概要は、『Oracle Data Miningアプリケーション開発者ガイド』を参照してください。 O-Cluster、k-Means、ディシジョン・ツリーおよびAprioriについての章は、第III部, 「アルゴリズム」を参照してください。 |
Oracle Data Miningでは、PL/SQL、SQLおよびRのプログラム・インタフェースがサポートされています。
注意: Oracle Data Mining Java APIは、このリリースでは非推奨です。 |
PMML準拠の一部のモデルは、スコアリング用としてOracle Databaseにインポートできます。
Oracle Data Minerのグラフィカル・ユーザー・インタフェースを使用すると、Oracle Data Miningのデータベース内のすべての機能にアクセスできます。Spreadsheet Add-Inを使用すると、Oracle Data Miningで動作する予測分析にアクセスできます。
Oracle Data Minerは、Oracle Data Miningのグラフィカル・ユーザー・インタフェースです。Oracle SQL Developer 3.0の拡張機能であるOracle Data Minerでは、ワークフロー・パラダイムを使用して、データ・マイニング・タスクが実行されます。
Oracle Data Minerを使用して、データの調査、複数のマイニング・モデルの作成および評価、または新しいデータへのモデルの適用を行うことができます。ワークフローを作成して、様々なマイニング・タスクを実行するための方法を捕捉およびドキュメント化できます。ワークフローは、保存して共有できます。
関連項目: 『Oracle Data Mining管理者ガイド』 |
注意: 『Oracle Data Miner 11g リリース 2 (11.2.0.3)』は、次のURLからダウンロードできます。
以前のリリースのOracle Data Minerの開発は終了していますが、Oracle Technology Networkからダウンロード可能です。以前のリリースは、次のURLからダウンロードできます。
|
Oracle Data MiningのPL/SQL APIは、次のPL/SQLパッケージに実装されています。
DBMS_DATA_MINING_TRANSFORM — モデルを作成または適用する前にデータセットを変換するルーチンが含まれます。これらのルーチン、ルーチンの適応、または他のSQLベースのメソッドを使用して、変換を実装できます。
ユーザー定義の変換は、必要でない可能性がある点に注意してください。ADPを使用する場合、Oracle Data Miningは、特定のアルゴリズムで必要とされるほとんどの変換を自動的に実行できます。
DBMS_PREDICTIVE_ANALYTICS — PREDICT
, EXPLAIN
、およびPROFILE
操作に対して、自動化されたデータ・マイニング・ルーチンが含まれます。
次に、my_model
と呼ばれるSVM分類モデルを作成するPL/SQLルーチンの例を示します。アルゴリズムは、my_settings
と呼ばれる表の設定に指定されています。SVMではなく、Naive Bayesがデフォルトの分類子であるため、アルゴリズムを設定として指定する必要があります。
CREATE TABLE my_settings( setting_name VARCHAR2(30), setting_value VARCHAR2(4000)); BEGIN INSERT INTO my_settings VALUES (dbms_data_mining.algo_name, dbms_data_mining.algo_support_vector_machines); COMMIT; END; / BEGIN DBMS_DATA_MINING.CREATE_MODEL( model_name => 'my_model', mining_function => dbms_data_mining.classification, data_table_name => 'mining_data_build', case_id_column_name => 'cust_id', target_column_name => 'affinity_card', settings_table_name => 'my_settings'); END; /
関連項目: 『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』 |
SQL言語の演算子ファミリでは、データ・マイニング・モデルのデプロイメントがサポートされます。これらの演算子を使用すると、スコアリングをSQL問合せおよびSQLベースのアプリケーションに簡単に組み込むことができます。
次の例では、データ・マイニングのPREDICTION_PROBABILITY
演算子を使用しています。この演算子は、分類モデルnb_sh_clas_sample
をデータセットmining_data_apply_v
に適用します。
SELECT cust_id, prob FROM (SELECT cust_id, PREDICTION_PROBABILITY (nb_sh_clas_sample, 1 USING *) prob FROM mining_data_apply_v WHERE cust_id < 100011) ORDER BY cust_id;
このSELECT
文からは10人分の顧客情報が戻されます。顧客情報は顧客ID順に一覧表示され、各顧客がある提携カードを受け入れる(1)可能性が併記されます。
CUST_ID PROB ---------- ---------- 100001 .025622714 100002 .090424232 100003 .028064789 100004 .048458859 100005 .989335775 100006 .000151844 100007 .05749942 100008 .108750373 100009 .538512886 100010 .186426058
関連項目: 『Oracle Database SQL言語リファレンス』 |
Oracle Data Mining (R-ODM)のRインタフェースを使用すると、Rプログラミング環境からOracle Data Miningにアクセスできます。R-ODMは、ソースR言語で記述される関数ラッパーのセットで構成されています。これらの関数によって、ODBC接続を介して、データおよびパラメータがR環境からOracle Databaseにパスされます。
R-ODMインタフェースは、完全にOracle Databaseの外部にあります。Oracle製品のコードは、使用および公開されません。R-ODMは、標準のRソース・パッケージとしてパッケージ化されていて、Comprehensive R Archive Network (CRAN)の一部として無償で配布されています。
関連項目: R-ODMの詳細は、 R環境、RパッケージおよびCRANの詳細は、 |
PL/SQL APIを使用して、予測モデル・マークアップ言語(PMML)で表されたGLMモデルを、Oracle databaseにインポートできます。この機能は、Oracle Database 11gリリース2 (11.2.0.2) Data Mining以上で使用可能です。
PMMLは、Data Mining Group(http://www.dmg.org
)によって策定されたXMLベースの規格です。PMMLに準拠しているアプリケーションは、任意のベンダーによって作成されたPMML準拠のモデルを配置できます。Oracle Data Miningでは、回帰モデルに対応するPMML 3.1のコア機能をサポートしています。
関連項目: データ・マイニング・モデルのエクスポートおよびインポートについては、『Oracle Data Mining管理者ガイド』を参照してください。 PMMLの詳細は、 |
予測分析では、PREDICT
、EXPLAIN
およびPROFILE
のルーチンを使用して、データ・マイニング・プロセスが自動化されます。Oracle Spreadsheet Add-In for Predictive Analyticsでは、Microsoft Excel用の次のルーチンを実装しています。Spreadsheet Add-Inを使用して、ExcelデータまたはOracleデータベースに存在するデータを分析できます。
このSpreadsheet Add-Inとreadmeファイルは、Oracle Technology Networkにある次のページからダウンロードできます。
http://www.oracle.com/technetwork/database/options/odm/index.html
Oracle Data MiningのJava APIは、データ・マイニング用のJDM標準Java API(JSR-73)のOracle実装です。このJava APIはPL/SQL API上に用意され、2つのAPI間には完全な相互運用性があります。
次に示すコードの抜粋では、顧客の提携カードに対する反応パターンをモデル化し、新しい顧客の提携カードに対する反応を予測するためにこのモデルを適用するディシジョン・ツリー・モデルを作成します。
//Step-1: Create connection to a database with the Data Mining option OraConnectionFactory m_dmeConnFactory = new OraConnectionFactory(); ConnectionSpec connSpec = m_dmeConnFactory.getConnectionSpec(); connSpec.setURI("jdbc:oracle:thin:@<hostName>:<port>:<sid>"); connSpec.setName("<user name>"); connSpec.setPassword("password"); m_dmeConn = m_dmeConnFactory.getConnection(connSpec); //Step-2: Create object factories PhysicalDataSetFactory m_pdsFactory = (PhysicalDataSetFactory)m_dmeConn.getFactory( "javax.datamining.data.PhysicalDataSet"); PhysicalAttributeFactory m_paFactory = (PhysicalAttributeFactory)m_dmeConn.getFactory( "javax.datamining.data.PhysicalAttribute"); TreeSettingsFactory m_treeFactory = (TreeSettingsFactory)m_dmeConn.getFactory( "javax.datamining.algorithm.tree.TreeSettings"); ClassificationSettingsFactory m_clasFactory = (ClassificationSettingsFactory)m_dmeConn.getFactory( "javax.datamining.supervised.classification.ClassificationSettings"); BuildTaskFactory m_buildFactory = (BuildTaskFactory)m_dmeConn.getFactory( "javax.datamining.task.BuildTask"); ClassificationApplySettingsFactory m_applySettingsFactory = (ClassificationApplySettingsFactory)m_dmeConn.getFactory( "javax.datamining.supervised.classification.ClassificationApplySettings"); DataSetApplyTaskFactory m_dsApplyFactory = (DataSetApplyTaskFactory)m_dmeConn.getFactory( "javax.datamining.task.apply.DataSetApplyTask"); ClassificationApplySettingsFactory m_applySettingsFactory = (ClassificationApplySettingsFactory)m_dmeConn.getFactory( "javax.datamining.supervised.classification.ClassificationApplySettings"); //Step-3: Create and save model build task input objects // (training data, build settings) //Create & save model input data specification (PhysicalDataSet) PhysicalDataSet buildData = m_pdsFactory.create("MINING_DATA_BUILD_V", false); PhysicalAttribute pa = m_paFactory.create("CUST_ID", AttributeDataType.integerType, PhysicalAttributeRole.caseId); buildData.addAttribute(pa); m_dmeConn.saveObject("treeBuildData_jdm", buildData, true); //Create & save Mining Function Settings ClassificationSettings buildSettings = m_clasFactory.create(); TreeSettings treeAlgo = m_treeFactory.create(); buildSettings.setAlgorithmSettings(treeAlgo); buildSettings.setTargetAttributeName("AFFINITY_CARD"); m_dmeConn.saveObject("treeBuildSettings_jdm", buildSettings, true); //Step-4: Create and save model build task BuildTask buildTask = m_buildFactory.create("treeBuildData_jdm", "treeBuildSettings_jdm", "treeModel_jdm"); m_dmeConn.saveObject("treeBuildTask_jdm", buildTask, true); //Step-5: Create and save model apply task input objects (apply settings) //Create & save PhysicalDataSpecification PhysicalDataSet applyData = m_pdsFactory.create("MINING_DATA_APPLY_V", false); PhysicalAttribute pa = m_paFactory.create("CUST_ID", AttributeDataType.integerType, PhysicalAttributeRole.caseId); applyData.addAttribute(pa); m_dmeConn.saveObject("treeApplyData_jdm", applyData, true); //Create & save ClassificationApplySettings ClassificationApplySettings clasAS = m_applySettingsFactory.create(); //Step-6: Create and save model apply task with build task as dependent DataSetApplyTask applyTask = m_dsApplyFactory.create("treeApplyData_jdm", "treeModel_jdm", "treeApplySettings_jdm", "TREE_APPLY_OUTPUT_JDM"); ((OraTask)applyTask).addDependency("treeBuildTask_jdm"); m_dmeConn.saveObject("treeApplyTask_jdm", applyTask, true); //Step-7: Execute build task which executes build task and then after // successful completion triggers the execution of its dependent // task(s). In this example, there is only one dependent task. m_dmeConn.execute("treeBuildTask_jdm");
関連項目: 『Oracle Data Miningアプリケーション開発者ガイド』 |
Oracle Data Miningのドキュメントは、Oracle Databaseドキュメント・ライブラリに含まれています。
参考までに、Oracle Data Miningおよび関連するOracle Databaseのマニュアルの一覧を表2-5に示します。
表2-5 Oracle Data Miningのドキュメント
ドキュメント | 説明 |
---|---|
『Oracle Data Mining概要』 |
このマニュアル。Oracle Data Miningでサポートされる、マイニング機能、アルゴリズム、データ準備、予測分析およびその他の特別な機能の概要。 |
『Oracle Data Miningアプリケーション開発者ガイド』 |
Oracle Data Miningのプログラム・インタフェースの使用方法。 |
『Oracle Data Mining管理者ガイド』 |
データ・マイニング用のデータベースのインストール方法と管理方法。デモ・プログラムのインストールおよび使用方法。 |
『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』 |
データ・マイニングのPL/SQL API構文の使用方法。 |
『Oracle Database SQL言語リファレンス』 |
データ・マイニングSQL関数構文の使用方法。 |
『Oracle Databaseリファレンス』 |
マイニング・モデル、マイニング・モデルの属性およびマイニング・モデルの設定に関する情報を取得するためのデータ・ディクショナリ・ビューの問合せ方法。 |
Oracle Technology Network(OTN)は簡単にアクセス可能で、有用な情報が提供されているサイトです。Oracle Data Miningのホーム・ページには、次のURLでアクセスできます。
http://www.oracle.com/technetwork/database/options/odm/index.html
このサイトには、ダウンロード用のツールおよび教材の他、ニュースやディスカッション・フォーラムも用意されています。このサイトでは次の内容を参照できます。
「データベース・カーネル内でのデータ・マイニング」で説明したように、データベース内部での分析には多大な利点があります。データが格納されている場所に分析機能を実装すると、データを分析のために外部のサーバーにエクスポートする必要がありません。分析の結果もインポートする必要がなく、データベース内に存在するので、アクセス、更新および他のデータとの組合せも簡単です。
データ・マイニングや予測分析の他にも、Oracle Databaseでは幅広い分析機能がサポートされています。そうした機能はそれぞれが共通サーバーの一部であるため、効率的に組み合せることができます。分析処理の結果は、Oracle Business Intelligence Suite Enterprise EditionなどのBIツールやアプリケーションに統合できます。これらを総合すると、こうした機能により、Oracle Databaseは分析用アプリケーションを開発するための強力なプラットフォームになっているといえます。
様々な分析は、ほとんど制限なく組み合せることができます。例2-1に、単一のSQL問合せ内におけるデータ・マイニングおよびテキストの処理を示します。この問合せでは、自然減する傾向が強く(確率が80%を超える)、有望な顧客であり(顧客価値率が90%を超える)、かつChecking Plusアカウントに関して最近カスタマ・サービスに問合せのあった顧客がすべて選択されます。自然減の傾向に関する情報は、tree_model
というデータ・マイニング・モデルを使用して計算されます。Checking Plusアカウントに関するコール・センターのメモを検索するために、Oracle TextのCONTAINS
演算子が使用されています。
例2-1 単一SQL問合せにおけるOracle Data MiningとOracle Textの組合せ
SELECT A.cust_name, A.contact_info FROM customers A WHERE PREDICTION_PROBABILITY(tree_model, 'attrite' USING A.*) > 0.8 AND A.cust_value > 90 AND A.cust_id IN (SELECT B.cust_id FROM call_center B WHERE B.call_date BETWEEN '01-Jan-2005' AND '30-Jun-2005' AND CONTAINS(B.notes, 'Checking Plus', 1) > 0);
Oracle Databaseでサポートされる分析の一部を表2-6で説明します。「ドキュメント」列のリンクを使用して関連するドキュメントを検索できます。
表2-6 Oracle Databaseの分析の概要