Oracle® Data Mining

概要

12cリリース1 (12.1)

B72966-03(原本部品番号:E17692-19)

2017年5月

Oracle Data Mining概要, 12c リリース1 (12.1)

B72966-03

Copyright © 2005, 2017, Oracle and/or its affiliates.  All rights reserved.

原本著者: Sarika Surampudi

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleとJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- 関連ドキュメント

- Oracle Technology Network上のOracle Data Miningリソース

- アプリケーション開発およびデータベース管理ドキュメント

- ドキュメントのアクセシビリティについて

- 表記規則

Oracle Data Mining概要ガイドのこのリリースでの変更点

- Oracle Data Mining 12cリリース1 (12.1)での変更点

- 新機能

- サポート対象外機能

- その他の変更

第I部 概要

1 データ・マイニングとは

- データ・マイニングとは

- 自動検出

- 予測

- グループ化

- 実用的な情報

- データ・マイニングと統計

- データ・マイニングとOLAP

- データ・マイニングとデータ・ウェアハウス

- データ・マイニングで可能なこと、不可能なこと

- 適切な問題の設定

- データの理解

- データ・マイニングのプロセス

- 問題の定義

- データの収集、準備および特徴エンジニアリング

- モデルの作成と評価

- 知識の配置

2 Oracle Data Miningの紹介

- Oracle Data Miningとは

- データベース・カーネル内でのデータ・マイニング

- Oracle Exadataでのデータ・マイニング

- Oracle Data Miningのインタフェース

- PL/SQL API

- SQL関数

- Oracle Data Miner

- 予測分析

- データベース分析の概要

3 Oracle Data Miningの基礎

- マイニング機能

- 監視ありデータ・マイニング

- 監視あり学習: テスト

- 監視あり学習: スコアリング

- 監視なしデータ・マイニング

- 監視なし学習: スコアリング

- アルゴリズム

- Oracle Data Miningの監視ありアルゴリズム

- Oracle Data Miningの監視なしアルゴリズム

- データ準備

- Oracle Data Miningによるデータ準備の簡略化

- ケース・データ

- ネストしたデータ

- テキスト・データ

- データベース内スコアリング

- パラレル実行と管理の簡易化

- モデル適用と動的スコアリングのためのSQL関数

第II部 マイニング機能

4 回帰

- 回帰とは

- 回帰の仕組み

- 線形回帰

- 多変量線形回帰

- 回帰係数

- 非線形回帰

- 多変量非線形回帰

- 信頼限界

- 回帰モデルのテスト

- 回帰統計量

- 2乗平均平方根誤差

- 平均絶対誤差

- 回帰のアルゴリズム

5 分類

- 分類とは

- 分類モデルのテスト

- 混同マトリックス

- リフト

- リフト統計量

- 受信者操作特性(ROC)

- ROC曲線

- 曲線下面積

- ROCとモデルのバイアス

- ROC統計量

- 分類モデルのバイアス

- コスト

- コストと精度

- ポジティブ・クラスとネガティブ・クラス

- コストと利益の割当て

- 事前確率およびクラスの重み

- 分類のアルゴリズム

6 異常検出

- 異常検出とは

- 1クラス分類

- 1クラス・データの異常検出

- 外れ値検出用の異常検出

- 異常検出アルゴリズム

7 クラスタリング

- クラスタリングとは

- クラスタの計算方法

- 新しいデータのスコアリング

- 階層クラスタリング

- ルール

- 支持度と信頼度

- クラスタリング・モデルの評価

- クラスタリングのアルゴリズム

8 相関

- 相関とは

- 相関ルール

- マーケット・バスケット分析

- 相関ルールとE-Commerce

- トランザクショナル・データ

- 相関のアルゴリズム

9 特徴の選択と抽出

- 最適な属性の検出

- 特徴選択および属性評価とは

- 属性評価およびスコアリング

- 特徴抽出とは

- 特徴抽出とスコアリング

- 属性評価および特徴抽出のアルゴリズム

第III部 アルゴリズム

10 Apriori

- Aprioriとは

- 相関ルールと高頻度項目セット

- 前件と後件

- 信頼度

- Apriori用のデータ準備

- ネイティブ・トランザクショナル・データとスター・スキーマ

- 項目と集合

- スパース・データ

- 相関ルールの計算

- 項目セット

- 高頻度項目セット

- 例: 高頻度項目セットからのルールの計算

- 相関ルールの評価

- 支持度

- 信頼度

- リフト

11 ディシジョン・ツリー

- ディシジョン・ツリーとは

- ディシジョン・ツリーのルール

- 信頼度と支持度

- ディシジョン・ツリーの利点

- ディシジョン・ツリー・モデルのXML

- ディシジョン・ツリーの拡大

- 分岐

- コスト・マトリックス

- オーバーフィットの回避

- ディシジョン・ツリー・アルゴリズムのチューニング

- ディシジョン・ツリー用のデータ準備

12 期待値最大化

- 期待値最大化とは

- 期待値ステップと最大化ステップ

- 確率密度推定

- アルゴリズムの拡張

- スケーラビリティ

- 高いディメンション性

- 成分数

- パラメータ初期化

- 成分からクラスタへ

- アルゴリズムの構成

- 期待値最大化用のデータ準備

13 一般化線形モデル

- 一般化線形モデルとは

- Oracle Data MiningのGLM

- 解釈性と透明性

- ワイド・データ

- 信頼限界

- リッジ回帰

- リッジ回帰の構成

- リッジと信頼限界

- リッジと分散拡大係数(線形回帰用)

- リッジとデータ準備

- スケーラブルな特徴選択

- 特徴選択

- 特徴選択の構成

- 特徴選択とリッジ回帰

- 特徴生成

- 特徴生成の構成

- GLM用のチューニングと診断

- 構築設定

- 診断

- 係数統計情報

- グローバルなモデルの統計情報

- 行の診断情報

- GLM用のデータ準備

- 線形回帰用のデータ準備

- ロジスティック回帰用のデータ準備

- 欠損値

- 線形回帰

- 線形回帰の係数統計情報

- 線形回帰のグローバルなモデルの統計情報

- 線形回帰の行の診断情報

- ロジスティック回帰

- 参照クラス

- クラスの重み

- ロジスティック回帰の係数統計情報

- ロジスティック回帰のグローバルなモデルの統計情報

- ロジスティック回帰の行の診断情報

14 k-Means

- k-Meansとは

- Oracle Data Miningの拡張k-Means

- 重心

- スコアリング

- k-Meansアルゴリズム構成

- k-Means用のデータ準備

15 最小記述長

- MDLとは

- 圧縮とエントロピ

- 確率変数の値: 統計的分布

- 確率変数の値: 重要な予測子

- 合計エントロピ

- モデル・サイズ

- モデル選択

- MDLメトリック

- MDL用のデータ準備

16 Naive Bayes

- Naive Bayesとは

- Naive Bayesの利点

- Naive Bayesモデルのチューニング

- Naive Bayes用のデータ準備

17 Non-Negative Matrix Factorization

- NMFとは

- 行列因数分解

- NMFでのスコアリング

- NMFでのテキスト・マイニング

- テキスト・マイニング用のNMF

- NMFアルゴリズムのチューニング

- NMF用のデータ準備

18 O-Cluster

- O-Clusterとは

- パーティショニング方針

- 量的属性のパーティショニング

- 質的属性のパーティショニング

- アクティブなサンプリング

- プロセス・フロー

- スコアリング

- O-Clusterアルゴリズムのチューニング

- O-Cluster用のデータ準備

- O-Cluster用のユーザー定義のデータ準備

19 特異値分解

- 特異値分解とは

- 行列操作

- 低ランクの分解

- スケーラビリティ

- アルゴリズムの構成

- モデル・サイズ

- パフォーマンス

- PCAスコアリング

- SVD用のデータ準備

20 サポート・ベクター・マシン

- サポート・ベクター・マシンとは

- SVMの利点

- Oracle Data MiningのSVMの利点

- 利用性

- スケーラビリティ

- カーネルベースの学習

- 能動学習

- SVMモデルのチューニング

- SVM用のデータ準備

- 正規化

- SVMと自動データ準備

- SVM分類

- クラスの重み

- 1クラスSVM

- SVM回帰

用語集

索引

はじめに

このマニュアルでは、Oracle Database内の総合的で強力なデータ・マイニング機能であるOracle Data Miningについて説明します。このマニュアルでは、『Oracle Data Miningユーザーズ・ガイド』に記載されている手順情報の基礎となる概念について説明します。

ここでは次の項目について説明します。

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

対象読者

『Oracle Data Mining概要』は、Oracle Data Miningを習得するユーザを対象としています。

関連ドキュメント

Oracle Advanced AnalyticsのコンポーネントであるOracle Data Miningは、Oracle Databaseオンライン・ドキュメント・ライブラリの「Data Warehousing and Business Intelligence」のページにあります。

http://www.oracle.com/pls/topic/lookup?ctx=db121&id=dwbitab

次のマニュアルでOracle Data Miningについて説明しています。

- 『Oracle Data Mining概要』(このマニュアル)

- 『Oracle Data Miningユーザーズ・ガイド』

- Oracle Data Mining API Guide (Virtual Book)

注意:

Virtual Bookでは、Data Miningのマニュアルの主要な手順と、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』、『Oracle Database SQL言語リファレンス』および『Oracle Databaseリファレンス』の関連する参照ドキュメントを示しています。

- 『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』

- 『Oracle Databaseリファレンス』

- 『Oracle Database SQL言語リファレンス』

Oracle Technology Network上のOracle Data Miningリソース

Oracle Technology Network (OTN)の「Oracle Data Mining」ページでは、ホワイト・ペーパー、デモ、ブログ、ディスカッション・フォーラム、Oracle By Exampleチュートリアルなどの有用な情報を提供しています。

http://www.oracle.com/pls/topic/lookup?ctx=db121&id=datmin

Oracle Data Minerは、Oracle Data Miningのグラフィカル・ユーザー・インタフェースで、Oracle SQL Developerの拡張です。SQL DeveloperのダウンロードおよびData Minerリポジトリのインストールの手順は、Oracle Technology Networkを参照してください。

http://www.oracle.com/pls/topic/lookup?ctx=db121&id=datminGUI

アプリケーション開発およびデータベース管理ドキュメント

データベース・アプリケーションの開発およびOracle Databaseの管理に関しては次のドキュメントを参照してください。

- Oracle Database概要

- Oracle Database管理者ガイド

- Oracle Database開発ガイド

- 『Oracle Databaseパフォーマンス・チューニング・ガイド』

- 『Oracle Database VLDBおよびパーティショニング・ガイド』

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracleサポートへのアクセス

サポートを購入したオラクル社のお客様は、My Oracle Supportを介して電子的なサポートにアクセスできます。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

表記規則

このドキュメントでは次の表記規則を使用します。

表記規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダー変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

Oracle Data Mining概要ガイドのこのリリースでの変更点

『Oracle Data Miningユーザーズ・ガイド』のこのリリースでの変更点

Oracle Data Mining 12cリリース1 (12.1)での変更点

『Oracle Data Miningユーザーズ・ガイド12cリリース1(12.1)』では、次の変更点について説明しています。

新機能

このリリースの新機能は次のとおりです。

- 予測の詳細の拡張
新しいクラスタリング・アルゴリズム: 期待値最大化 拡張されたk-MeansおよびO-Cluster以外に、Oracle Data Miningでは、データの密度モデルを作成する確率的クラスタリング・アルゴリズムである期待値最大化がサポートされるようになりました。密度モデルによって、異なるドメインに由来するデータ(たとえば、販売トランザクションと顧客購買層、または構造化データとテキストなどの非構造化データ)を結合するアプローチを改善できます。

期待値最大化の確率的な性質のため、そのクラスタ割当ての確率は、k-MeansまたはO-Clusterによって生成される確率より信頼性が高くなる場合があります。また、期待値最大化アルゴリズムでは、データのモデル化に必要なクラスタの最適数が自動的に決定されます。

「期待値最大化」を参照してください。

- 新しい特徴抽出アルゴリズム: 特異値分解と主成分分析
Non-Negative Matrix Factorizationに加え、Oracle Data Miningでは、直交線形投影を使用して基礎となるデータ分散を取得する2つの優れた特徴抽出方法である特異値分解と主成分分析がサポートされるようになりました。主成分分析は、特異値分解アルゴリズムの特別なスコアリング方法として実装されます。

特異値分解および主成分分析は、非常に大規模なデータ・サイズ(行と属性の両方)に適切にスケーリングされ、優れたデータ圧縮機能を持ちます。これらの新しい方法の導入に伴って、Oracle Data Miningでは、その特徴抽出機能が、時系列、非構造化データ、非常に大規模な量的データセット(たとえば、無線ICタグなどのセンサーからのデータ)を含む新しいコンテキストに拡張されています。

「特異値分解」を参照。

- 特徴選択および作成をサポートするように拡張された一般化線形モデル
一般化線形モデルでは、高い透明性が提供されますが、精度が落ちる可能性があります。特徴選択および作成機能の導入に伴って、一般化線形モデルでは、透明性(モデルによって生成される予測を説明する能力)を損なうことなく高い精度を維持できます。

特徴選択とは、最も意味のある属性を選択するプロセスです。特徴作成とは、属性を特徴に結合するプロセスです。特徴選択では、一般化線形モデルは、より少ない予測子で作成できるため、モデルが小規模になり、スコアリングが高速化します。特徴作成では、一般化線形モデルは、非線形項(最大3次項)を使用するため、より優れたモデルが生成され、透明性が向上します。

一般化線形モデル

- テキスト・マイニングの大幅な拡張
この拡張によって、非構造化テキスト・データが入力に存在する場合のデータ・マイニング・プロセス(モデル作成、配置およびスコアリング)が大幅に簡略化されます。

テキスト・データ(詳細は、『Oracle Data Miningユーザーズ・ガイド』を参照してください。)

- 予測の詳細の拡張
PREDICTION_DETAILS関数によって、すべての予測アルゴリズムがサポートされ、予測子の詳細が戻されるようになりました。新しい関数のCLUSTER_DETAILSおよびFEATURE_DETAILSが導入されています。

データ・マイニング用のSQL関数の詳細は、「データベース内スコアリング」を参照してください。(詳細は、『Oracle Database SQL言語リファレンス』を参照してください。)

- 動的スコアリング
データ・マイニング用のSQL関数によって、事前定義されたモデルなしで動的にデータをスコアリングするための分析句がサポートされるようになりました。

データ・マイニング用のSQL関数の詳細は、「データベース内スコアリング」を参照してください。(詳細は、『Oracle Database SQL言語リファレンス』を参照してください。)

サポート対象外機能

次の機能は、Oracleではサポートされなくなりました。このリリースでサポート対象外となった機能の詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。

- Oracle Data Mining Java API

- Adaptive Bayes Network (ABN)アルゴリズム

その他の変更

12cリリース1 (12.1)の『Oracle Data Mining概要』の追加の変更点は、次のとおりです。

- 以前は第I部に1つの章として含まれていた製品の概要は、次の2つの章に分割されました。
Oracle Data Miningの紹介

Oracle Data Miningの基礎

- 以前は第I部に含まれていた予測分析に関する章は、削除されました。
この章は、Oracle Spreadsheet Add-In for Predictive Analyticsによって生成された例に基づいていました。Spreadsheet Add-Inは、現在もOracle Technology Networkでダウンロードできます。

http://www.oracle.com/technetwork/database/options/advanced-analytics/odm/odm-pred-analytics-addin-092973.html

第I部 概要

第I部では、Oracle Data Miningの概要を示します。最初の章では、データ・マイニング技術に慣れていないユーザーのために一般的な内容を大まかに説明します。

第I部は次の章で構成されています。

- データ・マイニングとは

- Oracle Data Miningの紹介

- Oracle Data Miningの基礎

1 データ・マイニングとは

データ・マイニング技術のオリエンテーション。

- データ・マイニングとは

- データ・マイニングで可能なこと、不可能なこと

- データ・マイニングのプロセス

注意:

データ・マイニングに関する情報は、幅広く提供されています。現在の知識に関係なく、データ・マイニングに関して役立つドキュメントや記事を見つけることができます。たとえば、http://en.wikipedia.org/wiki/Data_miningです

データ・マイニングとは

データ・マイニングとは、以前には不明だったデータ間の関係を検出する技術です。

データ・マイニングとは、大量に保管されているデータを自動的に検索して、単純な分析では得られないパターンや傾向を見つける手続きです。データ・マイニングでは高度な数学的アルゴリズムを使用して、データを分割し、過去のイベントに基づいて将来のイベントの発生可能性を予測します。データ・マイニングは、データからの知識発見(KDD)としても知られています。

データ・マイニングの主要な特性を次に示します。

- パターンの自動検出

- 発生確率の高い結果の予測

- 実用的な情報の作成

- 大規模なデータセットおよびデータベースへの特化

データ・マイニングを行うと、単純な問合せや報告技術では解決できない問題を解決できます。

自動検出

データ・マイニングは、アルゴリズムを使用してデータセットに作用するモデルによって実行されます。データ・マイニング・モデルは、そのモデル作成の基になったデータのマイニングに使用できますが、ほとんどのタイプのモデルは新しいデータに一般化することが可能です。新しいデータに対してモデルを適用するプロセスはスコアリングとも呼ばれます。

予測

データ・マイニングの多くの形式には予測の側面があります。たとえば、あるモデルは、教育レベルなどの人口統計要素に基づいて収入を予測できます。予測には、確率(この予測が正しいことの確からしさ)が関連しています。予測確率は信頼度(この予測を信頼できる程度)とも呼ばれます。

一部の予測データ・マイニングでは、特定の結果を示す条件である、ルールが生成されます。たとえば、あるルールは、学士号を持っていて特定の地域に住んでいる人は、収入が地域の平均収入よりも高いことが多い、ということを表します。ルールには、支持度(母集団のうちこのルールに適合する個体の割合)が関連しています。

グループ化

データ・マイニングの他の形式として、データ内の自然なグループを識別するというものがあります。たとえば、モデルによって、母集団のうち、収入が特定の範囲内にある集団、良好な運転歴を持つ集団、年単位で新車をリースする集団を識別するような場合です。

実用的な情報

データ・マイニングでは、大量のデータから実用的な情報を導き出すことができます。たとえば、都市設計家の場合、低所得者向け住宅を開発する際に、人口統計に基づいて収入を予測するモデルを使用することが可能です。自動車のリース会社では、付加価値の高い顧客を対象とする販促を計画するために、顧客の各セグメントを識別するモデルを使用できます。

データ・マイニングと統計

データ・マイニングと統計はかなりの部分で重複しています。実際、データ・マイニングで使用される技術のほとんどは統計の範疇に収まります。しかし、データ・マイニング技術は従来の統計手法と同一ではありません。

統計モデルでは、通常、データについて強い仮定をし、その仮定に基づいて、結果について強い表明を行います。ただし、仮定に欠陥があると、モデルの妥当性は疑わしくなります。これに対し、データ・マイニングで使用される機械学習手法では、通常、データについて弱い仮定を行います。その結果、データ・マイニングでは、一般的に結果についてこのような強い表明を行うことはできません。ただし、データ・マイニングでは、データにかかわらず非常に良好な結果を得ることができます。

従来の統計手法では一般的に、モデルの精度を検証するためにユーザーとの対話が相当量必要になります。そのため、統計手法の自動化は難しい場合があります。統計手法は、大規模な母集団内の小規模な代表サンプルに基づいた仮説の検定または相関の検出に依存しているためです。

データ・マイニングでは、ユーザーとの対話やデータの知識は少なくて済みます。ユーザーは、ある手法が特定のデータセットに対して有効となることを保証するために、データを操作する必要はありません。データ・マイニング技術は、従来の統計手法よりも簡単に自動化できます。

データ・マイニングとOLAP

On-Line Analytical Processing (OLAP)は、多次元データの高速な分析であると定義できます。OLAPとデータ・マイニングは異なりますが、相互に補完的なアクティビティです。

OLAPでは、データ集約、コスト割当て、時系列分析およびwhat-if分析などのアクティビティがサポートされています。ただし、ほとんどのOLAPシステムには、時系列予測のサポートを超える帰納的推論の機能はありません。特定のサンプルから一般的な結論を導き出すプロセスである帰納的推論は、データ・マイニングの特性です。帰納的推論は、計算論的学習とも呼ばれます。

OLAPシステムではデータの多次元的ビューが提供され、階層が完全にサポートされます。このデータ・ビューは、企業や組織の分析に一般的に使用される様式です。

データ・マイニングとOLAPは、様々な方法で統合できます。OLAPを使用すると、データ・マイニングの結果を様々な粒度レベルで分析できます。データ・マイニングを使用すると、より興味深い有益なキューブを作成できます。たとえば、予測データ・マイニングの結果をカスタム・メジャーとしてキューブに追加できます。このようなメジャーにより、各顧客について「債務を履行しない可能性が高い」または「購入する可能性が高い」などの情報を提供できます。OLAP処理を使用すれば、さらに確率を集計したり要約したりできます。

データ・マイニングとデータ・ウェアハウス

データは、フラット・ファイル、スプレッドシート、データベース表またはその他の格納形式で保存されている場合でもマイニングできます。データの重要な基準は格納形式ではなく、解決すべき問題への適用性にあります。

データ・マイニングでは、データの整備および準備を適切に行うことが非常に重要であり、これらのアクティビティはデータ・ウェアハウスで円滑に実行できます。ただし、問題の解決に必要なデータが含まれていないデータ・ウェアハウスは役に立ちません。

データ・マイニングで可能なこと、不可能なこと

データ・マイニングは、データ内のパターンや関係性の検出に役立つ強力なツールです。ただし、データ・マイニングは単独では機能しません。データ・マイニングを実施しても、ユーザーによるビジネス、データおよび分析手法への理解が必要であることに変わりはありません。データ・マイニングによってデータに隠された情報が発見されても、その情報がユーザーの組織にとってどのような価値を持つかは提示できません。

ユーザーは、長期にわたってデータを処理してきた結果、重要なパターンについてはすでに認識している可能性があります。データ・マイニングでは、そうした経験的観測の追認や適切性の確認ができ、その上で、簡単な観測ではすぐには認識できない新たなパターンを発見できます。

データ・マイニングで発見された予測的な関係性は、必ずしも行動や態度の原因にはならないことに留意することが重要です。たとえば、データ・マイニングによって、「収入が$50,000から$65,000で、特定の雑誌を購読する男性は、特定の製品を購入する傾向にある」と判断されたとします。ユーザーは、この情報をマーケティング戦略の開発に利用できますが、ただし、データ・マイニングによって識別された集団に属しているという理由から、その集団の構成員がその製品を購入することを前提としないでください。

データ・マイニングによって得られるのは、確率であり、正確な答えではありません。頻度の低いイベントが、頻繁ではなくとも、起こる可能性があることに注意してください。

適切な問題の設定

データ・マイニングでは、ガイダンスがなければ自動的に情報は発見されません。データ・マイニングを通じて発見されるパターンは、ユーザーが問題をどのように設定するかによって大きく異なります。

意味のある結果を得るには、適切な設問のしかたを学ぶ必要があります。たとえば、ダイレクト・メールによるセールスへの反応を向上させる方法を知ろうとするよりは、過去にセールスに対して反応した顧客の特性を検出しようとする方が有用な場合があります。

データの理解

意味のあるデータ・マイニング結果を確実に得るには、現在保持しているデータを理解する必要があります。データ・マイニングのアルゴリズムは多くの場合、外れ値(データベース内の典型的な値と大幅に異なるデータ値)、無関係な列、一緒に変化する列(年齢と誕生日など)、データ・コーディング、ユーザーによるデータ選別(追加または除外)など、データの特定の特性に影響を受けます。アルゴリズムで必要とされるデータ準備の多くは、Oracle Data Miningによって自動的に実行可能です。ただし、データ準備の中には、一般的にドメインやデータ・マイニング問題に固有のものもあります。いずれにしても、モデルの適用時に結果を正しく解釈できるように、モデルの作成に使用するデータについて理解しておく必要があります。

データ・マイニングのプロセス

次の図に、データ・マイニング・プロジェクトの各フェーズおよび反復的な性質を示します。このプロセス・フローでは、特定の解決が得られた後もデータ・マイニング・プロジェクトは停止しないことを示しています。データ・マイニングの結果からビジネス上の新たな問題が提起され、この問題を利用してさらに的確なモデルを開発できます。

図1-1 データ・マイニングのプロセス

問題の定義

データ・マイニング・プロジェクトの最初のフェーズでは、プロジェクトの目的および要件の把握に取り組みます。ビジネスの観点から問題を特定した時点で、それをデータ・マイニング問題として編成し、暫定的な実装計画として開発できるようになります。

たとえば、ユーザーの抱えるビジネス上の課題が、「顧客に対する製品の販売数を増やすにはどうしたらよいか」であるとします。この問題は、「どのような顧客が最もその製品を購入する傾向にあるか」というデータ・マイニング問題として解釈できます。どの顧客が最もその製品を購入する傾向にあるかを予測するモデルは、過去にその製品を購入した顧客を説明しているデータに基づいて作成する必要があります。モデルを作成する前に、対象製品を購入したことがある顧客と購入したことがない顧客との間の関係が含まれている可能性のあるデータを集めることが必要です。顧客の属性となるものには、年齢、子供の数、居住年数、持ち家/賃貸などが考えられます。

データの収集、準備および特徴エンジニアリング

データの把握フェーズでは、データの収集や調査を行います。データを詳細に調べるほど、そのデータによって当該のビジネス問題をどの程度解決できるかを判断できるようになります。一部のデータの削除や、他のデータの追加を行います。また、このフェーズでは、データの質に関する問題の識別やデータ内のパターンのスキャンも行います。

データの準備フェーズでは、モデルの作成に使用する表またはビューの作成に必要なタスクをすべて実施します。データ準備のタスクは複数回にわたって実行される可能性が高く、所定の順序には従いません。タスクには、列の選択およびビューの作成に加え、データの整備や変換も含まれる可能性があります。たとえば、DATE_OF_BIRTH列のAGEへの変換や、INCOME列がNULLのケースへの平均収入の挿入といったタスクが可能です。

さらに、特徴エンジニアリングと多くの場合に呼ばれるデータの表層に近い情報を得るために、新しく計算した属性を追加できます。たとえば、購入金額を使用するかわりに、「12か月のうちで購入金額が500ドルを超えた回数」といった新しい属性を作成できます。大きい買い物を頻繁に行う顧客も、値引きに反応する顧客または反応しない顧客と関連がある可能性があります。

十分に考慮してデータを準備し、領域知識を取得する新しい「エンジニアリング特徴」を作成すると、データ・マイニングで発見される情報の価値を大幅に高めることができます。データ・アナリストによるOracle Database内のデータ集合、データ準備、データ変換および特徴エンジニアリングの実行を可能にすることは、Oracleにとって大きな特徴となります。

注意:

Oracle Data Miningでは、データ準備プロセスを大幅に単純化する自動データ準備(ADP)がサポートされます。

関連項目:

「データ準備」

モデルの作成と評価

このフェーズでは、様々なモデリング手法を選択して適用し、パラメータを最適な値に調整します。アルゴリズムでデータの変換が必要な場合、前のフェーズに戻って、その変換を行う必要があります。

最終的なデータセットには何千、何万という数の行が存在する可能性があるため、暫定的なモデルを作成するときは、多くの場合データセットの数を少なくして作業する方が合理的です。

プロジェクトのこの段階では、(フェーズ1で)最初に掲げたビジネス上の目標をモデルがどの程度満たしているかを評価します。モデルが製品を購入する可能性が高い顧客を予測する場合、2つのクラスを十分に区別できているか。リフトは十分に存在しますか。混同マトリックスに示されているトレードオフは許容できますか。テキスト・データの追加によりモデルが向上できるか。購入品など、トランザクショナル・データ(マーケット・バスケット・データ)は含める必要がありますか。不適切なポジティブまたは不適切なネガティブに関連付けられるコストをモデルに組み込む必要がありますか。

知識の配置

知識の配置とは、ターゲット環境内でデータ・マイニングを利用することです。配置フェーズでは、本質的かつ実用的な情報をデータから導き出すことができます。

配置では、スコアリングの実行(新しいデータへのモデルの適用)、モデルの詳細(ディシジョン・ツリーのルールなど)の抽出の他、アプリケーション、データ・ウェアハウス・インフラストラクチャ、問合せツールやレポート・ツールなどへのデータ・マイニング・モデルの統合などを行います。

Oracle Data Miningによるモデルの作成および適用はOracle Database内で実行されるため、その結果はすぐに利用できます。データ・マイニングの結果は、BIレポート・ツールまたはダッシュボードで簡単に表示できます。さらに、Oracle Data Miningではリアルタイムのスコアリングもサポートしているので、データのマイニング結果が1回のデータベース・トランザクション内で戻されます。たとえば、販売担当者は、不正の可能性を予測するモデルをオンライン販売のトランザクションのコンテキスト内で実行できます。

2 Oracle Data Miningの紹介

様々なマイニング・タスクを実行するOracle Data Miningを紹介します。

- Oracle Data Miningとは

- データベース・カーネル内でのデータ・マイニング

- Oracle Exadataでのデータ・マイニング

- Oracle Data Miningのインタフェース

- データベース分析の概要

Oracle Data Miningとは

Oracle Data Miningを導入すると、Oracle Database内に強力な最新のデータ・マイニング機能が提供されます。Oracle Data Miningを使用して、予測的および記述的データ・マイニング・アプリケーションを作成および配置し、既存のアプリケーションにインテリジェント機能を追加して、データ調査のための予測問合せを生成できます。

Oracle Data Miningでは、様々なマイニング・タスク(分類、回帰、異常検出、特徴抽出、クラスタリング、マーケット・バスケット分析など)を実行するためのデータベース内アルゴリズムの包括的なセットが提供されます。このアルゴリズムは、標準ケース・データ、トランザクショナル・データ、スター・スキーマ、およびテキストなどの形式の非構造化データを対象に動作します。Oracle Data Miningは、非常に大規模なデータセットのマイニングに特化しています。

Oracle Data Miningは、Oracle Database Enterprise EditionのOracle Advanced Analytics Optionの2つあるコンポーネントの1つです。もう1つのコンポーネントは、R (オープンソースの統計環境)とOracle Databaseを統合するOracle R Enterpriseです。Oracle Data MiningとOracle R Enterpriseは、連携してビッグ・データ分析のための包括的な拡張分析プラットフォームを構成します。

データベース・カーネル内でのデータ・マイニング

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 Analytics: Oracle Databaseには、高度な分析やビジネス・インテリジェンス用の機能が多数用意されています。Oracle Data Miningは、統計的分析やOLAPなど、データベースの他の分析機能と簡単に統合できます。(「データベース分析の概要」を参照。)

- Oracleテクノロジ・スタック: オラクル社に集積されたテクノロジのあらゆる側面を利用して、ビジネス・インテリジェンスや科学調査といった、より大規模なフレームワーク内に、データ・マイニングを統合できます。

- ドメイン環境: データ・マイニング・モデルは、適切なアプリケーション・ドメイン環境で作成、テスト、検証、管理および配置する必要があります。データ・マイニングの結果には、永続リポジトリまたはデータ・ウェアハウスへ格納する前に、ドメイン固有の計算(推定リスクや反応確率の計算など)の一部として後処理を必要とするものもあります。Oracle Data Miningを使用すると、マイニング・アクティビティの前処理および後処理をすべて同じ環境で実行できます。

- アプリケーション・プログラミング・インタフェース: Oracle Database内のOracle Data Mining機能には、PL/SQL APIおよびSQL言語の演算子を利用して直接アクセスできます。

Oracle Exadataでのデータ・マイニング

スコアリングとは、データ・マイニング・モデルをデータに適用して予測を生成するプロセスのことです。スコアリング・プロセスには、システム・リソースがかなり必要になることがあります。状況によっては、膨大な量のデータが関係するため、アルゴリズムの処理は非常に複雑になります。

Oracle Data Miningでは、処理が非常に高速でインテリジェントなOracle Exadata Storage Serverにスコアリングの負荷を移行できます。

Oracle Exadata Storage Serverは、オラクル社の高性能なストレージ・ソフトウェアとオラクル社の業界標準仕様のSunハードウェアを組み合せて、業界最高レベルのデータベース・ストレージ・パフォーマンスを実現します。Oracle Exadataの詳細は、Oracle Technology Networkにアクセスしてください。

http://www.oracle.com/us/products/database/exadata/index.htm

Oracle Data Miningのインタフェース

Oracle Data Miningのプログラム・インタフェースは、モデルの作成および維持のためのPL/SQLと、スコアリングのためのSQL関数群です。Oracle Data Miningでは、Oracle SQL Developerの拡張として実装されるグラフィカル・ユーザー・インタフェースもサポートされます。

Oracle Predictive Analytics (簡略化されたデータ・マイニング・ルーチンのセット)は、Oracle Data Miningを基盤として構築され、PL/SQLパッケージとして実装されます。

PL/SQL API

Oracle Data Mining PL/SQL APIは、データ・マイニング・モデルの作成、テストおよび維持のためのルーチンを含むDBMS_DATA_MINING PL/SQLパッケージに実装されます。バッチ適用操作もこのパッケージに含まれます。

次の例に、SVMC_SH_Clas_sampleというSVM分類モデルを作成するための単純なPL/SQLスクリプトの一部を示します。モデルの作成では、重み付け表で指定される重みと、設定表で指定される設定が使用されます。重みは、ターゲット・クラスの重み付けに影響します。設定は、デフォルトの動作に優先します。モデルでは、自動データ準備(prep_auto_on設定)が使用されます。モデルは、mining_data_build_vのデータに対してトレーニングされます。

例2-1 分類モデルの作成

-----------------------  CREATE AND POPULATE A CLASS WEIGHTS TABLE  ------------
CREATE TABLE svmc_sh_sample_class_wt (
target_value NUMBER,
class_weight NUMBER);
INSERT INTO svmc_sh_sample_class_wt VALUES (0,0.35);
INSERT INTO svmc_sh_sample_class_wt VALUES (1,0.65);
COMMIT;
-----------------------  CREATE AND POPULATE A SETTINGS TABLE ------------------
CREATE TABLE svmc_sh_sample_settings (
setting_name  VARCHAR2(30),
setting_value VARCHAR2(4000));
INSERT INTO svmc_sh_sample_settings (setting_name, setting_value) VALUES
(dbms_data_mining.algo_name, dbms_data_mining.algo_support_vector_machines);
INSERT INTO svmc_sh_sample_settings (setting_name, setting_value) VALUES
(dbms_data_mining.svms_kernel_function, dbms_data_mining.svms_linear);
INSERT INTO svmc_sh_sample_settings (setting_name, setting_value) VALUES
(dbms_data_mining.clas_weights_table_name, 'svmc_sh_sample_class_wt');
INSERT INTO svmc_sh_sample_settings (setting_name, setting_value) VALUES
(dbms_data_mining.prep_auto, dbms_data_mining.prep_auto_on);
END;
/
------------------------  CREATE THE MODEL -------------------------------------
BEGIN
DBMS_DATA_MINING.CREATE_MODEL(
model_name          => 'SVMC_SH_Clas_sample',
mining_function     => dbms_data_mining.classification,
data_table_name     => 'mining_data_build_v',
case_id_column_name => 'cust_id',
target_column_name  => 'affinity_card',
settings_table_name => 'svmc_sh_sample_settings');
END;
/

SQLファンクション

データ・マイニング用のSQL関数は、予測、クラスタリングおよび特徴抽出を実行します。関数は、マイニング・モデル・オブジェクトを適用するか、動的スコアリングを実行する分析句を実行して、データをスコアリングします。

次の例に、分類モデルsvmc_sh_clas_sampleをビューmining_data_apply_vのデータに適用する問合せを示します。この問合せによって、提携カードを使用する可能性の高い顧客の平均年齢が戻されます。結果は性別によって分類されます。

例2-2 PREDICTION関数

SELECT cust_gender,
COUNT(*) AS cnt,
ROUND(AVG(age)) AS avg_age
FROM mining_data_apply_v
WHERE PREDICTION(svmc_sh_clas_sample USING *) = 1
GROUP BY cust_gender
ORDER BY cust_gender;

C        CNT    AVG_AGE
- ---------- ----------
F         59         41
M        409         45

関連項目:

動的スコアリングの例を含むスコアリングの詳細は、「データベース内スコアリング」を参照してください

Oracle Data Miner

Oracle Data Minerは、Oracle Data Miningのグラフィカル・インタフェースです。Oracle Data Minerは、Oracle Technology Networkで無償ダウンロードできるOracle SQL Developerの拡張です。

Oracle Data Minerは、ワークフロー・パラダイムを使用して、データ・マイニング・モデルの作成、評価、適用のプロセスを取得、ドキュメント化および自動化します。ワークフロー内で、データ変換の指定、複数のモデルの作成と評価、および複数のデータセットのスコアリングを行うことができます。その後、ワークフローを保存して他のユーザーと共有できます。

図2-1 Oracle Data Minerのワークフロー

インストール手順を含むOracle Data Minerの詳細は、Oracle Technology Networkの次のページを参照してください。

http://www.oracle.com/pls/topic/lookup?ctx=db121&id=datminGUI

予測分析

予測分析は、データ・マイニング・プロセスを単純なルーチンで実行する手法です。「1クリック・データ・マイニング」とも呼ばれるとおり、予測分析では、データ・マイニング・プロセスの単純化と自動化を実現しています。

予測分析ではデータ・マイニングの手法を使用しますが、データ・マイニングに関する知識は必要としません。ユーザーは、データに対して実行する操作を指定するだけで予測分析を実行できます。マイニング・モデルの作成や使用は不要であり、「Oracle Data Miningの基礎」で説明されているマイニング機能やマイニング・アルゴリズムについて理解しておく必要もありません。

Oracle Data Miningの予測分析の操作については、次の表を参照してください。

表2-1 Oracle Predictive Analyticsによる操作

操作

説明

EXPLAIN

ターゲット列の値の偏差に対して個々の予測子(列)がどのように影響するかを説明する。

PREDICT

各ケース(行)について、ターゲット列の値を予測する。

PROFILE

同じターゲット値を想定するケース(行)に対するルールのセットを作成する。

Oracle Predictive Analyticsによる操作は、DBMS_PREDICTIVE_ANALYTICS PL/SQLパッケージに実装されています。これらは、Oracle Data Minerでも利用できます。

関連項目:

「Oracle Data Miningの基礎」

データベース分析の概要

Oracle Databaseでは、Oracle Advanced Analytics Optionとは独立した一連のネイティブ分析機能がサポートされます。これらの機能はすべて共通サーバーの一部であるため、効率的に組み合せることができます。分析処理の結果は、Oracle Business Intelligence Suite Enterprise EditionなどのBIツールやアプリケーションに統合できます。

様々な分析は、ほとんど制限なく組み合せることができます。例2-3に、単一のSQL問合せ内におけるデータ・マイニングおよびテキストの処理を示します。この問合せでは、自然減する傾向が強く(確率が80%を超える)、有望な顧客であり(顧客価値率が90%を超える)、かつChecking Plusアカウントに関して最近カスタマ・サービスに問合せのあった顧客がすべて選択されます。自然減の傾向に関する情報は、tree_modelというデータ・マイニング・モデルを使用して計算されます。Checking Plusアカウントに関するコール・センターのメモを検索するために、Oracle TextのCONTAINS演算子が使用されています。

Oracle Databaseでサポートされるネイティブ分析の一部を次の表で説明します。

表2-2 Oracle Databaseのネイティブ分析

分析機能

説明

参照先ドキュメント

複合データの変換

データ変換は、分析用アプリケーションやETL (抽出、変換およびロード)の重要な側面である。データ変換の実装には、SQL式またはDBMS_DATA_MINING_TRANSFORMパッケージを使用できる。

DBMS_DATA_MINING_TRANSFORMは柔軟性のあるデータ変換用パッケージで、ビニングや正規化の機能に加え、様々な欠損値や外れ値の処理が含まれる。

Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス

統計関数

Oracle Databaseでは多数のSQL統計関数が提供され、仮説検定(t検定、F検定など)、相関関数(ピアソン相関など)、クロスタブ統計および記述統計(中央値、最頻値など)がサポートされる。DBMS_STAT_FUNCSパッケージにより、分布適用プロシージャや、ある列に対する記述統計を戻すサマリー・プロシージャが追加されている。

『Oracle Database SQL言語リファレンス』および『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』

ウィンドウ関数と分析SQL関数

Oracle Databaseでは、累積集計、移動集計および集中集計を計算するためのウィンドウ関数および分析関数がサポートされる。集計ウィンドウ関数群では、SUM、AVERAGE、COUNT、MAX、MINを始めとする多数の関数の移動および累積バージョンの計算が可能です。

Oracle Databaseデータウェアハウス・ガイド

線形代数

UTL_NLAパッケージでは、VARRAYで表されるベクターや行列に対する操作用に、一般的なBLASおよびLAPACKライブラリ(バージョン3.0)のサブセットが公開される。このパッケージには、一次方程式のシステムを解決するプロシージャ、行列を反転するプロシージャ、および固有値と固有ベクターを計算するプロシージャが含まれる。

Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス

OLAP

Oracle OLAPは多次元分析をサポートし、多次元問合せのパフォーマンスを向上するために使用できる。これまでは特殊なOLAPデータベースのみに存在した機能も提供されている。Oracle OLAPでは、ドリルダウンやロールアップにとどまらず、時系列分析、モデリングおよび予測の機能もサポートされる。

Oracle OLAPユーザーズ・ガイド

空間分析

Oracle Spatialでは、ハイエンドGISおよびLBSソリューションをサポートする高度な空間機能が提供される。Oracle Spatialの分析およびマイニング機能には、ビニング、地域パターンの検出、空間相関、関連マイニング、および空間クラスタリングなどの機能がある。

また、Oracle Spatialでは、トポロジおよびネットワーク・データのモデルと分析もサポートされる。Oracle Spatialのトポロジ・データ・モデルを使用すると、トポロジ内のノード、エッジおよびフェイスに関するデータと連携できる。最短経路、最小コストの全域木、隣接分析、巡回セールスマン問題の計算など様々なネットワーク分析機能が含まれる。

Oracle Spatial and Graph開発者ガイド

テキスト・マイニング

Oracle Textでは、Oracleデータベース、ファイルおよびWeb上に格納されているテキストおよびドキュメントの索引付け、検索および分析のために標準SQLが使用される。Oracle Textによって、一群のドキュメントの自動分類およびクラスタリングもサポートされる。こうしたOracle Textの分析機能の多くは、Oracle Data Mining機能の最上位に用意されている。

『Oracle Textアプリケーション開発者ガイド』

例2-3 Oracle Data MiningとOracle Textを組み合せるSQL問合せ

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);

3 Oracle Data Miningの基礎

Oracle Data Miningの基本概念について理解します。

- マイニング機能

- アルゴリズム

- データ準備

- データベース内スコアリング

マイニング機能

Oracle Data Miningの使用にあたっては、データ・マイニングの機能およびアルゴリズムに関する基礎的な理解が必要です。この項では、データ・マイニングの機能の概念を紹介します。アルゴリズムについては、「アルゴリズム」の項で紹介します。

データ・マイニングの各機能は、モデル化や解決の対象となり得る問題の種類を表しています。データ・マイニング機能は、一般に監視ありと監視なしの2つのカテゴリに分けられます。監視あり学習、監視なし学習という概念は、人工知能の1分野といわれる機械学習学に由来しています。

人工知能とは、自身の知能や動作を自主的に提示するシステムの実装や研究を指します。機械学習においては、デバイスが自身のパフォーマンスから学習して、自身の機能を変更できるようにする技術が扱われます。データ・マイニングでは機械学習の概念がデータに適用されます。

監視ありデータ・マイニング

監視あり学習は、指示あり学習とも呼ばれます。この種の学習プロセスは、既知である従属属性またはターゲットからの指示を受けます。指示ありデータ・マイニングでは、ターゲットの動作を一連の独立属性や予測子の機能として説明するように試みられます。

監視あり学習は、通常、予測モデルに帰着します。パターン検出を目的とする監視なし学習とは、この点が異なります。

監視ありモデルの作成には、トレーニングという、ターゲット値が既知である多数のケースをソフトウェアで分析するプロセスが伴います。このトレーニング・プロセスにおいて、モデルは予測を作成するロジックを「学習」します。たとえば、販促に反応しやすい顧客の識別を目的とするモデルは、過去に販促に反応した、または反応しなかったと認識されている多数の顧客の特性を分析することによって、トレーニングされている必要があります。

監視あり学習: テスト

予測モデルの作成(トレーニング)とテストには、別々のデータセットが必要です。作成データ(トレーニング・データ)とテスト・データは同じ列構造である必要があります。通常は、1つの大規模な表またはビューを2つのデータセットに分割し、1つをモデルの作成用、もう1つをモデルのテスト用とします。

テスト・データにモデルを適用するプロセスは、選択した1つのサンプルを基に作成されたモデルを他のデータに一般化できるかどうかの判断に役立ちます。これは特に、オーバー・フィットという、モデルのロジックが作成データに適合しすぎているため、ほとんど予測力を持たない場合に発生する可能性のある現象を回避するために有用です。

監視あり学習: スコアリング

適用データはスコアリング・データとも呼ばれ、モデルの適用対象となる実際の母集団のことを指します。例として、特定の製品を頻繁に購入する顧客の特性を識別するモデルを作成する場合について考えてみます。特定の店舗で買い物をする顧客のうち関連製品を購入する可能性がある顧客の一覧を取得するために、このモデルを当該店舗の顧客データに適用するとします。この場合、店舗の顧客データがスコアリング・データとなります。

監視あり学習のほとんどは、対象とする母集団に適用できます。主要な監視ありマイニング手法(分類および回帰)は、両方ともスコアリングに使用できます。

Oracle Data Miningでは、もう1つの監視あり機能である属性評価のスコアリング操作はサポートしていません。このタイプのモデルは、対象とする母集団に基づいて作成され、その母集団に関する情報を取得するため、別個のデータには適用できません。属性評価モデルでは、ターゲット値の予測において最も重要な属性が戻され、ランク付けされます。

Oracle Data Miningでは、次の表に示す監視ありデータ・マイニング機能がサポートされます。

表3-1 Oracle Data Miningの監視あり機能

機能

説明

サンプル・プログラム

属性評価

ターゲット属性の予測において最も重要な属性を識別する。

提携カード・プログラムに対する顧客の反応を指定し、最も重要な予測子を検出する。

分類

個々のクラスに項目を割り当て、ある項目が属するクラスを予測する。

1群の顧客に関する人口統計データを指定し、提携カード・プログラムに対する顧客の反応を予測する。

回帰

連続する値を概算および予測する。

1群の顧客に関する人口統計データおよび購入データを指定し、顧客の年齢を予測する。

監視なしデータ・マイニング

監視なし学習は、指示を受けません。従属属性と独立属性は区別されません。モデルの作成においてアルゴリズムを導く既知の結果は存在しません。

監視なし学習は、記述目的で使用できます。また、予測の作成にも使用できます。

監視なし学習: スコアリング

監視なしデータ・マイニングはターゲットを指定しませんが、ほとんどの監視なし学習は対象とする母集団に適用できます。たとえば、クラスタリング・モデルは記述データ・マイニングの手法を使用しますが、クラスタの割当てに従ってケースを分類するために適用できます。異常検出は監視なしですが、通常は、あるデータ・ポイントが一連のケース内で典型的かどうかを予測するために使用されます。

Oracle Data Miningでは、クラスタリングおよび特徴 抽出(いずれも監視なしマイニング機能)のスコアリング操作をサポートしています。もう1つの監視なし機能である相関ルールのスコアリング操作はサポートしていません。相関モデルは、特定の母集団に関する情報を取得するためにその母集団に基づいて作成されるため、別個のデータには適用できません。相関モデルでは、項目またはイベントが互いにどのように関連付けられるのかを説明するルールが戻されます。相関ルールは統計とともに戻され、この統計を使用して確率に従ってランク付けされます。

Oracle Data Miningでは、次の表に示す監視なし機能がサポートされます。

表3-2 Oracle Data Miningの監視なし機能

機能

説明

サンプル・プログラム

異常検出

「通常の」データの特徴に合致しない項目(外れ値)を識別する。

1群の顧客に関する人口統計データを指定し、顧客の基準から大きく外れる購買行動を識別する。

相関ルール

データ内で同時発生する傾向にある項目を検出し、その同時発生の原則となるルールを特定する。

一緒に購入される傾向にある項目群を検出し、その関係性を特定する。

クラスタリング

データ内で自然なグループを検出する。

人口統計データを複数のクラスタに分割し、ある個人が特定のクラスタに属する確率をランク付けする

特徴抽出

元の属性の一次結合を使用して、新しい属性(特徴)を作成する。

1群の顧客に関する人口統計データを指定し、顧客の一般的な特徴別に属性をグループ分けする。

関連項目:

- Oracle Data Miningでサポートされているマイニング機能の詳細は、「マイニング機能」を参照してください

- スコアリングの詳細は、「データベース内スコアリング」を参照してください

アルゴリズム

アルゴリズムとは、特定の種類の問題を解決するための数学的手続きです。Oracle Data Miningでは、各データ・マイニング機能について少なくとも1つのアルゴリズムがサポートされています。一部の機能では、複数のアルゴリズムから選択することも可能です。たとえば、分類については4種類のアルゴリズムがサポートされています。

各データ・マイニング・モデルは、特定のアルゴリズムから生成されます。データ・マイニングの問題には、複数のアルゴリズムを使用すると最も適切に解決できるものもあります。この場合、複数のモデルの開発が必要になります。たとえば、初めに特徴抽出モデルを使用して1組の最適化された予測子を作成し、続いて分類モデルを使用してその結果に対する予測を作成するといった方法があります。

Oracle Data Miningの監視ありアルゴリズム

Oracle Data Miningでは、次の表に示す監視ありデータ・マイニング・アルゴリズムがサポートされます。次に示すアルゴリズムの略称は、このマニュアル全体で使用されます。

表3-3 Oracle Data Miningの監視あり機能用アルゴリズム

アルゴリズム

機能

説明

ディシジョン・ツリー

分類

ディシジョン・ツリーを使用すると、人間が理解可能なルールの形式で予測情報を抽出できる。このルールはif-then-else式で、予測を導く決定を示す。

一般化線形モデル

分類および回帰

一般化線形モデル(GLM)では、2項ターゲットの分類用にロジスティック回帰が、連続的ターゲット用に線形回帰が実装される。GLM分類では予測確率の信頼限界がサポートされる。GLM回帰では予測の信頼限界がサポートされる。

最小記述長

属性評価

最小記述長(MDL)は、情報理論モデルの選択原理の1つである。MDLでは、最も単純でコンパクトな表現が、データの説明として最適かつ最も可能性が高いとみなされる。

Naive Bayes

分類

Naive Bayesは、基底の根拠から予測の確率を導き出すBayesの定理を使用して、データで観測された根拠から予測を行う。

サポート・ベクター・マシン

分類および回帰

サポート・ベクター・マシン(SVM)の個々のバージョンで様々なカーネル関数を使用して、種々のデータセットを処理する。線形カーネルおよびガウス(非線形)カーネルがサポートされている。

SVM分類では、可能性のある最大マージンでのターゲット・クラスの分類が試行される。

SVM回帰では、データ・ポイントの最大数がイプシロン幅のチューブ内に収まるような連続関数の検出が試行される。

Oracle Data Miningの監視なしアルゴリズム

Oracle Data Miningでは、次の表に示す監視なしデータ・マイニング・アルゴリズムがサポートされます。次に示すアルゴリズムの略称は、このマニュアル全体で使用されます。

表3-4 Oracle Data Miningの監視なし機能用アルゴリズム

アルゴリズム

機能

説明

Apriori

相関

Aprioriは、あるセット内で同時発生する項目(高頻度項目セット)を識別することにより、マーケット・バスケット分析を行う。Aprioriでは、指定した最小限のサポートよりも高度なサポート、および指定した最小限の信頼度よりも高度な信頼度を備えたルールが検出される。

期待値最大化

クラスタリング

期待値最大化(EM)は、確率的クラスタリングを実行する密度推定アルゴリズムである。密度推定の目的は、所与の母集団がどのように分布しているかを取得する密度関数を構成することです。密度推定値は、母集団のサンプルを表現する観測済データに基づく。

Oracle Data Miningでは、確率的クラスタリングおよびデータ頻度推定に加え、期待値最大化のその他の応用がサポートされる。

k-Means

クラスタリング

k-Meansは、事前に指定した数のクラスタにデータを分割する、距離ベースのクラスタリング・アルゴリズムである。各クラスタには、重心(重力の中心)がある。あるクラスタに含まれる各ケース(母集団内の個々の要素)はその重心に近接する。

Oracle Data Miningでは、k-Meansの拡張バージョンがサポートされる。拡張バージョンは従来の実装よりも高度で、クラスタの階層形式の親子関係が定義される。

Non-Negative Matrix Factorization

特徴抽出

Non-Negative Matrix Factorization (NMF)は、元の属性の一次結合を使用して新しい属性を生成する。一次結合の係数は非負数。モデル適用の際、NMFモデルでは、モデルによって発見された属性(特徴)の新しいセットに元のデータがマップされる。

1クラス・サポート・ベクター・マシン

異常検出

1クラスのSVMで1クラスのプロファイルを作成する。モデルは、適用されると、そのプロファイルと多少異なるケースを識別する。これにより、必ずしも相互には関連していない頻度の低いケースの検出が可能になる。

直交パーティショニング・クラスタリング

クラスタリング

直交パーティショニング・クラスタリング(o-cluster)は、階層形式かつグリッドベースのクラスタリング・モデルを作成する。このアルゴリズムでは、属性空間内の密度の高い領域を定義するクラスタが作成される。基準となる密度レベルはsensitivityパラメータで定義される。

特異値分解および主成分分析

特徴抽出

特異値分解(SVD)および主成分分析(PCA)は、基礎となるデータ分散を取得する場合に最適な直交線形変換である。この特性は、高次元データのディメンション性を減少させ、有益なデータ・ビジュアライゼーションをサポートする場合に非常に役立つ。

ディメンション性の低減に加え、SVDとPCAには、データのノイズ除去(スムージング)、データ圧縮、マトリックス反転、線形方程式系の解決など、他の多くの重要な応用がある。

関連項目:

Oracle Data Miningでサポートされているアルゴリズムの詳細は、「アルゴリズム」を参照してください

データ準備

モデルの質は、そのモデルの作成(トレーニング)に使用されるデータの質に大きく左右されます。どのようなデータ・マイニング・プロジェクトでも、その取組みの多くの時間がデータの準備に費やされます。データは慎重に調査、整備および変換する必要があり、アルゴリズムに適したデータ準備方法を適用する必要があります。

データ準備のプロセスは、テスト用であるかスコアリング用であるかに関係なく、モデルが適用されるあらゆるデータについて、そのモデルのトレーニングに使用されたデータと同じ変換を行う必要があるため、一層複雑になっています。

Oracle Data Miningによるデータ準備の簡略化

Oracle Data Miningでは、データ準備プロセスを大幅に単純化するいくつかの機能が提供されます。

- 組込みのデータ準備: モデルのトレーニングに使用される変換は、モデルに組み込まれ、モデルが新しいデータに適用されるたびに自動的に実行されます。モデルの変換を指定する場合、1回指定すれば済みます。

- 自動データ準備(ADP):: Oracle Data Miningでは、自動データ準備モードがサポートされます。ADPが有効化されている場合、アルゴリズムで必要とされるデータ変換が自動的に実行されます。変換の指示は、ユーザーが指定した変換の指示とともにモデルに組み込まれます。

- 欠損値およびスパース・データの自動管理: Oracle Data Miningでは、マイニング・アルゴリズム間で一貫した方法でスパース性および欠損値が処理されます。

- 透明性: Oracle Data Miningでは、モデル内部の属性のビューであるモデルの詳細が提供されます。ユーザーが解釈可能な形式に変換済属性値をマップする逆変換によって、モデル内部の詳細を調べることができます。可能である場合、属性値は元の列値に逆変換されます。逆変換は、監視ありモデルのターゲットにも適用されるため、スコアリングの結果は、元のターゲットの単位と同じ単位になります。

- カスタム・データ準備用のツール: Oracle Data Miningでは、DBMS_DATA_MINING_TRANSFORM PL/SQLパッケージに多くの一般的な変換ルーチンが用意されています。こられのルーチンを使用することも、SQLで独自のルーチンを開発することもできます(両方行うことも可能)。SQL言語は、データベースに変換を実装するために適しています。カスタムの変換指示は、ADPとともに使用することも、ADPのかわりに使用することもできます。

ケース・データ

ほとんどのデータ・マイニング・アルゴリズムは、各ケースの情報が個別の行に格納される単一レコード・ケース・データに対して動作します。ケースのデータ属性は、列に格納されます。

データがトランザクションに編成される場合、1つのケース(1つのトランザクション)のデータが複数の行に格納されます。トランザクショナル・データの例は、マーケット・バスケット・データです。ネイティブ・トランザクショナル・データに対して動作可能な相関ルールの1つの例外として、Oracle Data Miningのアルゴリズムには、単一レコード・ケースの編成が必要です。

ネストしたデータ

Oracle Data Miningでは、ネストした列の属性がサポートされます。トランザクション表は、ネストした列としてキャストし、単一レコード・ケース・データの表に含めることができます。同様に、スター・スキーマもネストした列としてキャストできます。ネストしたデータの変換では、Oracle Data Miningは、複数のソースおよび構成から取得されるデータを効果的にマイニングできます。

テキスト・データ

Oracle Data Miningは、CLOB列および長いVARCHAR2列を自動的に非構造化テキストとして解釈します。また、短いVARCHAR2、CHAR、BLOBおよびBFILEの列を非構造化テキストとして指定できます。非構造化テキストには、Webページ、ドキュメント・ライブラリ、PowerPointプレゼンテーション、製品仕様、電子メール、レポートのコメント・フィールド、コール・センターのメモなどのデータ項目が含まれます。

Oracle Data Miningでは、Oracle Textユーティリティおよび用語の重み付け方針を使用して、非構造化テキストをマイニング用に変換します。テキスト変換では、テキスト用語が抽出され、テキスト索引の数値が付与されます。テキスト変換プロセスは、モデルおよび個々の属性に対して構成可能です。変換されると、テキストは、データ・マイニング・アルゴリズムでマイニングできます。

関連項目:

- 『Oracle Data Miningユーザーズ・ガイド』のデータの準備に関する項

- 『Oracle Data Miningユーザーズ・ガイド』のデータの変換に関する項

- 『Oracle Data Miningユーザーズ・ガイド』の非構造化テキストのマイニングに関する項

データベース内スコアリング

スコアリングとは、データ・マイニング・アルゴリズムを新しいデータに適用することです。従来のデータ・マイニングでは、モデルは、リモート・システム上の特殊なソフトウェアを使用して構築され、スコアリングのために別のシステムに配置されます。これは、面倒でエラーの発生しやすいプロセスであり、セキュリティ違反に対して脆弱で、データ同期に困難が伴います。

Oracle Data Miningでは、スコアリングは簡単で安全です。スコアリング・エンジンとデータは、両方ともデータベース内に存在します。スコアリングは、SQL言語の拡張であるため、マイニングの結果はアプリケーションおよびレポート・システムに簡単に統合できます。

パラレル実行と管理の簡易化

データベース内スコアリングにはパフォーマンス上の利点があります。すべてのOracle Data Miningスコアリング・ルーチンはパラレル実行をサポートし、これによって複雑な問合せや大規模なデータ・セットのスコアリングの実行に必要な時間が大幅に短縮されます。パラレル実行の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。

データベース内マイニングによって、データ・マイニングの構想をサポートするために必要なIT作業が最小限に抑えられます。標準的なデータベース技術を使用して、モデルをより新しいデータに簡単にリフレッシュ(再作成)および再デプロイできます。スコアリング問合せが同じままであるため、データベースで基礎となるモデルが置き換えられるのみであり、デプロイは迅速です。

モデル適用と動的スコアリングのためのSQL関数

Oracle Data Miningでは、スコアリングはSQL言語関数によって実行されます。関数は、予測、クラスタリングおよび特徴抽出を実行します。関数は、2つの異なる方法、つまり、マイニング・モデル・オブジェクトを適用する方法(例3-1)か、またはマイニング分析を動的に計算する分析句を実行してそれをデータに適用する方法(例3-2)によって起動できます。動的スコアリングは、モデルの必要性を排除するため、「データ・マイニングのプロセス」で説明されている従来のデータ・マイニング方法を補完(または置換)できます。

例3-1では、PREDICTION_PROBABILITY関数によって、例2-1で作成されたモデルsvmc_sh_clas_sampleが適用され、mining_data_apply_vのデータがスコアリングされます。この関数によって、提携カードを使用する可能性の最も高いイタリアの10人の顧客が戻されます。

例3-2では、PREDICTIONおよびPREDICTION_PROBABILITY関数によって、分析構文(OVER ()句)が使用され、mining_data_apply_vのデータが動的にスコアリングされます。この問合せによって、現在提携カードを持っていないが、それを使用する可能性の高い顧客が戻されます。

例3-1 マイニング・モデルの適用によるデータのスコアリング

SELECT cust_id FROM
(SELECT cust_id,
rank() over (order by PREDICTION_PROBABILITY(svmc_sh_clas_sample, 1
USING *) DESC, cust_id) rnk
FROM mining_data_apply_v
WHERE country_name = 'Italy')
WHERE rnk <= 10
ORDER BY rnk;

CUST_ID
----------
101445
100179
100662
100733
100554
100081
100344
100324
100185
101345

例3-2 分析関数の実行によるデータのスコアリング

SELECT cust_id, pred_prob FROM
(SELECT cust_id, affinity_card,
PREDICTION(FOR TO_CHAR(affinity_card) USING *) OVER () pred_card,
PREDICTION_PROBABILITY(FOR TO_CHAR(affinity_card),1 USING *) OVER () pred_prob
FROM mining_data_build_v)
WHERE affinity_card = 0
AND pred_card = 1
ORDER BY pred_prob DESC;

CUST_ID PRED_PROB
---------- ---------
102434       .96
102365       .96
102330       .96
101733       .95
102615       .94
102686       .94
102749       .93
.
.
.
101656       .51

関連項目:

- 「データ・マイニングのプロセス」

- 『Oracle Database SQL言語リファレンス』のデータ・マイニング機能に関する項

- 『Oracle Data Miningユーザーズ・ガイド』の第6章「スコアリングと配置」

第II部 マイニング機能

第II部では、Oracle Data Miningでサポートされているマイニング機能についての概念的な情報を提供します。各マイニング機能は、データ・マイニング・アルゴリズムを使用して解決可能なマイニング問題の種類を表しています。

第II部は次の章で構成されています。

- 回帰

- 分類

- 異常検出

- クラスタリング

- 相関

- 特徴の選択と抽出

注意:

マイニング機能という用語は、SQL言語関数とは関係ありません。

関連項目:

- Oracle Data Miningのアルゴリズムについては、「アルゴリズム」を参照してください

- 『Oracle Database SQL言語リファレンス』

4 回帰

監視ありマイニング機能である回帰を通じて連続的な量的ターゲットを予測する方法を学習します。

- 回帰とは

- 回帰モデルのテスト

- 回帰のアルゴリズム

関連項目:

「Oracle Data Miningの基礎」

回帰とは

回帰は、連続体に沿って数値を予測するデータ・マイニング機能です。利益、売上、住宅ローン金利、住宅価格、建坪、気温、距離などは、回帰の手法を使用して予測することが可能です。たとえば、回帰モデルを使用すると、立地、部屋数、敷地の広さその他の要因に基づいて住宅価格を予測できます。

回帰タスクは、ターゲット値が判明しているデータ・セットから着手します。たとえば、住宅価格を予測する回帰モデルは、一定の期間に観測された多数の住宅のデータに基づいて作成できます。このデータには、住宅価格だけでなく、築年数、建坪、部屋数、税金、学区、商店街までの距離などのデータが含まれていることが考えられます。住宅価格をターゲット、他の属性を予測子として、各住宅のデータが1つのケースを構成します。

モデルの作成(トレーニング)プロセスでは、回帰アルゴリズムは、作成データの各ケースの予測子の関数としてターゲットの値を予測します。予測子とターゲットの関係はモデルに集約され、このモデルはターゲット値が未知である別のデータセットに適用できます。

回帰モデルは、予測値と期待値の差を測定する様々な統計を計算することによってテストされます。回帰プロジェクト用の履歴データは、通常2つのデータセットに分割し、一方をモデルの作成用、もう一方をモデルのテスト用として使用します。

回帰モデルには、動向分析、経営計画、マーケティング、財務予測、時系列予測、生物医学および薬物反応モデリング、環境モデリングなど、多数の用途があります。

回帰の仕組み

データ・マイニング用の良質な回帰モデルを作成および使用する上で、回帰分析で使用される数学の知識は必要ありません。ただし、いくつかの基本的な概念を理解することは有益です。

回帰分析の目的は、指定した観測データセットにその関数が最も適合するように、関数のパラメータの値を決定することです。次の方程式は、これらの関係を記号で表したものです。この方程式は、回帰が、1つ以上の予測子(x_1 、x_2、...、xn)および1連のパラメータ(θ_1、θ_2、...、θn)の関数(F)と誤差の測度(e)との和により、連続的ターゲット(y)の値を推定するプロセスであることを示しています。

y = F(x,θ)  + e

予測子を独立変数、ターゲットを従属変数と考えることができます。誤差(残差とも呼ばれる)は、従属変数の期待値と予測値の差です。回帰パラメータは、回帰係数とも呼ばれます

回帰モデルのトレーニング・プロセスでは、誤差の測度(2乗誤差の合計など)を最小にするパラメータ値を見つけます。

回帰関数には様々な種類があり、誤差の測定方法も様々です。

線形回帰

線形回帰の手法は、予測子とターゲットの関係を直線で近似できる場合に使用できます。

視覚化するのが最も簡単なのは、予測子が1つの回帰です。予測子が1つの単純線形回帰を次の図に示します。

図4-1 予測子が1つの線形回帰

予測子が1つの線形回帰は、次の方程式で表すことができます。

y = θ_2x   +  θ_1  + e

単純線形回帰の回帰パラメータは次のとおりです。

- 線の傾き(2): データ・ポイントと回帰直線との間の角度

- y切片(1): xとy軸が交差する点(x = 0)

多変量線形回帰

多変量線形回帰という用語は、2つ以上の予測子(x_1、x_2、…、xn)を持つ線形回帰を意味します。複数の予測子を使用する場合、回帰直線は2次元空間で視覚化できません。ただし、この回帰直線は、単一予測子の線形回帰を表す方程式を拡張し、各予測子に対応するパラメータを追加することによって簡単に計算できます。

y = θ_1 +  θ_2x_1  +  θ_3x_2   + .....  θn  xn-1  + e

回帰係数

多変量線形回帰では、回帰パラメータを係数と呼ぶこともあります。多変量線形回帰モデルを作成すると、そのモデルが使用する各予測子に対応する係数がアルゴリズムによって計算されます。係数とは、ターゲットyに対する予測子xの影響の測度です。回帰直線がどの程度データに適合するかを評価するために回帰係数の分析を行う際には、多数の統計量を使用できます

非線形回帰

xとyの関係は、直線では近似できないこともしばしばあります。この場合、非線形回帰の手法を使用できます。または、線形の関係になるようにデータを事前処理することもできます。

非線形回帰モデルは、線形回帰方程式よりも複雑な方程式を使用して、yをxの関数として定義します。次の図では、xとyの関係は非線形です。

図4-2 予測子が1つの非線形回帰

多変量非線形回帰

多変量非線形回帰という用語は、2つ以上の予測子(x_1、x_2、…、xn)を持つ非線形回帰を意味します。複数の予測子を使用する場合、非線形関係は2次元空間で視覚化できません。

信頼限界

回帰モデルでは、スコアリング・データの各ケースに対して多数のターゲット値が予測されます。一部の回帰アルゴリズムでは、予測の他に信頼限界も特定できます。信頼限界とは、予測値がある区間に収まると考えられるときの、その区間の上限と下限のことです。

特定の信頼度で予測を行うモデルを作成する場合、信頼区間は予測値に従って生成されます。たとえば、信頼度95%で住宅価格を500,000ドルと予測するモデルでは、住宅価格は475,000から525,000ドルになります。

回帰モデルのテスト

回帰モデルをテストするには、そのモデルを既知のターゲット値を持つテスト・データに適用し、予測値と既知の値を比較します。

モデルを適用するテスト・データは、モデルの構築で使用したデータと互換性があることが必要で、モデル構築データが準備されたのと同じ方法で準備される必要があります。通常、作成データとテスト・データは、同じ履歴データ・セットからのものである必要があります。モデルの作成に数パーセントのレコードが使用され、残りのレコードはモデルのテストに使用されます。

これらの既知の値をモデルがどれくらい正確に予測するかを評価するために、テスト・メトリックが使用されます。モデルの予測精度が高くビジネス要件を満たす場合は、新しいデータにそのモデルを適用して将来の予測に役立てることができます。

回帰統計量

2乗平均平方根誤差および平均絶対誤差は、回帰モデルの全体的な質を評価するためによく使用される統計量です。アルゴリズムによって使用される回帰方法に応じて、異なる統計量を利用できる場合もあります。

2乗平均平方根誤差

2乗平均平方根誤差(RMSE)は、近似線からのデータ・ポイントの平均2乗距離の平方根です。

RMSEは、次のSQL式によって計算できます。

SQRT(AVG((predicted_value - actual_value) * (predicted_value - actual_value)))

次の式は、RMSEを数学記号で表したものです。大文字のシグマは和を表し、jは現在の予測子、nは予測子の数を表しています。

図4-3 二乗平均平方根誤差

平均絶対誤差

平均絶対誤差(MAE)は、残差(誤差)の絶対値の平均です。MAEはRMSEに非常に似ていますが、大きな誤差に対する感度は低くなります。

MAEは、次のSQL式によって計算できます。

AVG(ABS(predicted_value - actual_value))

次の式は、MAEを数学記号で表したものです。大文字のシグマは和を表し、jは現在の予測子、nは予測子の数を表しています。

図4-4 平均絶対誤差

回帰のアルゴリズム

Oracle Data Miningは、回帰に対して2つのアルゴリズムをサポートしています。どちらのアルゴリズムも、ディメンション性が非常に高い、つまり多数の属性を持つデータセット(トランザクショナル・データや非構造化データなど)のマイニングに特に適しています。

- 一般化線形モデル(GLM)
GLMは、線形モデリングでよく使用される統計的手法です。Oracle Data Miningでは、回帰および2項分類でGLMを実装しています。GLMでは、係数統計情報やモデルの統計情報、行の診断情報など多数の情報を利用できます。GLMは信頼限界もサポートしています。

- サポート・ベクター・マシン(SVM)
SVMは、線形回帰および非線形回帰用の強力な最新のアルゴリズムです。Oracle Data Miningには、回帰、分類および異常検出に対してSVMが実装されています。SVM回帰では、非線形回帰用のガウス・カーネルおよび線形回帰用の線形カーネルという2種類のカーネルをサポートしています。

注意:

Oracle Data Miningでは、デフォルトの回帰アルゴリズムとして線形カーネルのSVMが使用されます。

関連項目:

- 「一般化線形モデル」

- 「サポート・ベクター・マシン」

5 分類

監視ありマイニング機能である分類を通じて質的ターゲットを予測する方法を学習します。

- 分類とは

- 分類モデルのテスト

- 分類モデルのバイアス

- 分類のアルゴリズム

関連項目:

監視ありデータ・マイニングの概要は、「Oracle Data Miningの基礎」を参照してください。

分類とは

分類とは、ある集合内の項目をターゲットのカテゴリまたはクラスに割り当てるデータ・マイニング機能です。分類の目的は、データの各ケースのターゲット・クラスを正確に予測することです。たとえば、分類モデルを使用すれば、融資希望者を信用リスク別(低、中、高)で識別することが可能です。

分類タスクは、クラスの割当てが判明しているデータセットから着手します。たとえば、信用リスクを予測する分類モデルは、一定の期間に観測された多数の融資希望者のデータに基づいて作成されます。これらのデータには、支払能力の履歴だけでなく、雇用履歴、持ち家または賃貸、居住年数、投資の数と種類などが含まれていることが考えられます。支払能力をターゲット、他の属性を予測子として、各顧客のデータが1つのケースを構成します。

分類は離散的であり、順序を示すものではありません。連続的な浮動小数点値の場合、ターゲットは質的ではなく量的になります。量的ターゲットを扱う予測モデルでは、分類アルゴリズムではなく、回帰アルゴリズムを使用します。

最も単純なタイプの分類問題は、2項分類です。2項分類では、ターゲット属性が取り得る値は2つのみ(たとえば「支払能力が高い」と「支払能力が低い」)です。多クラス・ターゲットは、3つ以上の値(たとえば支払能力の場合、低、中、高、不明など)を持ちます。

分類アルゴリズムは、モデルの作成(トレーニング)プロセスにおいて、予測子の値とターゲットの値の関係を見つけます。関係の検出に使用される手法は、分類アルゴリズムによって異なります。これらの関係はモデル内に集約され、このモデルはクラスの割当てが未知である別のデータセットに適用できます。

分類モデルは、テスト・データセット内の既知のターゲット値と予測値を比較することによってテストされます。通常、分類プロジェクト用の履歴データを2つのデータセットに分割し、一方をモデルの作成用、もう一方をモデルのテスト用として使用します。

分類モデルを適用すると、各ケースについてのクラスの割当ておよび確率が生成されます。たとえば、顧客を低、中、高の値に分類するモデルの場合、各顧客についてそれぞれの値に分類される確率も予測されます。

分類は、顧客のセグメンテーション、ビジネスのモデル化、マーケティング、信用分析、生物医学および薬物反応モデリングなど、様々な分野で利用されます。

分類モデルのテスト

分類モデルをテストするには、既知のターゲット値を持つテスト・データにそのモデルを適用し、予測値と既知の値を比較します。

モデルを適用するテスト・データは、モデルの構築で使用したデータと互換性があることが必要で、モデル構築データが準備されたのと同じ方法で準備される必要があります。通常、作成データとテスト・データは、同じ履歴データ・セットからのものである必要があります。モデルの作成に数パーセントのレコードが使用され、残りのレコードはモデルのテストに使用されます。

これらの既知の値をモデルがどれくらい正確に予測するかを評価するために、テスト・メトリックが使用されます。モデルの予測精度が高くビジネス要件を満たす場合は、新しいデータにそのモデルを適用して将来の予測に役立てることができます。

混同マトリックス

混同マトリックスは、モデルによる予測をテスト・データでの実際の分類と比較した場合の、正確な予測と不正確な予測の数を表したものです。このマトリックスはn×nの行列(nはクラスの数)です。

次の図は、2項分類モデルの混同マトリックスです。各行は、テスト・データでの実際の分類の数を表しています。各列は、モデルにより予測された分類の数を表しています。

図5-1 2項分類モデルの混同マトリックス

この例では、affinity_cardのポジティブ・クラスをモデルが正確に予測したのが516回、不正確に予測したのが25回ということになります。affinity_cardのネガティブ・クラスの予測については、正確だったのが725回、不正確だったのが10回です。この混同マトリックスから次のことが計算できます。

- このモデルは1241回(516+725)正確な予測を行いました。

- このモデルは35回(25+10)不正確な予測を行いました。

- スコアリングされたケースの合計は1276 (516+25+10+725)です。

- 誤差率は0.0274 (35/1276)です。

- 総合精度は0.9725 (1241/1276)です。

リフト

リフトは、ランダムに生成された予測と比較して、分類モデルの予測がどの程度信頼できるかを計算したものです。リフトが適用されるのは2項分類のみで、ポジティブ・クラスを指定する必要があります。モデル自体に2項ターゲットがない場合は、1つのクラスをポジティブとして指定し、その他すべてのクラスを1つにまとめたものをネガティブ・クラスとして、リフトを計算できます。

多数の統計量計算を使用して、リフトの概念をサポートできます。基本的に、リフトは、モデルにより正確に予測されたポジティブ分類の割合と、テスト・データでの実際のポジティブ分類の割合という、2つの割合の比率として考えることができます。たとえば、ある市場調査で、過去に実施された販促キャンペーンに対して40%の顧客が好意的な反応を示し(ポジティブ分類)、モデルではそれらの顧客の75%を正確に予測したとする場合、リフトは0.75を0.40で割ることによって求めることができます。この計算で求められるリフトは、1.875です。

リフトは、それぞれが同数のケースを含んでいる複数の分位に対して計算されます。対象のデータは、スコアリングされた後で分位に分割されます。ポジティブ・クラスの確率が最も高いものから最も低いものの順にランク付けされ、ポジティブ予測の集中度が高い方が上位の分位になります。標準的な分位数は10です。

リフトは通常、マーケティング用途の反応モデルの性能を測定するために使用されます。反応モデルの目的は、マーケティング・キャンペーンに対する肯定的な反応者が潜在的に多数集まっている母集団のセグメントを特定することです。リフトを使用することにより、最高率の潜在的反応者を得るためには母集団のどの部分にマーケティング活動を行うべきかが明らかになります。

関連項目:

ポジティブ・クラスとネガティブ・クラス

リフト統計量

Oracle Data Miningでは、次のリフト統計量が計算されます。

- 分位nの確率しきい値: ポジティブ・ターゲットが、その分位またはそれより前の任意の分位(分位n-1、n-2、...、1)に含まれる最小確率です。コスト・マトリックスを使用する場合は、かわりにコストしきい値が示されます。コストしきい値は、ポジティブ・ターゲットが、その分位またはそれより前の任意の分位に含まれる最大コストです。

- 累積増加率: ポジティブ・ターゲットの総数に対するポジティブ・ターゲットの累計数の割合。

- ある分位のターゲット密度: その分位内の実際のポジティブ・インスタンスの数を、分位内のインスタンスの総数で割った値。

- 分位nの累積ターゲット密度: 最初のn個の分位に対して計算されるターゲット密度。

- 分位リフト: すべてのテスト・データのターゲット密度に対する分位のターゲット密度の割合。

- レコードの累積比率: ある分位について、最初のn個(ポジティブである信頼度が最も高い最後の分位から指定の分位までを含むn個)の分位によって表されるすべてのケースの割合。

- 分位nの累積ターゲット数: 最初のn個の分位内における実際のポジティブ・インスタンスの数。

- 累積非ターゲット数: 最初のn個の分位における実際のネガティブ・インスタンスの数。

- ある分位の累積リフト: すべてのテスト・データのターゲット密度に対する累積ターゲット密度の割合。

関連項目:

「コスト」

受信者操作特性(ROC)

ROCは、分類モデルにおいて予測値と実際のターゲット値を比較するためのもう1つのメトリックです。リフトと同様に、ROCが適用されるのは2項分類のみで、ポジティブ・クラスを指定する必要があります。

ROCを使用すると、モデルの意思決定能力を的確にとらえることが可能です。つまり、モデルがどの程度正確にネガティブ・クラスまたはポジティブ・クラスを予測できるかを知ることができます。

ROCは、確率しきい値における変化の影響を測定します。確率しきい値は、モデルが分類に使用する決定ポイントです。2項分類のデフォルトの確率しきい値は、0.5です。ある予測の確率が50%以上である場合、モデルは該当するクラスを予測します。確率が50%より低い場合は、もう一方のクラスが予測されます。(多クラス分類の場合、予測されるクラスは、予測の確率が最も高いクラスになります。)

関連項目:

ポジティブ・クラスとネガティブ・クラス

ROC曲線

ROCは、X-Y軸上の曲線として描くことができます。X軸を偽陽性率にします。Y軸を真陽性率にします。

ROCグラフでは左上隅が最適位置です。つまり、真のポジティブ率が高く不適切なポジティブ率が低いことを表します。

曲線下面積

ROC曲線下面積(AUC)により、2項分類モデルの識別能力が測定されます。AUCが大きいほど、実際のネガティブ・ケースではなく実際のポジティブ・ケースが高い確率でポジティブに割り当てられるという尤度も高くなります。AUC測定は、ターゲット分布が不均衡である(1つのターゲット・クラスが他のクラスに比べて顕著である)データセットに対して特に有効です。

ROCとモデルのバイアス

確率しきい値の変化は、モデルにより生成される予測に影響します。たとえば、ポジティブ・クラス予測のしきい値が0.5から0.6に変わった場合、生成されるポジティブ予測の数が少なくなります。これにより、混同マトリックスでの値の分布が影響を受け、真のポジティブ数と不適切なポジティブ数および真のネガティブ数と不適切なネガティブ数が変わります。

モデルのROC曲線は、その混同マトリックスの値について可能なすべての組合せを表します。ROCを使用することにより、全体の最高精度またはクラスごとの最高精度が得られる確率しきい値を見つけることが可能です。たとえば、ポジティブ・クラスを正確に予測することが重要である一方、ネガティブ・クラスの予測ミスについては許容できる場合には、ポジティブ・クラスのしきい値を下げることができます。つまり、ポジティブ・クラスを優先するようにモデルにバイアスをかけることができます。

コスト・マトリックスは、モデルのスコアリング用の確率しきい値を変更する際に便利なメカニズムです。

関連項目:

「コスト」

ROC統計量

Oracle Data Miningでは、次のROC統計量が計算されます。

- 確率しきい値: ポジティブ・クラス予測が生成される最小予測ポジティブ・クラス確率。しきい値が異なると、ヒット率および不適切な警告率も異なります。

- 真のネガティブ数: 確率しきい値未満の予測確率を持つテスト・データにおけるネガティブ・ケース数(正確に予測されたケース)。

- 真のポジティブ数: 確率しきい値以上の予測確率を持つテスト・データにおけるポジティブ・ケース数(正確に予測されたケース)。

- 不適切なネガティブ数: 確率しきい値未満の予測確率を持つテスト・データにおけるポジティブ・ケース数(不正確に予測されたケース)。

- 不適切なポジティブ数: 確率しきい値以上の予測確率を持つテスト・データにおけるネガティブ・ケース数(不正確に予測されたケース)。

- 真のポジティブの割合: ヒット率 (真のポジティブ数/(真のポジティブ数+不適切なネガティブ数))。

- 不適切なポジティブの割合: 不適切な警告率 (不適切なポジティブ数/(不適切なポジティブ数+真のネガティブ数))。

分類モデルのバイアス

コスト、事前確率およびクラスの重みは、分類モデルにバイアスをかけるための手法です。

コスト

コスト・マトリックスは、モデルの意思決定に影響を与えるためのメカニズムです。コスト・マトリックスを使用することにより、モデルによるコストの高い分類ミスを最小化することが可能です。また、モデルが利益の高い正確な分類を行う確率を最大化することもできます。

たとえば、あるモデルが信用リスクの高い顧客を低リスクとして分類した場合、このような分類ミスにはコストがかかります。コスト・マトリックスを使用することによって、こうしたミスを回避するようにモデルにバイアスをかけることができます。また、信用履歴が最も悪い顧客を正確に分類することを優先するようモデルにバイアスをかける際に、コスト・マトリックスを使用することもできます。

確率しきい値が変化したときにモデルがどのように動作するかを評価するメトリックとしては、ROCが有効です。ROCは、用途が異なるいくつかのシナリオがある場合に、特定の分類子について最適なコストを見つけるのに役立ちます。この情報を利用して、モデルの配置に影響を与えるコスト・マトリックスを作成できます。

コストと精度

混同マトリックスと同様、コスト・マトリックスはn×nの行列(nはクラスの数)です。混同マトリックスとコスト・マトリックスはいずれも、特定のテスト・データセットに基づく実測値と予測値のすべての可能な組合せを含んでいます。

混合マトリックスは、精度、つまり予測の総数に対する正確な予測の割合を測定するために使用します。コスト・マトリックスは、それぞれの予測の精度について相対的な重要度を特定するときに使用されます。ビジネスに応用する場合は、モデルの質を評価するときに、精度に加えコストが重視されることがほとんどです。

関連項目:

「混同マトリックス」

ポジティブ・クラスとネガティブ・クラス

ポジティブ・クラスは、最も重要性が高いクラスです。リフトおよびROCを計算するときは、ポジティブ・クラスの指定が必要となります。

図5-2の混同マトリックスでは、値1がポジティブ・クラスとして指定されています。これは、提携カードがあれば消費を増やす可能性がある顧客(affinity_card=1)を正確に予測する方が、反応のない顧客(affinity_card=0)を正確に予測するよりも重要であるとモデルの作成者が判断したことを意味します。提携カードを使用する可能性が低い顧客にカードを提供したとしても、カードのコストが低いため企業の損失はそれほど大きくはありません。しかし、反応する可能性が高い顧客を見落とした場合は、収益増加の機会を逃すことになります。

図5-2 ポジティブ予測とネガティブ予測

この混同マトリックスでの真のポジティブ率と不適切なポジティブ率は次のようになります。

- 不適切なポジティブ率 — 10/(10 + 725) =.01

- 真のポジティブ率: 516/(516 + 25) =.95

関連項目:

- 「リフト」

- 「受信者操作特性(ROC)」

コストと利益の割当て

コスト・マトリックスでは、正の数(コスト)を使用してネガティブの結果に影響を与えることが可能です。負数のコストは利益と解釈されるため、負の数(利益)を使用するとポジティブの結果に影響を与えることができます。

消費を増やす可能性がある顧客に提携カードを提供しなかった場合、ビジネスに1500ドルの損害を与えることになる、と算定したとします。図5-2の混同マトリックスを持つモデルを使用した場合、不適切なネガティブ予測(反応する顧客の分類ミス)により1500ドルのコストがかかります。反応しない顧客の分類ミスの方が、ビジネスに与える損害は小額です。不適切なポジティブ予測(反応しない顧客の分類ミス)によるコストは$300しかかからないものと算定しました。

販促キャンペーンを計画する際は、これらのコストを考慮する必要があります。このキャンペーンの対象として顧客を1人追加するには10ドルのコストがかかると見積ります。そのため、真のネガティブ予測には10ドルの利益を関連付けます(これは、反応しない顧客はキャンペーンの対象外にできるためです)。対象外となる顧客1人につき、10ドルの節約になります。コスト・マトリックスでは、この利益を負のコスト(-10)として指定します。

次の図は、これらのコストおよび利益をコスト・マトリックスで表したものです。

図5-3 コストおよび利益を表すコスト・マトリックス

Oracle Data Miningでは、分類モデルのスコアリングに影響するようにコストを指定できます。ディシジョン・ツリー・モデルでは、コスト・マトリックスを使用してモデルの作成に影響を与えることも可能です。

事前確率およびクラスの重み

ベイズ・モデルでは、作成データと実際の母集団(スコアリング・データ)との間の分布の差を埋めるために、事前確率を指定できます。分類の他の形式を使用して、事前確率と同じバイアス効果を持つクラスの重みを指定できます。

多くの問題では、1つのターゲット値が頻繁に出現します。たとえば、電話でのマーケティング・キャンペーンに対する肯定的な反応が2%未満の場合や、クレジット・カードのトランザクションでの不正の発生数が1%未満の場合です。このタイプの、履歴データに基づいた分類モデルは、2つのクラスの特徴を区別するために頻度の低いクラスが十分に検出できません。結果が、新しいデータへの適用時に、すべてのケースにおいて高頻度クラスを予測するモデルとなります。このようなモデルの精度は非常に高くなる可能性がありますが、あまり有用ではありません。これは、精度のみを分類モデルの質の判断材料とするのは好ましくないことを示しています。

トレーニング・データにおける非現実的な分布を補正するには、モデルの作成プロセスで事前確率を指定します。データの分布に関する問題を補正するその他の方法としては、層別サンプリングや異常検出があります。

関連項目:

「異常検出」

分類のアルゴリズム

Oracle Data Miningには、次の分類アルゴリズムが用意されています。

- ディシジョン・ツリー
ディシジョン・ツリーは、ツリーの作成に使用されるロジックを明らかにする条件文であるルールを自動的に生成します。「デシジョン・ツリー」を参照してください。

- Naive Bayes
Naive BayesではBayesの定理が使用されます(履歴データの値の組合せと値の頻度を数えて確率を計算する式)。「Naive Bayes」を参照してください。

- 一般化線形モデル(GLM)
GLMは、線形モデリングでよく使用される統計的手法です。Oracle Data Miningでは、2項分類および回帰でGLMを実装しています。GLMでは、係数統計情報やモデルの統計情報、行の診断情報など多数の情報を利用できます。GLMは信頼限界もサポートしています。「一般化線形モデル」を参照

- サポート・ベクター・マシン(SVM)
SVMは、線形回帰および非線形回帰をベースにした強力な最新のアルゴリズムです。Oracle Data Miningでは、2項分類および多クラス分類に対してSVMが実装されています。 「サポート・ベクター・マシン」を参照。

注意:

Oracle Data Miningでは、デフォルトの分類アルゴリズムとしてNaive Bayesが使用されます。

6 異常検出

監視なし機能である異常検出を通じてデータの希少ケースを検出する方法を学習します。

- 異常検出とは

- 異常検出アルゴリズム

関連項目:

- 『Creation and Deployment of Data Mining-Based Intrusion Detection Systems in Oracle Database 10g』(Campos, M.M.、Milenova, B.L.、Yarmus, J.S.共著)
http://www.oracle.com/pls/topic/lookup?ctx=db121&id=datmin

- 監視なしデータ・マイニングの概要は、「Oracle Data Miningの基礎」を参照してください

異常検出とは

異常検出の目的は、一見同質なデータ内に存在する特異なケースを識別することです。異常検出は、重大な意味を持ちながら検出することが難しい、不正行為、ネットワークへの侵入などの発生頻度の低いイベントを検出するための重要なツールです。

異常検出は、次のような問題の解決に使用できます。

- 司法当局は不正行為に関するデータは蓄積しますが、合法行為に関するデータは収集しません。疑わしい行為についてはどのようにして注意すればよいでしょうか。
司法当局のデータはすべて1つのクラスに属します。反例はありません。

- 保険代理店は何百万もの保険金請求を処理しますが、ごくわずかに不正が含まれていることを認識しています。不正請求はどのように識別できるでしょうか。
請求データには、反例がごくわずかですが含まれています。これらは外れ値です。

1クラス分類

異常検出は、分類の一形式です。

異常検出は、1クラス分類として実装されますが、これは、トレーニング・データに示されるクラスが1つのみであるためです。異常検出モデルでは、あるデータ・ポイントが特定の分布に対して典型的かどうかを予測します。非典型的なデータ・ポイントは、外れ値か、これまでに観測されていないクラスのサンプルである可能性があります。

通常、分類モデルは、各クラスのサンプルと反例の両方が含まれるデータに対してトレーニングする必要があり、これによって、その分類モデルは両者を区別できるようになります。たとえば、薬物の副作用を予測するモデルは、その薬物に対する広範な反応が含まれるデータに基づいてトレーニングする必要があります。

1クラス分類プログラムは、トレーニング・データの典型的なケースを大まかに説明するプロファイルを作成します。プロファイルからの偏差は、異常として識別されます。1クラス分類プログラムは、「正しい」動作を識別しようとする一方、それ以外の動作はすべて不正とみなすため、ポジティブ・セキュリティ・モデルと呼ばれる場合もあります。

注意:

1クラス分類問題の解決は困難な場合があります。1クラス分類プログラムの精度は通常、有意の反例を使用して作成した標準的な分類プログラムの精度とは一致しません。

異常検出の目的は、これまで何も情報が得られなかった箇所に、一定の有益な情報を提供することにあります。ただし、十分な数の「希少」なケースが存在し、層別サンプリングで十分な反例を含むトレーニング・セットを標準的な分類モデル用に生成する場合は、それが一般的に優れた解決策となります。

関連項目:

分類マイニング機能の概要は、「分類とは」を参照してください。

1クラス・データの異常検出

1クラス・データでは、すべてのケースが同じ分類に属します。この場合、反例(別のクラスのケースの集合)の特定が困難であったり、反例の収集にコストがかかったりします。たとえば、テキスト・ドキュメントの分類の場合、特定のトピックに基づいてドキュメントを分類することは簡単です。しかし、そのトピックに属さないドキュメントが非常に大量にあり、種類も様々である可能性があります。そうなると、他の種類のドキュメントを反例として指定することは難しくなります。

異常検出を利用すれば、特定の種類のドキュメントについて特異なケースを見つけることが可能です。

外れ値検出用の異常検出

外れ値とは、データにとって典型的とみなされる分布から外れた位置に存在するために特異であるケースのことです。たとえば、人口調査のデータにおいて、家計収入の中央値が$70,000で平均値が$80,000となっているとき、収入が$200,000の家庭が1、2軒存在します。この場合、これらのケースは外れ値とみなすことができます。

正規分布の中央からの距離によって、データの分布に対して特定のポイントがどの程度典型的であるかが示されます。各ケースは、そのケースが典型的または非典型的である確率に従ってランク付けできます。

外れ値が存在すると、様々な種類のデータ・マイニングに悪影響を及ぼすことがあります。以上検出を使用して、データをマイニングする前に外れ値を識別できます。

異常検出アルゴリズム

Oracle Data Miningでは、異常検出に対して1クラスサポート・ベクター・マシン(SVM)がサポートされています。SVM分類を異常検出で使用する場合、ターゲットは使用されません。

関連項目:

「1クラスSVM」

7 クラスタリング

監視なしマイニング機能であるクラスタリングを通じてデータの自然なグループを検出する方法を学習します。

- クラスタリングとは

- クラスタリング・モデルの評価

- クラスタリングのアルゴリズム

関連項目:

監視なしデータ・マイニングの概要は、「Oracle Data Miningの基礎」を参照してください

クラスタリングについて

クラスタリング分析では、相互に類似性を持つデータ・オブジェクトの集まり(クラスタ)を見つけます。つまり、あるクラスタのメンバーは、別のクラスタのメンバーよりも同じクラスタのメンバーに類似していることになります。異なるクラスタには、共通のメンバーを含めることができます。クラスタリング分析の目的は、クラスタ間の類似度が低くなり、クラスタ内の類似度が高くなるような、質の高いクラスタを見つけることです。

クラスタリングは、分類と同じくデータを分割するために使用します。クラスタリング・モデルが分類と異なるのは、事前に定義されていないグループにデータを分割する点です。分類モデルの場合は、あらかじめ定義済のクラスをターゲットとして指定し、それらのクラスに割り当てることによってデータを分割します。クラスタリング・モデルではターゲットを使用しません。

クラスタリングはデータの調査に役立ちます。ケース数が多くグループが明らかでない場合、クラスタリング・アルゴリズムを使用すると、自然なグループを見つけることができます。

クラスタリングは、監視ありモデルを作成できる同種グループを識別するためのデータの前処理手段として有効です。

また、異常検出のためにクラスタリングを使用できます。データをいくつかのクラスタに分割した後に、どのクラスタにも適合しないケースがあることがわかります。これらのケースが異常値または外れ値です。

クラスタの計算方法

クラスタを計算する方法にはいくつかの種類があります。Oracle Data Miningでは、次の方法がサポートされます。

- 密度ベース: このタイプのクラスタリングでは、基礎となるデータ分布を検出し、データの高密度領域が分布のピークにどのように対応しているかを評価します。高密度領域は、クラスタとして解釈されます。密度ベースのクラスタ評価は、確率的です。

- 距離ベース: このタイプのクラスタリングでは、距離メトリックを使用してデータ・オブジェクト間の類似度を判別します。距離メトリックでは、クラスタの実際のケースとクラスタの典型的なケースとの間の距離を測定します。典型的なケースは、重心と呼ばれます。

- グリッドベース: このタイプのクラスタリングでは、入力空間を超矩形セルに分割し、隣り合う高密度セルを識別してクラスタを形成します。

新しいデータのスコアリング

クラスタリングは監視なしマイニング機能ですが、Oracle Data Miningでは、クラスタリングのスコアリング操作がサポートされます。新しいデータは、確率的にスコアリングされます。

階層クラスタリング

Oracle Data Miningがサポートするクラスタリング・アルゴリズムは、階層クラスタリングを実行します。リーフ・クラスタは、アルゴリズムによって生成される最終クラスタです。階層内で上位にあるクラスタは中間クラスタです。

ルール

各クラスタ内のデータはルールによって説明されます。ルールとは、親クラスタを複数の子クラスタに分岐させるためのロジックを表した条件文です。ルールは、ある確率で特定のクラスタに割り当てられるケースについての条件を記述します。

支持度と信頼度

支持度および信頼度は、クラスタリング・ルールとケースとの関係を説明するメトリックです。支持度は、ルールに該当するケースの割合です。信頼度は、ルールによって説明されるケースが実際にクラスタに割り当てられる確率です。

クラスタリング・モデルの評価

クラスタリングでは既知のクラスを使用しないため、クラスタの解釈が難しい場合があります。ビジネスの意思決定に使用するにあたってクラスタが信頼できるものかどうか、どのようにして判断すればよいのでしょうか。

Oracle Data Miningのクラスタリング・モデルでは、高度なモデルの透明性が確保されています。クラスタリング・アルゴリズムによって生成される情報を調べることでモデルを評価できます(距離ベースのクラスタの重心など)。さらに、クラスタリング・プロセスは階層的であるため、階層内での各クラスタの位置に関連するルールなどの情報を評価できます。

クラスタリングのアルゴリズム

Oracle Data Miningでは、次のクラスタリング・アルゴリズムがサポートされます。

- 期待値最大化
期待値最大化は、確率的な密度推定クラスタリング・アルゴリズムです。

- k-Means
k-Meansは、距離ベースのクラスタリング・アルゴリズムです。Oracle Data Miningでは、k-Meansの拡張バージョンがサポートされる。

- 直交パーティショニング・クラスタリング(O-Cluster)
O-Clusterは、独自のグリッドベースのクラスタリング・アルゴリズムです。

関連項目:

『O-Cluster: Scalable Clustering of Large High Dimensional Data Sets』(Campos, M.M.、Milenova, B.L共著、Oracle Data Mining Technologies, 10 Van De Graaff Drive, Burlington, MA 01803)

次の表に、2つのアルゴリズムの主な特徴の比較を示します。

表7-1 クラスタリング・アルゴリズムの比較

機能

k-Means

O-Cluster

期待値最大化

クラスタリングの方法

距離ベース

グリッドベース

分布ベース

ケース数

任意のサイズのデータセットを処理可能

ケース数が500を超えるデータセットにより適している。アクティブなサンプリングによって大きい表を処理する

任意のサイズのデータセットを処理可能

属性数

属性数が少ないデータセットにより適している

属性数が多いデータセットにより適している

属性数が多いまたは少ないデータセットに適している

クラスタ数

ユーザーが指定する

自動的に決定される

自動的に決定される

階層クラスタリング

はい

はい

はい

確率的なクラスタの割当て

はい

はい

はい

注意:

Oracle Data Miningでは、デフォルトのクラスタリング・アルゴリズムとしてk-Meansを使用します。

関連項目:

- http://www.oracle.com/pls/topic/lookup?ctx=db121&id=datmin

- 「期待値最大化」

- 「k-Means」

- 「O-Cluster」

8 相関

監視なしマイニング機能である相関を通じて相関ルールを検出する方法を学習します。

- 相関とは

- トランザクショナル・データ

- 相関のアルゴリズム

関連項目:

監視なしデータ・マイニングの概要は、「Oracle Data Miningの基礎」を参照してください

相関とは

相関は、ある集合内の項目が同時に発生する確率を見つけるデータ・マイニング機能です。同時に発生する項目間の関係は、相関ルールで表されます。

相関ルール

相関モデルの結果は、データ内の相関のパターンを識別するルールです。Oracle Data Miningでは、相関モデルのスコアリング操作はサポートしていません。

相関ルールを次のように適用できます。

- 支持度: 各項目がデータで同時に発生する頻度。

- 信頼度: 後件が前件を含むトランザクションで発生する頻度。

- 価値: ビジネス価値と項目の相関との関係度

マーケット・バスケット分析

相関ルールは、よく販売トランザクションの分析に使用されます。たとえば、食料品店でシリアルを購入する顧客は同時に牛乳も購入することが多いことがわかっているとします。実際に相関分析を行うと、精算時にシリアルと牛乳の両方が含まれている確率は85%である、という結果が得られます。この関係は、次のルールで表すことができます。

Cereal implies milk with 85% confidence

相関モデルのこうした応用は、マーケット・バスケット分析と呼ばれています。マーケット・バスケット分析は、ダイレクト・マーケティングや販促活動、ビジネス上の傾向の把握などに役立ちます。また、店舗レイアウト、カタログのデザイン、抱合せ販売などにも活用できます。

相関ルールとE-Commerce

相関モデルは、その他の分野でも重要な用途に応用されています。たとえば、E-Commerceにおいて、Webページのパーソナライズに相関ルールを使用することがあります。相関モデルから、ページAとページBにアクセスするユーザーは70%の確率で同じセッション内でページCにアクセスすることがわかったとします。このルールに基づいて、ページCに関心を持ちそうなユーザー向けに動的なリンクを作成することが可能です。この相関ルールは次のように表されます。

A and B imply C with 70% confidence

関連項目:

「信頼度」

トランザクショナル・データ

他のデータ・マイニング機能と異なり、相関はトランザクションに基づくマイニング機能です。トランザクション処理では、清算カウンタにおけるマーケット・バスケットの内容などの項目の集まりがケースに含まれます。トランザクションの項目の集まりが、そのトランザクションの1つの属性です。トランザクションに関連するタイムスタンプやユーザーIDなどがその他の属性となります。

マーケット・バスケット・データとも呼ばれるトランザクショナル・データは、レコード(行)のセットでケースが構成されるため、複数レコード・ケースの形式であると言えます。たとえば、次の図で、ケース11は3つの行で構成され、ケース12および13はそれぞれ4つの行で構成されています。

図8-1 トランザクショナル・データ

トランザクショナル・データ以外のデータは、単一レコード(行)でケースが構成されるため、単一レコード・ケースの形式であると言えます。Oracle Data Miningでは、相関モデルは、トランザクショナル・データまたは非トランザクショナル・データのいずれかを使用して作成されます。データは、トランザクショナルではない場合、相関マイニング・アクティビティを実行する前に、ネストした列に変換してトランザクショナルにすることができます。

関連項目:

- Oracle Data Miningユーザーズ・ガイド

- 「Apriori用のデータ準備」

相関のアルゴリズム

Oracle Data Miningは、高頻度項目セット内の項目に関する相関ルールを計算するときにAprioriアルゴリズムを使用します。

9 特徴の選択と抽出

特徴選択、特徴抽出および属性評価を実行する方法を学習します。

Oracle Data Miningでは、監視ありデータ・マイニングとして属性評価が、監視なしマイニング機能として特徴抽出がサポートされています。

- 最適な属性の検出

- 特徴選択および属性評価とは

- 特徴抽出とは

関連項目:

監視ありおよび監視なしデータ・マイニングの概要は、「Oracle Data Miningの基礎」を参照してください

最適な属性の検出

情報量が多すぎると、データ・マイニングの有効性が低下する可能性があります。モデルの作成やテストのために集められたデータ属性の列が、そのモデルにとって意味のある情報となりません。実際にモデルの質や精度を落としてしまいます。

一例として、ある集団内で特定の病気が発生する可能性を予測する目的で、その集団に関するデータを大量に集めたとします。この情報の一部(おそらくその大部分)は、その病気に対する罹患率についてほとんどあるいはまったく影響を与えません。1世帯当たりの車の所有台数といった属性は、何の影響も及ぼさない可能性があります。

無関係な属性は、データにノイズを加えるのでモデルの精度に響きます。ノイズがあると、モデルのサイズが大きくなり、モデルの作成およびスコアリングに必要な時間やシステム・リソースも増大します。

多くの属性を持つデータセットには、相関した属性のグループが含まれることがあります。これらの属性は、実際には基底に存在する同一の特徴を測定します。こうした属性が作成データに存在していると、アルゴリズムのロジックが歪められ、モデルの精度が影響を受ける可能性があります。

ワイド・データ(多くの属性)は通常、データ・マイニング・アルゴリズムについて処理上の問題が生じる元となります。モデル属性は、アルゴリズムで使用される処理空間のディメンションです。処理空間のディメンション性が高くなるほど、アルゴリズムの処理にかかる計算コストが高くなります。

ノイズ、相関、高いディメンション性の影響を最小限に抑えるには、データ・マイニングの前処理手順として、なんらかの形でディメンションを削減することが望ましい場合があります。ディメンションを削減するには、特徴選択と特徴抽出という2つの方法があります。

- 特徴選択: 最適な属性の選択

- 特徴抽出: 属性の組合せによる、新しい削減された特徴セットの作成

特徴選択および属性評価とは

一部のデータ・マイニング・プロジェクトでは、最も重要な予測子を見つけることが最終目的となります。たとえば、高い信用リスクを示す顧客の主要な特徴を見つけることを目的とするモデルなどです。

Oracle Data Miningでは、ターゲット予測での重要度に従って属性をランク付けする属性評価マイニング機能がサポートされています。属性評価では、すべての予測子がモデルに保持されていないため、実際には特徴選択は実行されません。実際の特徴選択では、指定した重要度のしきい値以下にランク付けされた属性は、モデルから削除されます。

特徴選択は、予測モデリングの計算効率を向上させるための前処理手段として有効です。Oracle Data Miningは、ディシジョン・ツリー・アルゴリズム内およびNaive Bayes(自動データ準備(ADP)が有効化されている場合)内で最適化を行うために特徴選択を実装しています。一般化線形モデル(GLM)モデルは前処理手順として特徴選択を実行するように構成できます。

属性評価およびスコアリング

Oracle Data Miningでは、属性評価のスコアリング操作はサポートしていません。属性評価の結果は、予測における影響度に従ってランク付けされた作成データの属性です。ランキングおよび重要度の測度は、分類モデルに対するトレーニング・データの選択に使用することができます。

特徴抽出とは

特徴抽出は、属性を削減するプロセスです。最も重要な属性を選択および保持する特徴選択とは異なり、特徴抽出では実際に属性を変換します。変換された属性、つまり特徴は、元の属性の一次結合です。

特徴抽出のプロセスによって、より小さく上質な属性のセットが生成されます。特徴の最大数は、ユーザーが指定するか、アルゴリズムによって決定されます。デフォルトでは、アルゴリズムが決定します。

抽出した特徴で作成されたモデルは、意味のある少数の属性でデータが説明されるため、質が高くなる可能性があります。

特徴抽出では、高いディメンション性を持つデータセットを、少数のディメンションに投影します。そのため、特徴抽出はデータの視覚化に役立ちます(ディメンションを2つまたは3つに削減すると、複雑なデータセットを効果的に視覚化できるためです)。

特徴抽出の用途には、潜在意味解析、データ圧縮、データ分解および投影、パターン認識などがあります。特徴抽出を使用して、監視あり学習の速度と効率を向上させることもできます。

特徴抽出は、一連のキーワードとその頻度によって表されるドキュメントのまとまりからテーマを抽出する場合に使用できます。各テーマ(特徴)は、キーワードの組合せで表されます。これにより、発見されたテーマで各ドキュメントを表現できるようになります。

特徴抽出とスコアリング

Oracle Data Miningでは、特徴抽出のスコアリング操作をサポートしています。監視なしマイニング機能として、特徴抽出にはターゲットは含まれません。適用されると、特徴抽出モデルによって、入力が特徴のセットに変換されます。

属性評価および特徴抽出のアルゴリズム

属性評価および特徴抽出で使用されるアルゴリズムを理解します。

Oracle Data Miningでは、属性評価用に最小記述長アルゴリズムをサポートしています。

Oracle Data Miningでは、次の特徴抽出アルゴリズムがサポートされます。

- Non-Negative Matrix Factorization (NMF)。

- 特異値分解(SVD)および予測成分分析(PCA)。

注意:

Oracle Data Miningでは、デフォルトの特徴抽出アルゴリズムとしてNMFを使用します。

関連トピック

- 最小記述長

- Non-Negative Matrix Factorization

- 特異値分解

第III部 アルゴリズム

第III部では、Oracle Data Miningでサポートされているアルゴリズムについての概念的な情報を提供します。各マイニング機能には、少なくとも1つのアルゴリズムがあります。

第III部は次の章で構成されています。

- Apriori

- ディシジョン・ツリー

- 期待値最大化

- 一般化線形モデル

- k-Means

- 最小記述長

- Naive Bayes

- Non-Negative Matrix Factorization

- O-Cluster

- 特異値分解

- サポート・ベクター・マシン

関連トピック

- マイニング機能

10 Apriori

Aprioriアルゴリズムを使用して、相関ルールを計算する方法を学習します。

- Aprioriとは

- 相関ルールと高頻度項目セット

- Apriori用のデータ準備

- 相関ルールの計算

- 相関ルールの評価

関連項目:

相関ルールについては、「相関」を参照してください。

Aprioriとは

相関マイニングの問題は、次の下位問題に分解できます。

- 指定した最小頻度で発生する一連のトランザクションですべての項目の組合せを見つける。これらの組合せは高頻度項目セットと呼ばれます。

- 高頻度項目セット内で見込まれる項目の同時発生性を表すルールを計算する。(「例: 高頻度項目セットからのルールの計算」を参照。)

Aprioriは、高頻度項目セット内で別の項目が存在する場合に、ある項目が存在する確率を計算します。

項目数が多い問題領域で頻度の低いイベントを含む相関を見つけるために相関ルール・マイニングを使用することはお薦めしません。Aprioriは、頻度が最小支持度のしきい値を超えるパターンを発見します。したがって、頻度の低いイベントを含む相関を見つけるためには、最小支持度をかなり低くしてアルゴリズムを実行する必要があります。しかし、このようにすると、特に項目数が多いときに、列挙される項目セットの数が極端に多くなる場合があります。このような場合、実行時間が著しく長くなります。データに多くの属性が含まれるときに頻度の低いイベントを見つけるには、分類や異常検出の方が最適な方法です。

Aprioriの作成プロセスはパラレル実行をサポートします。

関連項目:

パラレル実行の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください

相関ルールと高頻度項目セット

Aprioriアルゴリズムは、高頻度項目セット内の項目間の確率的な関係を表すルールを計算します。たとえば、A、BおよびCを含む高頻度項目セットから、「トランザクションにAとBが含まれる場合、Cも含まれる可能性が高い」というルールが導出されます。

相関ルールは、項目または項目のグループがある確率で別の項目の存在を示すことを表します。ターゲットを予測するディシジョン・ツリー・ルールとは異なり、相関ルールは単に相関関係を表します。

前件と後件

相関ルールのIFコンポーネントは、前件と呼ばれます。THENコンポーネントは、後件と呼ばれます。前件と後件は結合しておらず、共通の項目を持ちません。

Oracle Data Miningでは、前件に1つ以上の項目を、後件に1つの項目を持つ相関ルールをサポートしています。

信頼度

ルールは、関連する信頼度(前件が発生した場合に後件が発生する条件付き確率)を持ちます。ルールの最小信頼度を指定できます。

Apriori用のデータ準備

相関モデルは、トランザクショナル・データを使用するように設計されています。トランザクショナル・データでは、ケースIDと各ケースの値の間に1対多関係が存在します。各ケースIDと値のペアは、個別のレコード(行)に指定されます。

ネイティブ・トランザクショナル・データとスター・スキーマ

トランザクショナル・データは、一意ではないケースID列および値列を使用するネイティブ・トランザクショナル形式で格納するか、スター・スキーマなどの他の構成で格納することができます。データは、ネイティブ・トランザクショナル形式で格納されていない場合、Aprioriアルゴリズムによって処理するためにネストした列に変換する必要があります。

関連項目:

「トランザクショナル・データ」

『Oracle Data Miningユーザーズ・ガイド』のネストしたデータの使用に関する項

項目と集合

トランザクショナル・データで、項目の集合は、各ケースに関連付けられます。集合には、理論上、集合のメンバーとして可能なすべてのものが含まれます。たとえば、1つのマーケット・バスケット・トランザクションにおいて、理論上は、すべての製品を購入できます。ただし、実際は、考えられるすべての項目のごく一部のみが1つのトランザクションに存在し、マーケット・バスケットのアイテムはその店舗で入手できるごく一部の項目のみを表します。

スパース・データ

集合内で複数の項目が欠損している場合はデータがスパースであることがわかります。項目の欠損は、NULL値が存在する場合と、単に欠損している場合があります。

トランザクショナル・データ内のNULLは、既知であるがトランザクションには存在しない値を表すものとみなされます。たとえば、数百個ある商品のうち3つの商品が、1回のトランザクションで購入されたとします。購入されなかった商品は既知の商品ですが、トランザクションには含まれていません。

Oracle Data Miningでは、トランザクショナル・データにスパース性が想定されます。Aprioriアルゴリズムは、スパース・データの処理に対して最適化されています。

関連項目:

Oracle Data Miningユーザーズ・ガイド

注意:

Aprioriは自動データ準備の影響を受けません。

相関ルールの計算

相関分析では、第1段階として項目セットを列挙します。項目セットとは、トランザクション内の2つ以上の項目のあらゆる組合せのことです。

項目セット

1つの項目セットに含める項目の最大数はユーザーが指定します。最大数を2にした場合は、2項目から構成されるすべての組合せがカウントされます。最大数が2を超える場合は、2項目から構成されるすべての組合せ、3項目から成るすべての組合せ、以降指定した最大数の項目から成るすべての組合せがカウントされます。

次の表は、例10-1に示したトランザクションから得られた項目セットの一覧です(ここでは、項目セットの項目の最大数を3に設定したものとします)。

表10-1 項目セット

トランザクション

項目セット

11

(B,D) (B,E) (D,E) (B,D,E)

12

(A,B) (A,C) (A,E) (B,C) (B,E) (C,E) (A,B,C) (A,B,E) (A,C,E) (B,C,E)

13

(B,C) (B,D) (B,E) (C,D) (C,E) (D,E) (B,C,D) (B,C,E) (B,D,E) (C,D,E)

例10-1 サンプル・トランザクショナル・データ

TRANS_ID   ITEM_ID
---------  -------------------
11         B
11         D
11         E
12         A
12         B
12         C
12         E
13         B
13         C
13         D
13         E

高頻度項目セット

相関ルールは項目セットに基づいて計算されます。すべての項目セットからルールが生成された場合、非常に多くのルールが存在することになり、意味のあるルールが得られないことがあります。また、モデルの作成に長い時間がかかる場合もあります。そのため、通常は、データ内での発生頻度が高い項目セットのみを使用してルールを生成する方が望ましいと言えます。高頻度項目セットとは、ユーザーが指定した最小頻度で発生する項目セットのことです。

最小頻度の項目セットの支持度は、相関ルール用に使用される項目セット数を制限するための割合であり、ユーザーが指定します。項目セットは、ルールの基盤として使用されるためには、全トランザクションにおいて少なくともこの割合で出現する必要があります。

次の表は、表10-1の項目セットのうち、支持度が66%を超える高頻度項目セットをまとめたものです。

表10-2 高頻度項目セット

高頻度項目セット

トランザクション

支持度

(B,C)

2/3

67%

(B,D)

2/3

67%

(B,E)

3/3

100%

(C,E)

2/3

67%

(D,E)

2/3

67%

(B,C,E)

2/3

67%

(B,D,E)

2/3

67%

関連項目:

相関ルールの計算については、「Apriori」を参照してください

例: 高頻度項目セットからのルールの計算

次の表に、「相関」で計算した項目セットおよび高頻度項目セットを示します。高頻度項目セットは、67%の最小支持度で発生する項目セットであり、3つのトランザクションのうち少なくとも2つにこの項目セットが含まれている必要があります。

表10-3 項目セット

トランザクション

項目セット

11

(B,D) (B,E) (D,E) (B,D,E)

12

(A,B) (A,C) (A,E) (B,C) (B,E) (C,E) (A,B,C) (A,B,E) (A,C,E) (B,C,E)

13

(B,C) (B,D) (B,E) (C,D) (C,E) (D,E) (B,C,D) (B,C,E) (B,D,E) (C,D,E)

表10-4 最小支持度67%の高頻度項目セット

項目セット

トランザクション

支持度

(B,C)

12および13

67%

(B,D)

11および13

67%

(B,E)

11、12および13

100%

(C,E)

12および13

67%

(D,E)

11および13

67%

(B,C,E)

12および13

67%

(B,D,E)

11および13

67%

ルールは条件付き確率を表しています。ルールの信頼度は、項目が同時に発生する確率を前件の発生確率で除算して計算されます。

たとえば、B (前件)が存在する場合、C (後件)も存在する可能性はどのくらいでしょうか。「Bの場合、C」というルールの信頼度はどのくらいでしょうか。

表10-3から、次のことがわかります。

- 3つのトランザクションにはすべてBが含まれている(3/3または100%)。

- 2つのトランザクションのみにBとCの両方が含まれている(2/3または67%)。

- したがって、ルール「Bの場合、C」の信頼度は、67/100または67%である。

次の表に、表10-4の高頻度項目セットから導出できるルールを示します。

表10-5 高頻度項目セットとルール

高頻度項目セット

ルール

確率(前件と後件) /確率(前件)

信頼度

(B,C)

- (Bの場合C)

- (Cの場合B)

- 67/100

- 67/67

- 67%

- 100%

(B,D)

- (Bの場合D)

- (Dの場合B)

- 67/100

- 67/67

- 67%

- 100%

(B,E)

- (Bの場合E)

- (Eの場合B)

- 100/100

- 100/100

- 100%

- 100%

(C,E)

- (Cの場合E)

- (Eの場合C)

- 67/67

- 67/100

- 100%

- 67%

(D,E)

- (Dの場合E)

- (Eの場合D)

- 67/67

- 67/100

- 100%

- 67%

(B,C,E)

- (BとCの場合E)

- (BとEの場合C)

- (CとEの場合B)

- 67/67

- 67/100

- 67/67

- 100%

- 67%

- 100%

(B,D,E)

- (BとDの場合E)

- (BとEの場合D)

- (DとEの場合B)

- 67/67

- 67/100

- 67/67

- 100%

- 67%

- 100%

最小信頼度が70%の場合、これらの高頻度項目セットについて10のルールが生成されます。最小信頼度が60%の場合、16のルールが生成されます。

ヒント:

モデルの作成時間を短縮し、生成されるルールの数を減らすには、最小信頼度の値を大きくします。

関連項目:

「相関」

相関ルールの評価

最小支持度と最小信頼度の使用によって、相関モデルの作成が左右されます。支持度と信頼度は、相関モデルで生成されるルールの質を評価するための主要なメトリックでもあります。また、Oracle Data Miningでは相関ルールのリフトがサポートされています。これらの統計上の測度は、ルールのランク付けに使用できるので予測に役立ちます。

支持度

ルールの支持度は、そのルールにある項目が同時に発生する頻度を示します。たとえば、トランザクションの40%で、シリアルと牛乳が同時に発生するとします。この場合、次に示すルールの支持度はそれぞれ40%です。

cereal implies milk
milk implies cereal

支持度は、全トランザクションの合計数に対する、前件と後件のすべての項目が含まれるトランザクションの割合です。

次のように確率記法で支持度を表すことができます。

support(A implies B) = P(A, B)

信頼度

ルールの信頼度は、同一のトランザクションで前件と後件の両方が発生する確率を示します。前件が存在する場合に後件が存在する条件付き確率です。たとえば、50のトランザクションにシリアルが含まれており、50のうち40のトランザクションには牛乳も含まれているとします。ルールの信頼度は次のようになります。

cereal implies milk with 80% confidence

信頼度は、前件を含むトランザクションの数に対する、ルールの支持度の割合です。

次のように確率記法で信頼度を表すことができます。

confidence (A implies B) = P (B/A), which is equal to P(A, B) / P(A)

関連項目:

- 「信頼度」

- 「例: 高頻度項目セットからのルールの計算」

リフト

ルールが有効であるかどうかを決定するには、支持度と信頼度の両方を使用する必要があります。ただし、これらの測度が高くても、有益でないルールが生成される場合もあります。次に例を示します。

Convenience store customers who buy orange juice also buy milk with
a 75% confidence.
The combination of milk and orange juice has a support of 30%.

このルールは一見、優れているように思われ、多くの場合、問題はありません。信頼度も支持度も高いルールとなっています。ただし、コンビニエンス・ストアの顧客が一般に90%の確率で牛乳を購入する場合を考えます。その場合、オレンジ・ジュースを購入する顧客は実際、一般の顧客より牛乳を購入する可能性が低くなります。

こうしたルールの質を評価するには、3つ目の測度が必要です。リフトは、それぞれの支持度を持つ前件と後件のランダムな同時発生に対するルールの強度を示します。リフトにより、改良度(前件を前提とする後件の確率の増加)に関する情報が得られます。リフトは次のように定義されます。

(Rule Support) /(Support(Antecedent) * Support(Consequent))

これは、後件の支持度で除算した項目の組合せの信頼度として定義することもできます。この牛乳の例で、顧客の40%がオレンジ・ジュースを購入すると仮定すると、改良度は次のようになります。

30% / (40% * 90%)

この値は0.83で、これは1未満の改良度です。

改良度が1未満のルールでは、偶然以上に購入を確実に予測できないため、支持度と信頼度が高くても、実際の組合せ購入の確率は示されません。

ヒント:

モデルの作成時間を短縮し、単純なルールを生成するには、ルールの最大長の値を小さくします。

ヒント:

モデルの作成時間を短縮し、生成されるルールの数を減らすには、最小支持度の値を大きくします。

11 ディシジョン・ツリー

ディシジョン・ツリー・アルゴリズムの使用方法を学習します。ディシジョン・ツリーは、Oracle Data Miningがサポートする分類アルゴリズムの1つです。

- ディシジョン・ツリーとは

- ディシジョン・ツリーの拡大

- ディシジョン・ツリー・アルゴリズムのチューニング

- ディシジョン・ツリー用のデータ準備

関連項目:

「分類」

ディシジョン・ツリーとは

Naive Bayes同様、ディシジョン・ツリー・アルゴリズムは条件付き確率に基づきます。ただし、ディシジョン・ツリーでは、Naive Bayesとは異なり、ルールが生成されます。ルールは、ユーザーが理解でき、レコード・セットを識別するためにデータベース内で使用できる条件文です。

データ・マイニングの一部のアプリケーションでは、モデルの品質全体を評価する際に、ある結果または別の結果を予測する理由は、重要ではない場合があります。別の用途では、決定の理由を説明できることが不可欠となる場合があります。たとえば、マーケティングの専門家は、マーケティング・キャンペーンを成功させるために、顧客の各セグメントに関する説明をすべて必要とします。ディシジョン・ツリー・アルゴリズムはこのような用途に適しています。

ディシジョン・ツリー・ルールを使用して、モデルを検証します。ルールが特定領域の専門家にとって意味がある場合、これによってモデルが検証されます。

ディシジョン・ツリー・ルール

Oracle Data Miningでは、ルールを提供するアルゴリズムがいくつかサポートされています。ディシジョン・ツリーの他にも、クラスタリング・アルゴリズムでは、クラスタのメンバーによって共有される条件を記述するルールが提供され、相関ルールでは、属性間の相関を記述するルールが提供されます。

ルールではモデルの透明性が提供され、モデルの内部機構について知ることができます。ルールは、モデルの予測の根拠を示します。Oracle Data Miningではモデルの透明性が高いレベルで確保されています。ルールが提供されるのは一部のアルゴリズムですが、モデルの詳細はすべてのアルゴリズムで提供されます。モデルの詳細を調べて、アルゴリズムによる属性の内部的な処理方法(変換や逆変換など)を決定できます。透明性については、『Oracle Data Miningユーザーズ・ガイド』の逆変換の理解に関する項のデータ準備の説明やモデル詳細の表示に関する項のモデル作成の説明を参照してください。

次の図に、ディシジョン・ツリー・モデルによって生成されるルールを示します。このルールは、ポイント・カードが与えられている場合に顧客が消費を増やす確率を予測するディシジョン・ツリーから生成されています。ターゲット値の0は消費を増やす可能性がないことを、1は増やす可能性があることを意味しています。

図11-1 ディシジョン・ツリー・ルールの例

図11-1のルールは、次の条件文を表しています。

IF
(current residence > 3.5 and has college degree and is single)
THEN
predicted target value = 0

このルールは完全なルールです。サロゲート・ルールは適用時に使用できる関連属性で、分割に必要な属性がない場合に使用されます。

関連項目:

- 「クラスタリング」

- 「相関」

信頼度と支持度

信頼度と支持度はルールのプロパティです。これらの統計上の測度は、ルールおよび予測のランク付けに使用できます。

支持度: ルールを満たすトレーニング・データセット内のレコード数

信頼度: ルールが満たされている場合に、予測結果が発生する可能性

たとえば、1000人の顧客リスト(1000ケース)について考えます。すべての顧客のうち、100人が所与のルールを満たすものとします。これらの100人のうち、75人は消費を増やす可能性があり、25人は消費を増やす可能性がありません。このルールの支持度は、100/1000 (10%)です。ルールを満たすこれらのケースの予測の信頼度(消費を増やす可能性)は、75/100 (75%)となります。

ディシジョン・ツリーの利点

ディシジョン・ツリー・アルゴリズムは、ユーザーによる操作をあまり必要とせずに、正確かつ解釈可能なモデルを作成できます。このアルゴリズムは、2項および多クラスのどちらの分類問題にも使用できます。

このアルゴリズムは、作成時と適用時の両方において高速です。ディシジョン・ツリーの作成プロセスはパラレル実行をサポートします。(スコアリングはアルゴリズムに関係なくパラレル実行をサポートします。)パラレル実行の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。

ディシジョン・ツリーのスコアリングは特に高速です。モデル作成時に作成されるツリー構造は、一連(通常、2から7)の単純なテストに使用されます。各テストは、単一の予測子に基づきます。これは、値のリストにIN(含まれる)かNOT IN(含まれない)か(質的予測子)、または、一定の値に対してLESS THAN(未満)かEQUAL TO(等しい)か(量的予測子)のメンバーシップに関するテストです。

ディシジョン・ツリー・モデルのXML

ユーザーは、ディシジョン・ツリー・モデルを表すXMLを生成でき、生成されるXMLは、Data Mining GroupのPredictive Model Markup Language (PMML)バージョン2.1の仕様に示されている定義に準拠します。XML仕様については、http://www.dmg.orgを参照してください。

ディシジョン・ツリーの拡大

ディシジョン・ツリーは、一連の質問を問うことによってターゲット値を予測します。各段階で問われる質問はそれぞれ、直前の質問に対する回答によって決まります。最終的に特定のターゲット値を一意に識別できるような質問を重ねていきます。図形的には、このプロセスがツリー構造を形成します。

図11-2 ディシジョン・ツリーの例

図11-2は、9個のノード(および対応する9個のルール)を持つディシジョン・ツリーです。ターゲット属性は2値で、顧客が消費を増やす場合は1、増やさない場合は0です。ツリーにおける最初の分岐は、CUST_MARITAL_STATUS属性に基づきます。このツリーのルート(ノード0)はノード1とノード3に分岐します。既婚者はノード1に、独身者はノード3に属します。

ノード1には、次のルールが関連付けられています。

Node 1 recordCount=712,0 Count=382, 1 Count=330
CUST_MARITAL_STATUS isIN  "Married",surrogate:HOUSEHOLD_SIZE isIn "3""4-5"

ノード1には712個のレコード(ケース)が含まれています。この712ケースのすべてにおいて、CUST_MARITAL_STATUS属性は顧客が結婚していることを示しています。これらのケースのうち、消費を増やす可能性がないターゲット値0を382のケースがとり、消費を増やす可能性があるターゲット値1を330のケースがとります。

分岐

ディシジョン・ツリー・アルゴリズムは、トレーニング・プロセスにおいて、ケース(レコード)のセットを2つの子ノードに分割する最も効率的な方法を繰り返し見つける必要があります。Oracle Data Miningでは、この分岐の計算用に2つの同種メトリック(giniおよびentropy)を使用できます。デフォルトのメトリックはジニです。

同種メトリックは、代替の分岐条件の質を評価し、最も同種の子ノードを生成する条件を選択します。同種は、純正とも呼ばれ、生成される子ノードが同じターゲット値を持つケースから構成されている度合いを指します。目標は、子ノードの純正度を最大限に高めることにあります。たとえば、ターゲットがyesまたはno(消費を増やす、または増やさない)のいずれかとなる場合、ほとんどのケースが消費を増やす、またはほとんどのケースが消費を増やさないノードを生成することが目標となります。

コスト・マトリックス

ディシジョン・ツリーを含むすべての分類アルゴリズムでは、適用時にコスト/利益マトリックスを使用できます。ディシジョン・ツリー・モデルの作成およびスコアリングに同じコスト・マトリックスを使用したり、スコアリングに異なるコスト/利益マトリックスを指定したりすることが可能です。

関連項目:

- 「コスト」

- 「事前確率およびクラスの重み」

オーバーフィットの回避

原理上は、ディシジョン・ツリー・アルゴリズムでは、トレーニング・サンプルを完全に分類するのに十分な深さまでツリーの各枝を増やすことができます。これは、場合によっては理にかなった方策ですが、実際には、データ内にノイズが存在する場合や、トレーニング・サンプルの数が少なすぎて真のターゲットの機能を代表するサンプルを生成できない場合に、扱いにくくなることがあります。どちらの場合でも、この単純なアルゴリズムでは、トレーニング・サンプルにオーバーフィットするツリーが生成される可能性があります。オーバーフィットとは、あるモデルで、そのモデルの作成に使用されたデータは正確に予測できるが、新たに提示されたデータに対しては満足に予測できない状態を指します。

オーバーフィットを回避するために、Oracle Data Miningでは自動のプルーニング(枝刈り)、およびツリーの拡大を制御する設定可能な制限条件をサポートしています。制限条件を使用すると、条件が満たされた場合に以降の分岐が回避されます。プルーニングによって、予測能力がほとんどない枝を取り除くことができます。

ディシジョン・ツリー・アルゴリズムのチューニング

ディシジョン・ツリー・アルゴリズムには、分岐および終了基準に対して妥当なデフォルト値が実装されています。ただし、微調整のために複数の構築設定を使用できます。

ツリーの最適な分岐条件を見つけるための同種メトリックを指定できます。デフォルトのメトリックはジニです。entropyメトリックも使用できます。

ツリーの拡大を制御する設定も使用できます。ツリーの最大深度、子ノードで必要とされるケースの最小数、追加の分岐を可能にするためにノードで必要とされるケースの最小数、子ノードのケースの最小数、および追加の分岐を可能にするためにノードで必要とされるケースの最小数を指定できます。

トレーニング・データ属性は、アルゴリズムのデータ準備の一部としてビニングされます。ビニング手順で使用するビンの数を変更できます。使用されるビンの数と作成に必要な時間の間にトレードオフがあります。

関連項目:

Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス

ディシジョン・ツリー用のデータ準備

ディシジョン・ツリー・アルゴリズムは、自身のデータ準備を内部的に管理します。データを事前処理する必要はありません。ディシジョン・ツリーは自動データ準備の影響を受けません。

関連項目:

『Oracle Data Miningユーザーズ・ガイド』のデータの準備に関する項

『Oracle Data Miningユーザーズ・ガイド』のデータの変換に関する項

12 期待値の最大化

期待値最大化のクラスタリング・アルゴリズムを使用する方法を学習します。

- 期待値最大化とは

- アルゴリズムの拡張

- アルゴリズムの構成

- 期待値最大化用のデータ準備

関連項目:

「クラスタリング」

期待値最大化とは

混合モデルの期待値最大化(EM)推定は、様々なアプリケーションで使用される一般的な確率密度推定の技術です。Oracle Data Miningでは、EMを使用して分布ベースのクラスタリング・アルゴリズム(EMクラスタリング)を実装します。

期待値ステップと最大化ステップ

期待値最大化は、反復的な方法です。それは、初期パラメータの不確定要素で始まります。パラメータ値を使用して、現在のモデルの可能性が計算されます。これは、期待値ステップです。次にパラメータ値は、可能性を最大化するよう再計算されます。これは、最大化ステップです。新しいパラメータ推定値を使用して新しい期待値が計算され、推定値は、可能性を最大化するように再び最適化されます。この反復プロセスは、モデルが収束するまで続きます。

確率密度推定

密度推定の目的は、所与の母集団がどのように分布しているかを取得する密度関数を構成することです。確率密度推定において、密度推定値は、母集団のサンプルを表現する観測済データに基づきます。モデル内の高データ密度の領域は、基礎となる分布のピークに対応します。

密度ベースのクラスタリングは、強調がクラスタ内の最小の距離および最大の距離に配置される距離ベースのクラスタリング(k-Meansなど)とは概念的に異なります。密度ベースのクラスタリングは、確率的な性質を持つため、クラスタ割当てで信頼性の高い確率を計算できます。欠損値を自動的に処理することもできます。

アルゴリズムの拡張

期待値最大化(EM)は、分布ベースのクラスタリング・アルゴリズムとして確立されていますが、その標準形式では多少扱いずらいところがあります。Oracle Data Miningの実装には、大容量データのスケーラブルな処理や自動パラメータ初期化などの重要な拡張が含まれます。Oracle Data MiningがEMクラスタリングに固有の制限事項に対処するために使用する方針については、この項の後の部分を参照してください。

注意:
EMの略称は、ここではEMクラスタリングを示すために使用しています。

標準の期待値最大化の制限事項:

- スケーラビリティ: EMには、レコードと属性の数に応じた線形のスケーラビリティがあります。収束に至るまでの反復回数は、増大するデータ・サイズ(行と列の両方)に伴って増加する傾向があります。EMの収束は、複雑な問題に対応する場合は速度が低下し、計算リソースに相当な負荷をかける可能性があります。

- 高いディメンション性: EMにおける高次元(ワイド)データのモデリング用の容量には制限があります。多くの属性の存在がモデルの収束速度を低下させ、アルゴリズムが意味のある属性とノイズを区別する能力も低下します。そのため、アルゴリズムによる相関検出能力は弱まります。

- 成分数: EMでは、通常、ユーザーが成分数を指定する必要があります。ほとんどの場合、これは、ユーザーが前もって知ることができる情報ではありません。

- パラメータ初期化: 適切な初期パラメータ値の選択が、モデルの品質に重大な影響を与えることがあります。EMに使用されている初期化の方針は、一般的に、計算上高い負荷を伴います。

- 成分からクラスタへ: EMモデルの成分は、通常、クラスタとして扱われます。密集性の高いクラスタは、通常、複数の成分によってモデル化されるため、このアプローチには問題があります。複雑な形状を持つクラスタは、複数の成分によってモデル化される必要があります。

スケーラビリティ

期待値最大化(EM)のOracle Data Miningによる実装では、データベースのパラレル処理を使用して高度なスケーラビリティを実現します。EMの計算は、基本的に、行のパラレル処理に役立つもので、部分的な結果は容易に集計されます。パラレル実装によって、計算集中型の作業がスレーブ・プロセス全体に効率的に分散され、部分的な結果が結合されて最終的な解決策が生成されます。

関連項目:

パラレル実行の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください

高いディメンション性

期待値最大化(EM)のOracle Data Miningによる実装では、数千の属性を持つ高次元データを効率的に処理できます。これは、次の2段階のプロセスを通じて実行されます。

- 単一列(ネストなし)属性のデータ空間が、ペアワイズ相関用に分析されます。他の属性と重大な相関性のある属性のみが、EM混合モデルに含まれます。アルゴリズムは、M個の最も相関性のある属性にディメンション性を制限するように構成することも可能です。

- 同様のタイプのイベントを測定する高次元の(ネストした)量的データは、EMによってモデル化された低次元の特徴セットに投影されます。高次元の量的データの例として、テキスト、推奨事項、遺伝子発現、マーケット・バスケット・データなどがあります。

成分数

期待値最大化(EM)の典型的な実装では、ユーザーは、モデルの成分数を指定する必要があります。ユーザーは一般的に正しい成分数を知らないため、これには問題があります。選択する成分が多すぎたり少なすぎたりすると、それぞれオーバーフィットやアンダーフィットが発生する可能性があります。

モデル検索が有効である場合、EM成分の数が自動的に決定されます。アルゴリズムでは、保持サンプルを使用して正しい成分数を決定しますが、ベイズ情報量規準(BIC)の正則化が使用されている場合の非常に小規模なデータセットについては除外します。

パラメータ初期化

適切な初期パラメータ値の選択が、解決策の品質に重大な影響を与えることがあります。期待値最大化(EM)は、尤度関数の全体的な最大値に収束することは保証されませんが、かわりに局所的な最大値に収束する可能性があります。そのため、異なる初期パラメータ値によって、異なるモデル・パラメータおよび異なるモデル品質が導かれることがあります。

モデル検索のプロセスで、EMモデルが個別に大きくなります。新しい成分が追加されると、それらのパラメータは、分布適用が少ない領域に初期化されます。

成分からクラスタへ

期待値最大化(EM)モデルの成分は、通常、クラスタとして扱われます。ただし、このアプローチでは問題が発生する可能性があります。密集性の高いクラスタは、通常、複数の成分によってモデル化されます。EMで使用される確率密度関数の形状によって、識別されたクラスタの形状が効率的に前もって決定されます。たとえば、ガウス密度関数では、単一ピークの対称クラスタを識別できます。より複雑な形状のクラスタは、複数の成分によってモデル化される必要があります。

任意の形状の高密度領域は、単一クラスタとして解釈されると理想的です。これを実現するため、Oracle Data MiningによるEM実装では、個々の成分の分布の重複に基づいた成分階層を構築します。Oracle Data MiningのEMでは、凝集型階層クラスタリングを使用します。成分分布の重複は、バタチャリア距離関数を使用して測定されます。階層内の適切なカットオフ・レベルを選択することで、高レベル・クラスタの数が自動的に決定されます。

Oracle Data MiningによるEM実装では、モデル成分の高レベル・クラスタへの割当てが生成されます。平均、分散、最頻値、ヒストグラム、ルールなどの統計は、高レベル・クラスタを追加的に記述します。アルゴリズムは、クラスタリング割当てを成分レベルで生成するか、クラスタ・レベルで生成するように構成できます。

アルゴリズムの構成

Oracle Data Miningでは、期待値最大化(EM)によって、ユーザーが初期化パラメータを指定したり、モデルの成分数を指定することなく、非常に大規模なデータセット(行と列の両方)を効果的にモデル化できます。アルゴリズムによって合理的なデフォルトが提供されますが、同時に柔軟性も得ることができます。

次のリストで、EMの構成可能ないくつかの要素について説明します。

- ネストしていない列の独立属性をモデルに含めるかどうか。この選択は、デフォルトでシステムによって決定されます。

- 量的属性にベルヌーイ分布またはガウス分布のどちらを使用するか。デフォルトでは、アルゴリズムによって最も適切な分布が選択されますが、個々の属性では異なる分布を使用できます。分布は、ユーザーによって指定されると、すべての量的属性に使用されます。

- 収束基準を保持データセットまたはベイズ情報量規準(BIC)のどちらに基づかせるか。収束基準は、デフォルトでシステムによって決定されます。

- 新しい成分をモデルに追加するために必要な対数尤度関数の値における割合の改善。デフォルトの割合は0.001です。

- クラスタを個別の成分として定義するか、成分のグループとして定義するか。クラスタは、デフォルトで成分のグループに関連付けられます。

- モデルの成分の最大数。モデル検索が有効である場合、アルゴリズムによってコンポーネントの数(尤度ファンクションの改善度または正則化(BIC)に基づいた指定された最大数まで)が決定されます。

- 凝集型クラスタリング・ステップ用の結合関数で、枝内の最近隣距離(単一結合)、枝内の平均距離(平均結合)、または枝内の最大距離(完全結合)のどれを使用するか。デフォルトでは、アルゴリズムによって単一結合が使用されます。

関連項目:

『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のグローバル設定に関する項およびアルゴリズム設定の期待値最大化に関する項

期待値最大化用のデータ準備

自動データ準備(ADP)を使用する場合、期待値最大化用の追加のデータ準備を指定する必要はありません。ネストしていない列の量的属性は、ガウス分布でモデル化される場合、ADPによって正規化されます。ADPは、topNビニング変換を質的属性に適用します。

欠損値の処理は、Oracle Data Miningのアルゴリズムによって自動的に行われるため、必要ありません。期待値最大化アルゴリズムによって、欠損値は、ガウス分布でモデル化される単一列の量的属性の平均値に置換されます。他の単一列の属性(ベルヌーイ分布でモデル化される質的属性および量的属性)では、NULLは、独自の頻度数を持つ個別値として扱われるため、置換されません。ネストした列では、欠損値は0 (ゼロ)として扱われます。

関連項目:

データ変換、欠損値の処理、および自動データ準備の詳細は、『Oracle Data Miningユーザーズ・ガイド』の第3章と第4章を参照してください。

13 一般化線形モデル

線形モデリングの一般化線形モデル(GLM)の統計手法を使用する方法を学習します。

Oracle Data Miningでは、回帰および 2項分類でGLMがサポートされます。

- 一般化線形モデルとは

- Oracle Data MiningのGLM

- スケーラブルな特徴選択

- GLM用のチューニングと診断

- GLM用のデータ準備

- 線形回帰

- ロジスティック回帰

関連項目:

- 「回帰」

- 「分類」

一般化線形モデルとは

一般化線形モデル(GLM)は、「線形回帰」で説明する線形モデルのクラスを含み、このクラスを拡張したものです。

線形モデルでは、ターゲット(従属変数y)が予測応答値に関係なく一定分散を持つ予測子の値を条件として正規分布するという、一連の制限が仮定される点が最も重要です。線形モデルおよび線形モデルの制限のメリットは、計算が容易なこと、解釈可能なモデルの形式であること、および適合度の質に関する一定の診断情報を計算できる点にあります。

一般化線形モデルは、実際には違反されることが多いこれらの制限を緩和したものです。たとえば、2値(yes/noまたは0/1)応答は、クラス間で同じ分散を持ちません。さらに、線形モデルでの項の合計は、一般的に、極端にネガティブな値と極端にポジティブな値を包含する非常に大きな範囲をとる場合があります。2値応答の例では、場合によっては、応答が[0,1]の範囲内の確率となるようにする必要があります。

一般化線形モデルでは、リンク関数および分散関数という2つのメカニズムを使用して、線形モデルの仮定に違反する応答に対応しています。リンク関数は、線形モデルの単純な形式を維持できるように、ターゲットの範囲を負の無限大から正の無限大の潜在範囲に変換します。分散関数は、予測応答の1つの関数として分散を表現するため、非一定分散の応答(2値応答など)に対応できます。

Oracle Data Miningは、GLMモデルのファミリのうち最もよく使用されている次の2つのアルゴリズムを備えています。これらのアルゴリズムでは、最もよく使用されているリンク関数および分散関数が使用されます。

- 線形回帰: 恒等リンク関数および分散関数(定数1に等しい: 応答値の範囲に対する一定分散)を使用します。「線形回帰」を参照してください。

- ロジスティック回帰: ロジット・リンク関数および2項分散関数を使用します。「ロジスティック回帰」を参照してください。

Oracle Data MiningのGLM

一般化線形モデル(GLM)はパラメトリック・モデリング手法です。パラメトリック・モデルでは、データの分散を仮定します。仮定が満たされる場合、パラメトリック・モデルはノンパラメトリック・モデルよりも効率的になります。

このタイプのモデルの作成では、どの程度仮定が満たされるかを見極めることが課題となります。このため、良質なパラメトリック・モデルを作成するには質の診断が重要です。

解釈性と透明性

Oracle Data Miningの一般化線形モデル(GLM)は解釈が容易です。モデルを作成するたびに、多くの統計情報と診断情報が生成されます。透明性も重要な特徴であり、モデルの詳細によって係数の主要特性が説明され、グローバルな詳細によって高水準の統計情報が提供されます。

関連項目:

GLM用のチューニングと診断

ワイド・データ

Oracle Data Miningの一般化線形モデル(GLM)は、ワイド・データの処理に対して独自に適合化されています。このアルゴリズムでは、実質的に無限数の予測子(属性)を使用する良質なモデルを作成およびスコアリングできます。唯一の制限は、システム・リソースによる制限です。

信頼限界

一般化線形モデル(GLM)は、信頼限界を予測する機能があります。GLMでは、各行の確率(分類のみ)および最良推定値の予測に加え、予測値(回帰)または確率(分類)が収まる区間の特定が可能です。区間の幅は、モデルの精度やユーザーが指定した信頼度に応じて変わります。

信頼度は、モデルによって計算される信頼区間内に実際の値が収まることについてのモデルの確からしさを表す尺度です。一般的には、信頼度95%を使用します。たとえば、従業員の収入を$125,000と予測するモデルの場合、収入は95%の確率で$90,000から$160,000の範囲に収まります。Oracle Data Miningのデフォルトの信頼度は95%ですが、この値は設定可能です。

注意:

信頼限界は、係数統計情報とともに戻されます。また、PREDICTION_BOUNDS SQL関数を使用すると、モデルの予測の信頼限界値を取得できます。『Oracle Database SQL言語リファレンス』を参照してください。

リッジ回帰

最良の回帰モデルは、予測子とターゲットとの相関が高く、予測子同士の相関はほとんどないモデルです。多重共線性は、相関関係にある予測子を使用する多変量回帰を説明するための用語です。

リッジ回帰は、多重共線性を補う手法です。Oracle Data Miningでは、回帰および分類の両マイニング機能に対してリッジ回帰がサポートされています。アルゴリズムは、データに単一性(正確多重共線性)を検出すると、リッジ回帰を自動的に使用します。

単一性に関する情報は、グローバルなモデルの詳細で戻されます。

関連項目:

- 線形回帰のグローバルなモデルの統計情報

- ロジスティック回帰のグローバルなモデルの統計情報

リッジ回帰の構成

モデルの構築設定を指定すると、リッジ回帰を明示的に有効化できます。リッジ回帰を明示的に有効化する場合、システム生成のリッジ・パラメータを使用するか、独自のパラメータを指定することが可能です。リッジ回帰が自動的に使用される場合、リッジ・パラメータも自動的に計算されます。

リッジの構成設定については、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。構成の選択について次にまとめます。

- リッジ回帰に関して、アルゴリズムによる自動選択を優先するかどうかを指定します。

- リッジ・パラメータの値(リッジ回帰を明示的に有効化した場合にのみ使用される)を指定します。

- 線形回帰にリッジが使用される際に、分散拡大係数(VIF)統計情報を生成するかどうかを指定します。

リッジと信頼限界

リッジ回帰を使用して作成されたモデルでは信頼限界はサポートされていません。

関連項目:

「信頼限界」

リッジと分散拡大係数(線形回帰用)

GLMでは、リッジ回帰を使用して作成されたものでないかぎり、線形回帰モデルについて分散拡大係数(VIF)の統計情報が生成されます。GLMS_VIF_FOR_RIDGE設定を指定すると、リッジを使用したときもVIFを明示的に要求できます。アルゴリズムは、システム・リソースが十分にある場合にのみ、リッジを使用してもVIFを生成します。

リッジとデータ準備

リッジ回帰が有効化されていると、モデルの係数および診断に関して、データ準備方法の違いで異なる結果が生成される可能性があります。リッジ回帰が使用される場合は特に、一般化線形モデルに対して自動データ準備を有効化することをお薦めします。

関連項目:

「GLM用のデータ準備」

スケーラブルな特徴選択

Oracle Data Miningでは、一般化線形モデルの特徴選択および生成の、高度にスケーラブルで自動化されたバージョンがサポートされます。この機能によって、アルゴリズムのパフォーマンスを向上し、精度と解釈性を改善できます。特徴選択および生成は、線形回帰と2項ロジスティック回帰の両方で使用できます。

特徴選択

特徴選択は、モデルに含まれる用語を選択するプロセスです。モデルに含まれる用語が少ないほど、ユーザーはその意味をより簡単に解釈できます。また、一部の列は、モデルで予測しようとしている値とは関係ないことがあります。このような列を削除すると、モデルの精度を向上できます。

特徴選択の構成

特徴選択は、一般化線形モデル用の構築設定です。デフォルトでは無効です。特徴選択用に構成すると、アルゴリズムによって自動的にデフォルトの適切な動作が決定されますが、次の構成オプションも使用できます。

- 特徴選択の基準は、AIC、SBIC、RICまたはα投資のいずれかです。特徴選択の基準がα投資である場合、特徴の許容範囲は厳密または緩和のいずれかです。

- 特徴の最大数を指定できます。

- 特徴は、最終モデルでプルーニングできます。プルーニングは、線形回帰の場合はt統計に、ロジスティック回帰の場合はワルド統計に基づきます。

特徴選択とリッジ回帰

特徴選択とリッジ回帰は、相互に排他的です。特徴選択が有効化されると、アルゴリズムではリッジを使用できません。

注意:

特徴選択とリッジ回帰の両方を使用するようにモデルを構成すると、エラーが発生します。

特徴生成

特徴生成は、用語の変換をモデルに追加するプロセスです。特徴生成によって、ターゲットと予測子の間のより複雑な関係に適合するようにモデルの能力を拡張できます。

特徴生成の構成

特徴生成は、特徴選択が有効化されている場合にのみ使用できます。特徴生成は、構築設定です。デフォルトでは、特徴生成は有効化されていません。

特徴生成の方法は、2次または3次のいずれかです。デフォルトでは、アルゴリズムによって適切な方法が選択されます。明示的に特徴生成の方法を指定することもできます。

特徴選択の次のオプションも、特徴生成に影響を与えます。

- 厳密または緩和の特徴許容範囲(特徴選択の基準がα投資の場合のみ)

- 特徴の最大数

- モデルのプルーニング

注意:

ブロック・サイズ設定は、特徴生成にとって適切ではありません。特徴生成の有効時にブロック・サイズを設定すると、エラーが発生します。

関連項目:

『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定の一般化線形モデルに関する項

GLM用のチューニングと診断

一般化線形モデルの開発プロセスでは通常、多数のモデルを作成します。モデルを作成するたびに、モデルの質を判別するために評価できる統計情報が多数生成されます。これらの診断に応じて、モデル設定の変更などを試行できます。

構築設定

構築設定を使用すると、次のものを指定できます。

- モデルによって計算される信頼限界内に真の係数が収まる確度。デフォルトの信頼度は、.95です。

- 行の重み係数が格納される列。

- 行レベルの診断情報が格納される表。

その他にも、次のような目的で構築設定を使用できます。

- リッジ回帰の使用の制御(「リッジ回帰」を参照)。

- トレーニング・データにおける欠損値の処理の指定(「GLM用のデータ準備」を参照)。

- ロジスティック回帰モデルで参照として使用されるターゲット値の指定(「ロジスティック回帰」を参照)。

関連項目:

『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定の一般化線形モデルに関する項

診断

一般化線形モデルでは、モデルの質を評価する際に役立つメトリックが多数生成されます。

係数統計情報

線形およびロジスティックの両回帰では同じ統計情報のセットが戻されますが、該当のマイニング機能に適用されない統計情報はNULLとして戻されます。

係数統計情報は、DBMS_DATA_MININGのGET_MODEL_DETAILS_GLMファンクションによって戻されます。

関連項目:

- 線形回帰の係数統計情報

- ロジスティック回帰の係数統計情報

グローバルなモデルの統計情報

線形およびロジスティックの両回帰には、モデル全体を説明する高水準の統計情報が個別に戻されます。リッジ回帰が有効な場合、戻されるグローバルな詳細がより少なくなります。グローバルなモデルの統計情報については、「線形回帰のグローバルなモデルの統計情報」および「ロジスティック回帰のグローバルなモデルの統計情報」を参照してください。

グローバルな統計情報は、DBMS_DATA_MININGのGET_MODEL_DETAILS_GLOBALファンクションによって戻されます。

関連項目:

「リッジ回帰」

行の診断情報

構築設定のGLMS_DIAGNOSTICS_TABLE_NAMEで診断表の名前を指定することによって、行単位の診断情報を生成するように一般化線形モデル(GLM)を構成できます。行の診断情報については、「線形回帰の行の診断情報」および「ロジスティック回帰の行の診断情報」を参照してください。

GLMでは、行の診断情報を生成するためにケースIDが必要となります。診断表の名前は指定したが、データにケースID列が含まれない場合、例外が発生します。

GLM用のデータ準備

自動データ準備(ADP)には、線形およびロジスティックの両回帰に適したデータの変換方法が実装されています。

注意:

一般化線形モデルでは自動データ準備を使用することをお薦めします。

関連項目:

『Oracle Data Miningユーザーズ・ガイド』

線形回帰用のデータ準備

ADPが有効化されている場合、作成データは、広く使用されている相関変換(Netter他、1990)を使用して標準化されます。データは、最初に各観測の属性値から属性の平均値が減算され、センタリングされます。次に、すべての観測にわたって属性ごとに2乗和平方根で観測の各属性値が除算され、データがスケーリングされます。この変換は、量的属性および質的属性の両方に対して適用されます。

標準化の前に、質的属性はN-1個の列に展開されます(Nは属性のカーディナリティ)。最頻値(mode)は、展開の変換中に省略されます。タイの最頻値が存在する場合、属性値は英数字の昇順でソートされ、リストの最初の値が展開時に除外されます。展開の変換は、ADPが有効化されているかどうかに関係なく発生します。

質的属性のカーディナリティが高い場合、ここで説明した変換(展開の後に標準化)によって、作成データのサイズが増えることがありますが、これは、結果のデータ表現が稠密であるためです。メモリー、ディスク領域および処理に関する要件を下げるには、代替手段を使用します。これらの事情により、VIF統計は注意して使用する必要があります。推定される内部の稠密表現に1GBを超えるディスク領域を必要とする大きいデータセットの場合、質的属性は標準化されません。

関連項目:

- Neter, J.、Wasserman, W.およびKutner, M.H.共著、『Applied Statistical Models』(Richard D.Irwin, Inc.、Burr Ridge、IL、1990)

- リッジとデータ準備

- 『Oracle Data Miningユーザーズ・ガイド』の第4章「データの変換」

ロジスティック回帰用のデータ準備

質的属性はN-1個の列に展開されます(Nは属性のカーディナリティ)。最頻値(mode)は、展開の変換中に省略されます。タイの最頻値が存在する場合、属性値は英数字の昇順でソートされ、リストの最初の値が展開時に除外されます。展開の変換は、ADPが有効化されているかどうかに関係なく発生します。

ADPが有効化されている場合、量的属性が標準偏差によってスケーリングされます。この変動性の測度は、原点(平均値ではない)に関して属性ごとに標準偏差として計算されます(Marquardt、1980)。

関連項目:

Marquardt, D.W.著、『A Critique of Some Ridge Regression Methods: Comment』(Journal of the American Statistical Association、Vol. 75、No. 369、1980、pp 87-91)

欠損値

Oracle Data Miningは、モデルの作成または適用時に、量的属性の欠損値を平均値に、質的属性の欠損値を最頻値に自動的に置換します。

欠損値のデフォルトの処理を無視するように一般化線形モデルを構成できます。ODMS_MISSING_VALUE_TREATMENT設定を使用すると、欠損値が含まれるトレーニング・データ内の行を、平均値や最頻値に置換するのではなく、アルゴリズムによって削除するように設定できます。ただし、モデルの適用時には、Oracle Data Miningは通常の平均値/最頻値による欠損値置換を実行します。そのため、スコアリングによって生成された統計情報が、モデルの作成によって生成された統計情報と一致しない可能性があります。

モデルのスコアリングにおいて欠損値を持つ行を削除する場合、変換の明示的な実行が必要です。作成時と適用時の統計情報を一致させるには、適用操作を実行する前に、NULLが含まれる行をスコアリング・データから削除する必要があります。これは、ビューを作成して実行します。

CREATE VIEW viewname AS SELECT * from tablename
WHERE column_name1 is NOT NULL
AND   column_name2 is NOT NULL
AND   column_name3 is NOT NULL .....

注意:

Oracle Data Miningでは、ネストしたデータの欠損値は、ランダムに欠損している値ではなく、スパース性を示します。

値ODMS_MISSING_VALUE_DELETE_ROWは、ネストした列を含まない表でのみ有効です。ネストしたデータでこの値を使用すると、例外が発生します。

線形回帰

線形回帰は、Oracle Data Miningでサポートされている一般化線形モデルの回帰アルゴリズムです。このアルゴリズムでは、ターゲット値の範囲に対する一定分散およびターゲット変換を想定していません。

線形回帰の係数統計情報

一般化線形モデルの回帰モデルでは、次に示す係数統計情報が生成されます。

- 線形係数推定値

- 係数推定値の標準誤差

- 係数推定値のt値

- t値の確率

- 分散拡大係数(VIF)

- 係数の標準化推定値

- 係数の信頼限界値の下限および上限

線形回帰のグローバルなモデルの統計情報

一般化線形モデルの回帰モデルでは、モデル全体を説明する、次に示す統計情報が生成されます。

- モデルの自由度。

- モデルの平方和。

- モデル平均平方

- モデルF統計

- モデルのF値の確率。

- 誤差の自由度。

- 誤差の平方和。

- 誤差平均平方

- 修正された総自由度。

- 修正された総平方和。

- 2乗平均平方根誤差。

- 依存平均

- 変動の係数

- R2乗

- 調整済R2乗

- 赤池情報量基準

- Schwarzのベイズ情報量基準

- 予測の推定平均平方誤差

- HockingのSp統計

- JP統計(最終予測誤差)。

- パラメータ数(切片を含む係数の数)。

- 行数

- モデルが収束したかどうか

- 共分散行列が計算されたかどうか

線形回帰の行の診断情報

線形回帰の診断表には、次の表で説明する列が含まれます。列はすべてNUMBERですが、CASE_ID列のみ、トレーニング・データの型を保持します。

表13-1 GLM回帰モデルの診断表

列

説明

CASE_ID

ケースID列の値

TARGET_VALUE

ターゲット列の値

PREDICTED_VALUE

ターゲットについてモデルにより予測された値

HAT

ハット行列の対角要素の値

RESIDUAL

誤差の測度

STD_ERR_RESIDUAL

残差の標準誤差

STUDENTIZED_RESIDUAL

スチューデント化された残差

PRED_RES

予測残差

COOKS_D

Cookの距離影響統計

ロジスティック回帰

2項ロジスティック回帰は、Oracle Data Miningでサポートされている一般化線形モデルの分類アルゴリズムです。このアルゴリズムでは、ロジット・リンク関数および2項分散関数を使用します。

参照クラス

構築設定GLMS_REFERENCE_CLASS_NAMEを使用すると、2項ロジスティック回帰モデルで参照として使用されるターゲット値を指定できます。その他の(非参照)クラスに対しては確率が生成されます。デフォルトでは、アルゴリズムは普及率の最も高い値を選択します。タイの値が存在する場合、属性値は英数字の昇順でソートされます。

クラスの重み

構築設定CLAS_WEIGHTS_TABLE_NAMEを使用すると、クラスの重み表の名前を指定できます。クラスの重みは、モデルの作成時にターゲット・クラスの重み付けに影響します。

ロジスティック回帰の係数統計情報

一般化線形モデルの分類モデルでは、次に示す係数統計情報が生成されます。

- 予測子の名前

- 係数推定値

- 係数推定値の標準誤差

- 係数推定値のワルドのカイ2乗値

- ワルドのカイ2乗値の確率

- 係数の標準化推定値

- 係数の信頼限界値の下限および上限

- 指数係数

- 係数の信頼限界値の上限および下限に対する指数係数

ロジスティック回帰のグローバルなモデルの統計情報

一般化線形モデルの分類モデルでは、モデル全体を説明する、次に示す統計情報が生成されます。

- 切片のみのモデルの適合度に関する赤池の基準。

- 切片および共変量(予測子)モデルの適合度に関する赤池の基準

- 切片のみのモデルの適合度に関するSchwarzの基準

- 切片および共変量(予測子)モデルの適合度に関するSchwarzの基準

- 切片のみのモデルの-2対数尤度。

- モデルの-2対数尤度。

- 尤度比の自由度。

- 尤度比のカイ二乗確率値。

- 擬似R2乗(Cox & Snell)

- 擬似R2乗(Nagelkerke)

- 依存平均

- 正確な予測の割合。

- 不正確な予測の割合

- タイの(2つのケースの確率が等しい)割合

- パラメータ数(切片を含む係数の数)。

- 行数

- モデルが収束したかどうか

- 共分散行列が計算されたかどうか

ロジスティック回帰の行の診断情報

ロジスティック回帰の診断表には、次の表で説明する列が含まれます。列はすべてNUMBERですが、CASE_ID列およびTARGET_VALUE列のみ、トレーニング・データの型を保持します。

表13-2 ロジスティック回帰の行の診断表

列

説明

CASE_ID

ケースID列の値

TARGET_VALUE

ターゲット値の値

TARGET_VALUE_PROB

ターゲット値に関連付けられている確率

HAT

ハット行列の対角要素の値

WORKING_RESIDUAL

調整済従属変数に関する残差

PEARSON_RESIDUAL

ターゲットの推定標準偏差によってスケーリングされた生の残差

DEVIANCE_RESIDUAL

モデルの全体的な適合度に対する寄与率

C

信頼区間の変位診断

CBAR

信頼区間の変位診断

DIFDEV

特定の観測値を削除したことによる逸脱度の変化

DIFCHISQ

ピアソンのカイ2乗の変化

14 k-Means

Oracle Data Miningでサポートされている拡張されたk-Meansクラスタリング・アルゴリズムを使用する方法を学習します。

- k-Meansとは

- k-Meansアルゴリズム構成

- k-Means用のデータの準備

関連項目:

「クラスタリング」

k-Meansとは

k-Meansアルゴリズムは、指定した数のクラスタにデータを分割する、距離ベースのクラスタリング・アルゴリズムです。

距離ベースのアルゴリズムは、距離関数を使用して、ケース間の類似度を計測します。各ケースは、使用される距離関数に従って、最も近いクラスタに割り当てられます。

Oracle Data Miningの拡張k-Means

Oracle Data Miningに実装されている拡張バージョンのk-Meansアルゴリズムには、次の特徴があります。

- 距離関数: アルゴリズムでは、ユークリッドおよびコサインの距離関数がサポートされます。デフォルトはユークリッドです。

- 階層モデル作成: トップダウン階層の方法でモデルを作成する際、2分岐を使用し、最後にすべてのノードを精錬します。この意味では、2分k-Meansアルゴリズムと似ています。階層の内部ノードの重心は、ツリーが展開していくにつれて、その変化を反映するように更新されます。ツリー全体が戻されます。

- ツリー拡大: アルゴリズムでは、指定した分岐基準を使用して、指定した最大クラスタ数に到達するまで、または個別ケースの数に到達するまで、一度に1つのノードが増えてツリーが拡大します。分岐基準は、分散またはクラスタ・サイズになります。デフォルトの分岐基準は分散です。

- クラスタ・プロパティ: クラスタごとに、アルゴリズムによって、重心、各属性のヒストグラム、およびクラスタに割り当てられるデータの大部分を囲むハイパーボックスを記述するルールが戻されます。重心は、質的属性については最頻値を、量的属性については平均および分散を示します。

k-Meansをこのように処理することによって、複数のk-Meansモデルを作成する必要がなくなります。また、常に従来のk-Meansよりも優れたクラスタリング結果が得られます。

重心

重心は、クラスタ内の最も典型的なケースを表します。たとえば、顧客の年齢および収入のデータセットの場合、各クラスタの重心は、年齢と収入がそのクラスタの平均値である顧客となります。重心は一種の典型です。必ずしもクラスタに割り当てられた特定のケースを表すものではありません。

重心の属性値は、量的属性の場合は平均値、質的属性の場合は最頻値となります。

スコアリング

k-Meansによって検出されたクラスタは、新しいデータのスコアリングに使用できるベイズ確率モデルの生成に使用されます。

k-Meansアルゴリズム構成

Oracle Data Miningの拡張k-Meansアルゴリズムでは、複数の作成時設定がサポートされます。すべての設定にはデフォルト値があります。特定の方法でアルゴリズムの動作に影響を与える場合を除き、デフォルトを上書きする必要はありません。

次の考慮事項を指定してk-Meansを構成できます。

- クラスタ数

- クラスタ保持のために割り当てられるメモリーの拡張係数

- 収束許容値

- 距離関数。デフォルトの距離関数はユークリッドです。

- 分岐基準。デフォルトの基準はKMNS_VARIANCEです。

- クラスタ・ツリー作成のための反復回数。

- クラスタのルール説明に属性を含めるためにNULL以外に設定する必要のある属性値の割合。

- ヒストグラム・ビンの数。各属性のビン境界は、トレーニング・データセット全体でグローバルに計算されます。 ビニング方法は等幅です。ただ1つのビンを持つ単一値が含まれる属性を除き、すべての属性は同じ数のビンを持ちます。

関連項目:

『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定のk-Meansに関する項

k-Means用のデータ準備

k-Meansアルゴリズムでは、通常、正規化が必要です。自動データ準備では、k-Meansに対して、外れ値に敏感な正規化が実行されます。ADPを使用しない場合、モデルを作成または適用する前に量的属性を正規化する必要があります。

単純な(ネストしていない)データ型の列に欠損値がある場合、k-Meansではそれらをランダムに欠損した値として解釈します。質的データの欠損値は最頻値に置換され、量的データの欠損値は平均値に置換されます。

ネストした列に欠損値がある場合、k-Meansではそれらをスパースとして解釈します。スパースな量的データは0 (ゼロ)に置換され、スパースな質的データはゼロ・ベクトルに置換されます。

関連項目:

- 『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』の線形正規化に関する項

- 『Oracle Data Miningユーザーズ・ガイド』のデータの準備に関する項

- 『Oracle Data Miningユーザーズ・ガイド』のデータの変換に関する項

15 最小記述長

属性評価を計算する監視あり手法である最小記述長を使用する方法を学習します。

- MDLとは

- MDL用のデータ準備

関連項目:

「特徴選択および属性評価とは」

MDLとは

最小記述長(MDL)は、情報理論モデルの選択原理の1つである。それは、情報理論(情報の定量化の研究)および学習理論(経験的データに基づく一般化の容量の研究)における重要な概念です。

MDLでは、最も単純でコンパクトな表現が、データの説明として最適かつ最も可能性が高いとみなされます。MDL原理は、Oracle Data Miningの属性評価モデルの作成に使用されます。

属性評価の作成プロセスはパラレル実行をサポートします。パラレル実行の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。

圧縮とエントロピ

データ圧縮は、元の表現より少ないビット数を使用して情報をエンコードするプロセスです。MDL原理は、データの最も短い説明が最も可能性が高いという考えに基づきます。この原理の典型的な事例では、モデルは、次に示すとおり不確実性(エントロピ)を低減してデータを圧縮するために使用されます。データの説明には、モデルの説明と、モデルの説明に従ったデータが含まれます。

エントロピは、不確実性の測度です。それは、値を指定するために必要な情報として、不確実性を確率変数に定量化します。ここでは情報は、完全な仕様で答える必要のあるビット(0または1としてエンコード)と呼ばれるyes/no質問の数として定義されます。このため、情報は、変数が想定できる値の数に依存します。

たとえば、変数が個人の性別を表す場合、指定可能な値の数は2つ(女性と男性)です。変数が全額ドルで示される個人の給与を表す場合、その値の範囲は$0から$10B (数十億の一意の値)になる可能性があります。明らかに、個人の性別を指定するより正確な給与を指定する方が多くの情報を必要とします。

確率変数の値: 統計的分布

情報(ビット数)は、変数の値の統計的分布と、変数の値の数に依存します。Yes/No質問の選択を慎重に行う場合、給与指定の情報量は、最初に示したほど多くはならない可能性があります。ほとんどの人々は、10億ドルの給与をもらっていません。大多数の人々の給与の範囲が$32000から$64000である場合、通常、その給与を特定するために必要な質問数は、15個のみです($0から$1000000000のすべての給与が同様に確からしい場合、質問数は30個必要です)。前者の例で、その人が妊娠している場合、性別は女性であることがわかります。不確実性は存在せず、Yes/No質問を尋ねる必要はありません。エントロピは0です。

確率変数の値: 重要な予測子

一部の確率変数で、その値がわかっているときに確率変数の不確実性が低下する予測子が存在すると仮定します。たとえば、ある人物が妊娠しているかどうかを知ることで、確率変数の個人の性別の不確実性は低下します。この予測子は、モデルに含める必要のある重要な特徴のように見えます。名前はどうでしょうか。特定の人物の名前を知っている場合、その人物の性別もわかると仮定します。その場合、名前の予測子は、不確実性を0 (ゼロ)に低下するように見えます。ただし、名前が一意である場合、どうなるでしょうか。その人物の名前はサリーでしょうか。その人物の名前はジョージでしょうか... このように、存在する人の数だけ名前モデルのYes/No予測子を使用することになります。つまり、名前モデルを指定する場合、各人物の性別指定と同じ数のビットが必要になります。

合計エントロピ

確率変数Xで、合計エントロピは、確率(X)の2を底とする対数によって乗じられたマイナスの確率(X)として定義されます。これは、変数の最も効率的なエンコーディングとみなすことができます。

モデル・サイズ

最小記述長(MDL)では、モデルのサイズに加え、モデルの使用を要因とする不確実性の低下が考慮されます。モデル・サイズとエントロピは、両方ともビットで測定されます。ここでの目的のため、量的予測子と質的予測子の両方がビニングされます。そのため、各単一予測子のモデルのサイズは、予測子ビンの数です。不確実性は、ビン内のターゲット分布まで低下します。

モデル選択

最小記述長(MDL)は、各属性をターゲット・クラスの単純な予測モデルと見なします。モデル選択とは、単一予測子のモデルを比較およびランク付けするプロセスのことです。

MDLでは、モデル選択の問題を解決するために通信モデルを使用します。通信モデルには、送信者、受信者および送信するデータがあります。

単一予測子のこれらのモデルは、MDLメトリック(ビット単位での相対的な圧縮)に関して互いに比較され、ランク付けされます。MDLでは、オーバーフィットを回避するため、モデルの複雑性にペナルティが課されます。これは、比較を公平に行うために(モデルとしての)予測子の複雑性を考慮した、合理的なアプローチです。

MDLメトリック

属性評価では、2つの部分で構成されるコードをメトリックとして使用し、各データ単位を送信します。前半部分(プリアンブル)ではモデルを送信します。モデルのパラメータは、予測の各値に関連するターゲットの確率です。

ターゲットの値がj個、予測子の値がk個、各値に対してni (i= 1、...、k)個の行がある場合、Ci個(ni-1個からj-1個を一度に選び出す組合せの数)の条件付き確率が考えられます。プリアンブルのビット・サイズは、Sum(log_2(Ci))と示すことができ、ここで、Sumはkに対する合計です。こうして計算した値が、それぞれの単一予測モデルに関連付けられるペナルティを表します。コードの後半部分では、モデルを使用してターゲット値を送信します。

シーケンスの最もコンパクトな符号化とは、記号(ターゲット・クラス値)の確率に最も適合する符号化であることがよく知られています。したがって、シーケンスに最も高い確率を割り当てるモデルには、最小のターゲット・クラス値の送信コストが含まれます。これは、ビットではSum(log_2(pi))となり、ここで、piは、モデルに関連する行iの予測確率です。

予測子のランクは、関連付けられた記述長のリストにおける位置で表されます(最短が先頭)。

MDL用のデータ準備

自動データ準備は、最小記述長(MDL)の監視ありビニングを実行します。監視ありビニングでは、ディシジョン・ツリーを使用して最適なビンの境界が作成されます。質的属性と量的属性のいずれもビニングされます。

MDLでは、欠損値をそのまま(ランダムに欠損している値として)処理します。スパースな量的データは0 (ゼロ)に置換され、スパースな質的データはゼロ・ベクトルに置換されます。ネストした列の欠損値はスパースとして解釈されます。単純なデータ型の列の欠損値は、ランダムに欠損した値として解釈されます。

独自のデータ準備を行う場合、MDLでは通常ビニングを行うことによってメリットが得られます。ただし、データ内に外れ値が存在する場合に外部等幅ビニングを使用すると、属性評価モデルの識別能力が著しく低下することがあります。この手法では、ほとんどのデータが少数のビン(極端な場合は単一のビン)に集中する可能性があります。この場合、より優れた解決策として、分位ビニングを使用します。

関連項目:

- 『Oracle Data Miningユーザーズ・ガイド』のデータの準備に関する項

- 『Oracle Data Miningユーザーズ・ガイド』のデータの変換に関する項

16 Naive Bayes

Oracle Data MiningでサポートされているNaive Bayes分類アルゴリズムを使用する方法を学習します。

- Naive Bayesとは

- Naive Bayesモデルのチューニング

- Naive Bayes用のデータ準備

関連項目:

「分類」

Naive Bayesとは

Naive Bayesアルゴリズムは条件付き確率に基づいています。これにはBayesの定理(履歴データの値の組合せと値の頻度を数えて確率を計算する式)が使用されます。

Bayesの定理では、すでに発生している別のイベントの確率を前提として、あるイベントの発生確率を見つけます。Bが従属イベントを、Aが事前イベントを表す場合、Bayesの定理は次のように示すことができます。

注意:

Prob(B given A) = Prob(A and B)/Prob(A)

Aを前提としたBの確率は、AおよびBが一緒に発生するケースの数を、Aが単独で発生するケースの数で除算して計算されます。

例16-1 Bayesの定理を使用した消費の増加予測

21才未満の顧客が消費を増やす可能性を特定する必要があるものとします。この場合、事前条件(A)が「21未満」となり、従属条件(B)が「消費を増やす」となります。

トレーニング・データ内に100人の顧客が含まれていて、そのうち25人が消費を増やしている21才未満の顧客である場合、次のように計算されます。

Prob(A and B) = 25%

100人の顧客のうち75人が21才未満である場合、次のように計算されます。

Prob(A) = 75%

この場合、Bayesの定理では、21才未満の顧客の33% (25/75)が消費を増やす可能性があると予測されます。

両方の条件が一緒に発生するケースは、組(pairwise)と呼ばれます。例17-1では、すべてのケースの25%が組です。

事前イベントのみが発生するケースは、単一(singleton)と呼ばれます。例17-1では、すべてのケースの75%が単一です。

次の図は、Bayesの定理で使用される条件の関係を視覚的に表しています。

図16-1 Bayesの定理の条件付き確率

例17-1および図17-1では、説明のために、1つの独立イベントに基づく従属イベントを示しています。実際には、Naive Bayesアルゴリズムでは通常、多数の独立イベントを考慮する必要があります。例17-1では、年齢の他に、収入、教育レベル、性別、店舗の場所などの要素を考慮する場合があります。

Naive Bayesでは、各予測子は他の予測子とは条件的に独立していると想定されます。所定のターゲット値に関して、各予測子の分布は他の予測子とは独立しています。この非依存性という前提によって、(たとえ前提が満たされていない場合でも)モデルの予測精度が極端に低くなることがなくなり、またこの前提が、高速で計算可能なアルゴリズムと扱いにくいアルゴリズムの違いになっています。

特定の予測子の分布が、明らかに、より大きな母集団を代表していない場合があります。たとえば、トレーニング・データ内に21才未満の顧客が少数しか存在しないが、広範な顧客ベースには、この年齢グループの顧客が実際に多数存在する場合などが考えられます。これを補正するには、モデルのトレーニングの際に、事前確率を指定します。

関連項目:

「事前確率およびクラスの重み」

Naive Bayesの利点

Naive Bayesアルゴリズムは、高速でスケーラビリティの高いモデルの作成およびスコアリングを実行できます。このアルゴリズムは予測子および行の数に基づいて線形にスケーリングされます。

Naive Bayesの作成プロセスはパラレル実行をサポートします。(スコアリングはアルゴリズムに関係なくパラレル実行をサポートします。)パラレル実行の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。

Naive Bayeは、2項および多クラスのどちらの分類問題にも使用できます。

Naive Bayesモデルのチューニング

Naive Bayesでは、組の発生割合を単一の発生割合で除算することによって確率が計算されます。これらの割合は、特定の予測子に関して非常に小さい場合、モデルの効率性にはほとんど寄与しません。通常、特定のしきい値以下の発生は無視できます。

確率のしきい値を調整するために、次の構築設定を使用できます。次を指定できます。

- モデルに予測子を含めるために必要な組の最小発生割合。

- モデルに予測子を含めるために必要な単一の最小発生割合。

デフォルトのしきい値はほとんどのモデルに対して問題なく機能するため、これらの設定を調整する必要はありません。

関連項目:

『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定のNaive Bayesに関する項

Naive Bayes用のデータ準備

Naive Bayesに対する自動データ準備では、監視ありビニングが実行されます。監視ありビニングでは、ディシジョン・ツリーを使用して最適なビンの境界が作成されます。質的属性と量的属性のいずれもビニングされます。

Naive Bayesでは、欠損値をそのまま(ランダムに欠損している値として)処理します。スパースな量的データは0 (ゼロ)に置換され、スパースな質的データはゼロ・ベクトルに置換されます。ネストした列の欠損値はスパースとして解釈されます。単純なデータ型の列の欠損値は、ランダムに欠損した値として解釈されます。

独自のデータ準備を行う場合、Naive Bayesでは通常ビニングが必要となります。Naive Bayesは、確率を計算するうえで集計手法に依存しています。カーディナリティを必要に応じて削減するために、列をビニングする必要があります。量的データは値の範囲(低、中、高など)にビニングでき、質的データはメタクラス(都市のかわりに地域など)にビニングできます。等幅ビニングはお薦めできませんが、これは、外れ値が存在すると、ほとんどのデータが小数のビン(場合によっては1つのビン)に集中するためです。その結果、アルゴリズムの識別能力が著しく低下します

関連項目:

- 『Oracle Data Miningユーザーズ・ガイド』のデータの準備に関する項

- 『Oracle Data Miningユーザーズ・ガイド』のデータの変換に関する項

17 Non-Negative Matrix Factorization

Oracle Data Miningで特徴抽出のために使用する監視なしアルゴリズムであるNon-Negative Matrix Factorization(NMF)を使用する方法を学習します。

- NMFとは

- NMFアルゴリズムのチューニング

- NMF用のデータ準備

関連項目:

- 「特徴の選択と抽出」

- 論文(D. D. Lee、H. S. Seung共著、『Nature』誌第401号P.788-791、1999年)

NMFとは

Non-Negative Matrix Factorizationは、最新の抽出アルゴリズムです。NMFは、多数の属性があるときに、これらの属性があいまいな場合や予測可能性が低い場合に有効です。属性を組み合せることによって、NMFで意味のあるパターン、トピックまたはテーマが生成されます。

NMFによって作成される各特徴は、元の属性セットの一次結合です。各特徴には、特徴の各属性の重みの測度である係数のセットがあります。量的属性ごと、および各質的属性の個別値ごとに別個の係数があります。係数は、すべて非負数です。

行列因数分解

Non-Negative Matrix Factorizationでは、多変量分析および線形代数の手法が使用されます。それは、行列Mとしてのデータを2つの下位ランク行列WおよびHの積に分解します。サブ行列WにはNMF基底が、サブ行列Hには関連する係数(重み)が含まれます。

アルゴリズムによって、WとHの値は、その積がMに近づくように繰り返し変更されます。この技術によって、元のデータ構造の大部分が維持され、基底と重みの両方が非負数であることが保証されます。アルゴリズムは、近似誤差が収束するか、反復が指定数に到達すると終了します。

NMFアルゴリズムは、反復の開始点を示すシードで初期化される必要があります。処理空間の高いディメンション性と、大域的最小アルゴリズムが存在しないという事実から、意味のある結果を取得するには適切な初期化が非常に重要になります。Oracle Data Miningでは、一様分布に基づいてWとHの値を初期化するランダム・シードを使用します。このアプローチは、ほとんどのケースで有効です。

NMFでのスコアリング

Non-Negative Matrix Factorization(NMF)は、分類、回帰、クラスタリングなどのマイニング・タスクでディメンション性を低減するための前処理ステップとして使用できます。NMFモデルのスコアリングによって、新しい特徴空間にデータ投影が生成されます。投影の規模は、レコードが特徴にマップされる強度を示します。

特徴抽出のSQLスコアリング関数では、NMFモデルがサポートされます。関数が分析構文で起動されると、その関数によって一時的NMFモデルが作成および適用されます。特徴抽出関数は、FEATURE_DETAILS、FEATURE_ID、FEATURE_SETおよびFEATURE_VALUEです。

関連項目:

Oracle Data Miningユーザーズ・ガイドの「スコアリングと配置」

NMFでのテキスト・マイニング

Non-Negative Matrix Factorization (NMF)は、テキスト・マイニングに特に適しています。テキスト・ドキュメントでは、同じ言葉が異なる場所で別の意味を持って出現することがあります。たとえば、「hike」という単語は、アウトドア(outdoor)または金利(interest rate)に関連して使用されます。NMFでは、次のように属性を組み合せることによって、説明能力にとって必須であるコンテキストを取り入れます。

- "hike" + "mountain" -> "outdoor sports"

- "hike" + "interest" -> "interest rates"

関連項目:

『Oracle Data Miningユーザーズ・ガイド』の非構造化テキストのマイニングに関する項

テキスト・マイニング用のNMF

テキスト・マイニングには、非構造化データの情報の抽出が含まれます。通常、テキスト・データは高次元でスパースです。主成分分析(PCA)、特異値分解(SVD)およびNMFなどの監視なしアルゴリズムには、異なる制約に基づく文書単語行列の分解が含まれます。テキスト・マイニングの広く使用されている方法は潜在意味解析です。

NMFはディメンション性の減少に集中しています。高次元の意味空間のテキストの2つの隣接する線分のベクトルを比較することで、NMFは、セグメント間の意味の関係度の特性を示します。NMFはPCAよりも複雑ではなく、スパース・データに適用できます。NMFベースの潜在意味解析は、解の加法的な非負値の性質および計算の複雑さおよびリソース要件の削減のため、SVD手法の魅力的な代替手段です。

NMFアルゴリズムのチューニング

Oracle Data Miningでは、Non-Negative Matrix Factorization (NMF)の5つの構成可能なパラメータがサポートされます。それらすべてに、アルゴリズムのほとんどの適用にとって適切なデフォルト値があります。NMFの設定は次のとおりです。

- 特徴数。デフォルトでは、特徴数はアルゴリズムによって決定されます。

- 収束許容値。デフォルトは.05です。

- 反復数。デフォルトは、50です。

- ランダム・シード。デフォルトは、-1です。

- 非負スコアリング。スコアリング結果に負数を許可する必要があるかどうかを指定できます。デフォルトでは、許可されます。

関連項目:

『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定のNon-Negative Matrix Factorizationに関する項

NMF用のデータ準備

Non-Negative Matrix Factorization (NMF)に対する自動データ準備では、量的属性が正規化されます。

単純な(ネストしていない)データ型の列に欠損値がある場合、NMFではそれらをランダムに欠損した値として解釈します。質的データの欠損値は最頻値に置換され、量的データの欠損値は平均値に置換されます。

ネストした列に欠損値がある場合、NMFではそれらをスパースとして解釈します。スパースな量的データは0 (ゼロ)に置換され、スパースな質的データはゼロ・ベクトルに置換されます。

独自のデータ準備を行う場合、外れ値が存在するとNMFに大きな影響を与える可能性があります。ビニングまたは正規化を行う前に、クリッピング変換を実行してください。NMFでは通常、正規化を行うことによってメリットが得られます。ただし、min-max正規化で外れ値が存在すると、行列因数分解のパフォーマンスが低下します。行列因数分解のパフォーマンスを向上するには、許容誤差を減らす必要があります。しかし、許容誤差を減らすと作成時間が長くなります。

関連項目:

- 『Oracle Data Miningユーザーズ・ガイド』のデータの準備に関する項

- 『Oracle Data Miningユーザーズ・ガイド』のデータの変換に関する項

18 O-Cluster

Oracle固有のクラスタリング・アルゴリズムである直交パーティショニング・クラスタリング(O-Cluster)を使用する方法を学習します。

この章には次のトピックが含まれます:

- O-Clusterとは

- O-Clusterアルゴリズムのチューニング

- O-Cluster用のデータ準備

関連項目:

- 「クラスタリング」

- 『Clustering Large Databases with Numeric and Nominal Values Using Orthogonal Projections』(Campos, M.M.、Milenova, B.L.共著、Oracle Data Mining Technologies, Oracle Corporation)
http://www.oracle.com/pls/topic/lookup?ctx=db121&id=datmin

O-Clusterとは

O-Clusterは、大規模な高次元データセットのマイニングに適した、高速でスケーラブルなグリッドベースのクラスタリング・アルゴリズムです。このアルゴリズムでは、ユーザー定義のパラメータに依存せずに高品質なクラスタを生成できます。

O-Clusterの目的は、データ内で高密度の領域を特定し、それらの領域をクラスタに分割することです。それは、軸平行な1次元の(直行の)データ投影を使用して、高密度な領域を特定します。このアルゴリズムでは、重複がなく、サイズのバランスがとれた個別のクラスタに分割するための分割ポイントが検索されます。

O-Clusterは、2分木階層を作成して再帰的に動作します。リーフ・クラスタの数は、自動的に決定されます。アルゴリズムは、クラスタの最大数を制限するように構成できます。

パーティショニング方針

パーティショニング方針とは、属性ヒストグラムの密度領域を検出するプロセスのことです。プロセスは、量的データと質的データで異なります。両方のデータが存在する場合、アルゴリズムでは、別々に検索が実行されてからその結果が比較されます。

パーティションの選択では、アルゴリズムによって、2つの目的(適切に分割されたクラスタを検出することと、サイズがバランスするクラスタを作成すること)が調整されます。次の項では、量的属性および質的属性のパーティションの識別方法について詳細に説明します。

量的属性のパーティショニング

最も有効な切断面を見つけるため、O-Clusterでは、高密度(ピーク)のビンの間にある低密度(谷)のビンに対応する属性ヒストグラムを検索します。O-Clusterは、ピークと谷の間のヒストグラム数の差が統計的に有意である、谷を挟んだ1組のピークの検出を試みます。

sensitivityレベルのパラメータは、ピークとみなされる可能性のある最小の密度を指定します。sensitivityは、数値データ用のオプションのパラメータです。それは、候補となる分割ポイントをフィルタ処理するために使用できます。

質的属性のパーティショニング

質的な値には、固有の順序が関連付けられていません。そのため、量的な値のパーティショニングに使用されるヒストグラムのピークと谷の概念を適用することはできません。

かわりに、個々の値の数でヒストグラムを構成します。個数の多いビンは、高密度の領域として解釈されます。クラスタリングの目的は、これらの高密度領域を分割して、データのエントロピ(ランダム性)を効果的に低減することです。

O-Clusterは、個々の投影に従って最高度のエントロピを持つヒストグラムを識別します。エントロピは、sensitivityレベルを超えるビンの数として測定されます。O-Clusterは、個別のパーティションに最も大きい2つのビンを配置することで、分岐条件を作成します。ビンの残りは、結果となる2つのパーティションにランダムに割り当てられます。

アクティブなサンプリング

O-Clusterアルゴリズムは、制限されたサイズのデータ・バッファで動作します。それは、アクティブなサンプリングのメカニズムを使用して、メモリーに収まらないデータセットを処理します。

初期ランダム・サンプルを処理した後、O-Clusterは、これ以上必要としないケースを識別します。このようなケースは、今後分割する可能性が非常に低い凍結パーティションに属します。これらのケースは、適切な分割面を検出してパーティショニングを継続するためにより多くの情報(追加のケース)が必要とされる不明瞭領域の例に置換されます。パーティションは、有効な分割がより低い信頼度レベルでのみ検出される場合、不明瞭とみなされます。

凍結パーティションに関連付けられたケースは、バッファから削除するものとしてマークされます。これらは、不明瞭パーティションに属するケースに置換されます。不明瞭パーティションのヒストグラムは更新され、分割ポイントは再評価されます。

プロセス・フロー

O-Clusterアルゴリズムでは、パーティションのすべての投影に対して適用可能な分割ポイントを評価し、最適なものを選択して、データを2つの新しいパーティションに分割します。アルゴリズムは、新しく作成されたパーティション内で適切な切断面の検索を続行します。つまり、O-Clusterは、入力空間を重複や間隙のない矩形領域に分割する2分木構造を作成します。

主な処理段階は次のとおりです。

1. バッファをロードします。初期バッファから単一のアクティブ・ルート・パーティションにすべてのケースを割り当てます。

2. アクティブ・パーティションごとに、直交する1次元の投影に従ってヒストグラムを計算します。

3. アクティブ・パーティションの最適な分割ポイントを見つけます。

4. 不明瞭パーティションと凍結パーティションをフラグ付けします。

5. 有効なセパレータが存在する場合、アクティブ・パーティションを2つの新しいアクティブ・パーティションに分割して手順2から再度開始します。

6. 現在のバッファで再帰的パーティショニングがすべて完了した後に、バッファを再ロードします。バッファのロードは、バッファが再度一杯になるか、データセットの最後に到達するか、ケースの数がデータ・バッファのサイズに等しくなるまで継続されます。

注意:

O-Clusterでは、データ全体に1つ以下のパスが必要です。

スコアリング

O-Clusterによって検出されたクラスタは、新しいデータのスコアリングに使用できるベイズ確率モデルの生成に使用されます。生成される確率モデルは混合モデルで、混合要素は、量的属性の独立正規分布と質的属性の多項分布の積によって表されます。

O-Clusterアルゴリズムのチューニング

O-Clusterアルゴリズムでは、2つの作成時設定がサポートされます。どちらの設定にもデフォルト値があります。特定の方法でアルゴリズムの動作に影響を与える場合を除き、デフォルトを上書きする必要はありません。

次のいずれかを指定してO-Clusterを構成できます。

- バッファ・サイズ: 処理バッファのサイズ。(「アクティブなサンプリング」を参照。)

- 感度係数: 新しいクラスタを分割するために必要なピーク密度を指定する割合。(「パーティショニング方針」を参照。)

関連項目:

『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定のO-Clusterに関する項

O-Cluster用のデータ準備

O-Clusterに対する自動データ準備では、量的属性のビニングが実行されます。特殊な等幅ビニングを使用して、属性ごとのビンの数が自動的に計算されます。すべてNULLまたは単一の値を持つ数値列は除外されます。O-Clusterでは、欠損値をそのまま(ランダムに欠損している値として)処理します。

注意:

O-Clusterでは、ネストした列、スパース・データまたは非構造化テキストはサポートされません。

関連項目:

- 『Oracle Data Miningユーザーズ・ガイド』のデータの準備に関する項

- 『Oracle Data Miningユーザーズ・ガイド』のデータの変換に関する項

O-Cluster用のユーザー定義のデータ準備

O-Cluster用のデータをユーザー自身が準備する場合は、次の内容に留意してください。

- O-Clusterでは、モデルを作成する際、必ずしもすべての入力データを使用するわけではありません。データはバッチで読み込みます(デフォルトのバッチ・サイズは50,000)。統計テストに基づいて、まだ見つかっていないクラスタが存在すると考えられる場合にのみ、別のバッチを読み込みます。

- 2項属性は、質的属性として宣言する必要があります。

- 自動等幅ビニングの使用をお薦めします。ビン識別子は、通常、1から始まる正の連続する整数にします。

- 外れ値が存在すると、クラスタリング・アルゴリズムに大きな影響を与える可能性があります。ビニングまたは正規化を行う前に、クリッピング変換を実行してください。等幅ビニングで外れ値が存在すると、O-Clusterでクラスタを検出できなくなる場合があります。その結果、母集団全体が1つのクラスタ内に含まれているように見えます。

関連項目:

例については、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

19 特異値分解

特徴抽出の監視なしアルゴリズムである特異値分解を使用する方法を学習します。

- 特異値分解とは

- アルゴリズムの構成

- SVD用のデータ準備

関連項目:

「特徴の選択と抽出」

特異値分解とは

特異値分解(SVD)と、それに密接に関連する主成分分析(PCA)は、適用範囲の広い確立した特徴抽出方法です。Oracle Data Miningは、特徴抽出アルゴリズムとしてSVDを、SVDモデルの特別なスコアリング方法としてPCAを実装しています。

SVDおよびPCAは、基礎となるデータ分散を取得する場合に最適な直交線形変換です。この特性は、高次元データのディメンション性を減少させ、有益なデータの視覚化をサポートする場合に非常に役立ちます。

SVDおよびPCAには、ディメンション性の低減以外にも、多くの重要な利用方法があります。これには、マトリックス反転、データ圧縮、不明なデータ値の帰属計算などがあります。

行列操作

特異値分解(SVD)は、矩形行列Xを3つの行列の積に分解する因数分解の方法です。

図19-1 行列操作

- U行列は、'左手系'の正規直交基底のセットで構成されます

- S行列は対角行列です

- V行列は、'右手系'の正規直交基底のセットで構成されます

Sの値は、特異値と呼ばれます。これらは、非負数で、それらの大きさは対応する基底(成分)の重要度を示します。特異値は、基底によって取得されたデータ分散の量を反映します。第1基底(最大の特異値を持つ基底)は、最大のデータ分散の方向に存在します。第2基底は、2番目の最大分散を持つ直交方向を取得します(以降同様に続きます)。

SVDは、基本的に、変換された軸をデータの最大分散の方向に揃える座標回転を実行します。これは、観測されるデータに高いS/N比が存在し、大きい分散が目的のデータ内容に対応し、小さい分散がノイズに対応するという仮定の下では有益な手順です。

SVDでは、基礎となるデータがガウス分布に従っており、平均と共分散の観点から適切に記述できると仮定します。

低ランクの分解

ディメンション性を減少させるため、特異値分解(SVD)では、低次の基底(最大の特異値を持つ基底)を維持し、高次の基底(最小の特異値を持つ基底)を無視します。低次の基底は、その分散に最も影響を与えているデータ特性を保持し、データの最も重要な側面を取得する可能性が高いという考え方が、この方針の背後にある原理です。

データセットX(nxm)を考慮する場合(nは行の数、mは属性の数)、低ランクのSVDはk成分のみを使用します(k ≤ min(m, n))。SVDの典型的な実装では、kの値は、個々の成分に関連付けられたランク付きの特異値の外観検査を必要とします。Oracle Data Miningでは、SVDによって、説明した分散の大幅な低下に対応するカットオフ・ポイントが自動的に評価されます。

SVDによって、正規直交基底の2つのセット(UとV)が生成されます。これらの基底のどちらでも新しい座標系として使用できます。Oracle Data MiningのSVDでは、Vが新しい座標系で、Uはこの座標系のXの投影を表します。アルゴリズムによって、新しいデータの投影が次のように計算されます。

図19-2 新しいデータの投影の計算

ここで、X (nxk)は、最初のk個の成分によって定義される、縮約されたデータ空間の投影データで、VkおよびSkは、縮約された成分セットを定義します。

スケーラビリティ

Oracle Data Miningでは、特異値分解(SVD)は、数百万の行と数千の属性を持つデータセットを処理できます。Oracle Data Miningでは、データに基づいて、ディメンション性の低減のために適切な特徴の数が自動的に推奨されます。

SVDには、完全な分解を計算する際に、行の数に応じた線形のスケーラビリティと属性の数に応じた3次元のスケーラビリティがあります。低ランクの分解は、通常、行の数および列の数に対して線形です。ランクを低下させた場合、スケーラビリティは、そのランクを行および列の数と比較した結果に依存します。ランクが大幅に低下する場合は線形に、同じスケールにある場合は3次元になります。

アルゴリズムの構成

特異値分解(SVD)アルゴリズムを構成するために複数のオプションを使用できます。たとえば、モデル・サイズおよびパフォーマンスを制御する設定や、SVD投影または主成分分析(PCA)投影のどちらでスコアリングするかを指定する設定があります。

モデル・サイズ

特異値分解のU行列には、作成データの行数と同じ数の行が含まれます。大規模なモデルの作成を回避するため、U行列は、アルゴリズム固有の設定が有効な場合にのみ維持されます。デフォルトでは、U行列は維持されません。

パフォーマンス

特異値分解では、近似計算を使用してパフォーマンスを向上できます。近似処理は、多くの列を含むデータセットに対しては適切である可能性があります。近似処理の低ランク分解では、適切な計算コストで十分な結果を得られます。近似処理の品質は、データの特性に依存します。

PCAスコアリング

特異値分解(SVD)モデルを構成して、主成分分析(PCA)の投影を実行できます。PCAは、SVDと密接に関連しています。PCAは、説明した対応する分散によってランク付けされる正規直交基底(主成分)のセットを計算します。SVDとPCAの主な違いは、PCA投影は特異値によってスケーリングされないところにあります。新しい座標系に対するPCA投影は、次の式によって与えられます。

図19-3 PCA投影の計算

ここで、 (nxk)は、最初のk個の成分によって定義される、縮約されたデータ空間の投影データで、Vkは、縮約された成分セットを定義します。

関連項目:

『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のDBMS_DATA_MININGのアルゴリズム定数と設定の特異値分解に関する項

SVD用のデータ準備

Oracle Data Miningは、量的データおよび質的データの特異値分解(SVD)を実装します。

自動データ準備では、SVD用の正規化が実行されます。SVDは外れ値の影響を受けるため、外れ値を処理するための追加のデータ準備は有益である可能性があります。

欠損値の処理は、Oracle Data Miningのアルゴリズムによって自動的に行われるため、必要ありません。SVDは、量的データの欠損値を平均値に置換し、質的データの欠損値を最頻値に置換します。スパース・データ(ネストした列の欠損値)の場合、SVDによって欠損値は0 (ゼロ)に置換されます。

関連項目:

- 『Oracle Data Miningユーザーズ・ガイド』のデータの準備に関する項

- 『Oracle Data Miningユーザーズ・ガイド』のデータの変換に関する項

20 サポート・ベクター・マシン

統計的学習理論に基づいた強力なアルゴリズムであるサポート・ベクター・マシンを使用する方法を学習します。

Oracle Data Miningには、分類、回帰および異常検出に対してサポート・ベクター・マシンが実装されています。

この章には次のトピックが含まれます:

- サポート・ベクター・マシンとは

- SVMモデルのチューニング

- SVM用のデータ準備

- SVM分類

- 1クラスSVM

- SVM回帰

関連項目:

- 「回帰」

- 「異常検出」

- 2005年第31回VLDB Conference (ノルウェー、トロンヘイム)会報『Support Vector Machines in Oracle Database 10g: Removing the Barriers to Widespread Adoption of Support Vector Machines』(Milenova, B.L.、Yarmus, J.S.、Campos, M.M.共著)
http://www.oracle.com/pls/topic/lookup?ctx=db121&id=datmin

サポート・ベクター・マシンとは

サポート・ベクター・マシン(SVM)は、Vapnik-Chervonenkis理論に基づいた強固な理論的基礎を持つ最新の強力なアルゴリズムです。SVMは、強力な正則化プロパティを持ちます。正則化とは、新しいデータへのモデルの一般化を指します。

SVMの利点

SVMモデルは、一般的なデータ・マイニング手法であるニューラル・ネットワークおよび動径基底関数に似た関数形式を持ちます。ただし、どちらのアルゴリズムも、SVMの基盤を形成する正則化に対して根拠のある理論的アプローチを持ちません。SVMのトレーニングの容易性と一般化の質は、これらのより伝統的な手法の機能をはるかに凌いでいます。

SVMでは、テキストや画像の分類、手書き文字の認識、バイオインフォマティクスや配列分析など、実際の世界の複雑な問題をモデル化できます。

SVMは、モデルのトレーニング対象となるケースがほとんどない場合でも、多数の属性を持つデータセットに対して十分に機能します。属性の数に上限はなく、ハードウェアによる制約があるのみです。従来のニューラル・ネットワークは、こうした環境下ではうまく機能しません。

Oracle Data MiningのSVMの利点

Oracle Data Miningは独自のサポート・ベクター・マシン(SVM)を実装しており、この実装では、SVMフレームワークに本来備わっている一部の制限を補いながら、このアルゴリズムの多くの利点を活かしています。Oracle Data MiningのSVMでは、本番レベルのデータ・マイニング・システムで必要とされるスケーラビリティおよび利用性が提供されます。

利用性

SVMは専門家のためのツールとみなされることが多いため、利用性は主要な改良点です。このアルゴリズムでは通常、データの準備、チューニングおよび最適化が必要です。Oracle Data Miningではこれらの要件が最小限になっています。専門的な知識がなくても、Oracle Data Miningで良質なSVMモデルを作成できます。次に例を示します。

- ほとんどの場合、データの準備は不要です。(「SVM用のデータ準備」を参照。)

- 通常はデフォルトのチューニング・パラメータで十分です。(「SVMモデルのチューニング」を参照。)

スケーラビリティ

非常に大規模なデータセットを扱う場合は通常、サンプリングが必要になります。ただし、Oracle Data Miningのサポート・ベクター・マシン(SVM)では、必要に応じてトレーニング・データのサイズを削減するために、このアルゴリズム自体で層別サンプリングが行われるため、サンプリングは必要ありません。

Oracle Data MiningのSVMは非常によく最適化されています。グローバルなソリューションに対して小さなワーキング・セットを最適化することによって、モデルを増分的に作成します。モデルは、現在のワーキング・セットが収束するまでトレーニングされてから、新しいデータに適用されます。このプロセスは、収束条件が満たされるまで繰り返し続行されます。ガウス・カーネルでは、ワーキング・セットの管理にキャッシュ技術が使用されます。

Oracle Data MiningのSVMでは、モデルのトレーニングに必要な時間およびメモリーのリソースを削減しつつ、より小さくてコンパクトなモデルを作成する最適化方法である能動学習がサポートされています。「能動学習」を参照。

関連項目:

「カーネルベースの学習」

カーネルベースの学習

SVMはカーネルベースのアルゴリズムです。カーネルは、問題が解決される高次元空間に入力データを変換する関数です。カーネル関数は線形の場合も非線形の場合もあります。

Oracle Data Miningでは、線形カーネルおよびガウス(非線形)カーネルがサポートされています。

Oracle Data Miningでは、線形カーネル関数が、トレーニング・データ内の元の属性に関する一次方程式に還元されます。線形カーネルは、トレーニング・データ内に多数の属性が存在する場合に適しています。

ガウス・カーネルはトレーニング・データ内の各ケースを、n次元空間内の1点に変換します(ここで、nはケースの数です)。これらの点は、アルゴリズムによって同種のターゲット値を持つサブセットに分割されます。ガウス・カーネルは非線形セパレータを使用しますが、カーネル空間内では一次方程式を構築します。

能動学習

能動学習は、モデルの拡大を制御し、モデルの作成時間を削減するための最適化手法です。能動学習を適用しない場合、SVMモデルのサイズは、作成データセットのサイズに応じて大きくなるため、SVMモデルのトレーニング・セットは小規模から中規模なサイズ(100,000ケース未満)に事実上制限されます。能動学習では、この制限を克服する手段が提供されます。能動学習を適用すると、SVMモデルは非常に大きいトレーニング・セットに基づいて作成できます。

能動学習により、SVMアルゴリズムは最も有益なトレーニング・サンプルを学習し、データ全体を使用しないように制限されます。多くの場合、生成されるモデルの予測精度は、標準的な(精密な) SVMモデルの予測精度と同程度になります。

能動学習によって、分類、回帰または異常検出に関係なく、線形とガウスの両SVMモデルにおいて大幅な改善がなされます。ただし、非線形モデルは、能動学習なしの場合、非常に大きくなることがあり、メモリーおよび他のシステム・リソースに相当な負担を強いる可能性があるため、能動学習は特にガウス・カーネルに対してメリットがあります。

SVMモデルのチューニング

サポート・ベクター・マシン(SVM)には、データに基づいて適切な設定を自動的に選択するメカニズムが組み込まれています。分野によっては、システムで決定された設定をオーバーライドする必要がある場合もあります。

特に指定されていなければ、回帰、分類および異常検出に関する設定を指します。

関連項目:

SVMモデルの構成は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。

SVM用のデータ準備

サポート・ベクター・マシン(SVM)のアルゴリズムは、量的属性でネイティブに動作します。このアルゴリズムでは、質的データはカテゴリ値ごとに2項属性のセットとして自動的に展開されます。たとえば、値marriedまたはsingleを持つ婚姻区分用の文字列の列は、marriedとsingleという2つの量的属性に変換されます。新しい属性には、値1(true)または0(false)が格納されます。

単純な(ネストしていない)データ型の列に欠損値がある場合、SVMではそれらをランダムに欠損した値として解釈します。質的データの欠損値は最頻値に、量的データの欠損値は平均値に自動的に置換されます。

ネストした列に欠損値がある場合、SVMではそれらをスパースとして解釈します。スパースな量的データは0 (ゼロ)に、スパースな質的データはゼロ・ベクトルに自動的に置換されます。

正規化

サポート・ベクター・マシンでは、数値入力の正規化が必要です。正規化によって、量的属性の値が同じスケール上に配置され、元の大規模なスケールを持つ属性によってソリューションに偏りがでることが回避されます。正規化はまた、オーバーフローおよびアンダーフローの可能性を最小限に抑えます。

SVMと自動データ準備

欠損値の処理や質的データの変換はサポート・ベクター・マシン(SVM)のアルゴリズムによって自動的に実行されますが、正規化や外れ値の検出は自動データ準備(ADP)で処理するか、手動で準備する必要があります。ADPは、SVM用にmin-max正規化を実行します。

注意:

SVMでは自動データ準備を使用することをお薦めします。ADPで実行される変換は、ほとんどのモデルに対して適切です。

関連項目:
『Oracle Data Miningユーザーズ・ガイド』のデータの変換に関する項

SVM分類

サポート・ベクター・マシン(SVM)分類は、決定境界を定義する決定面の概念に基づいています。決定面は、異なるクラスのメンバーシップを持つオブジェクト・セット間を区別するものです。SVMは、クラスの最も広範な区切りを与えるセパレータを定義するベクター(サポート・ベクター)を検出します。

SVM分類では、2項および多クラスの両ターゲットがサポートされます。

クラスの重み

サポート・ベクター・マシン(SVM)分類では、重みは、ターゲット値(クラス)の相対的な重要度を示すためのバイアス・メカニズムです。

SVMモデルは、クラス全体にわたって最良の平均予測を得るために自動的に初期化されます。ただし、トレーニング・データが実際の分布を代表していない場合は、モデルにバイアスをかけて、十分に代表されていないクラス値を補正できます。クラスの重みを増やすと、そのクラスの正しい予測子の割合が増加します。

関連項目:

「事前確率およびクラスの重み」

1クラスSVM

Oracle Data Miningでは、異常検出用の1クラス分類機能としてサポート・ベクター・マシン(SVM)を使用します。SVMは異常検出で使用される場合、分類マイニング機能を持ちますが、ターゲットは使用しません。

1クラスSVMモデルは、適用時に、スコアリング・データの各ケースに対して予測および確率を生成します。予測が1の場合、そのケースは典型的とみなされます。予測が0の場合、そのケースは異常とみなされます。この動作は、モデルが標準データでトレーニングされていることを反映しています。

異常とみなすデータの割合は、SVMS_OUTLIER_RATE構築設定で指定できます。「疑わしい」ケースの数が母集団の一定の割合であることがわかっている場合、その割合に外れ値の率を設定できます。モデルは、一般母集団への適用時に、その数の「頻度の低い」ケースをおおまかに識別します。

SVM回帰

サポート・ベクター・マシン(SVM)では、回帰問題を解決するために、イプシロン非感受性損失関数が使用されます。

SVM回帰では、データ・ポイントの最大数がイプシロン幅の非感受性チューブ内に収まるような連続関数の検出が試行されます。真のターゲット値のイプシロン距離内におさまる予測は、誤差として解釈されません。

イプシロン要素は、SVM回帰用の正則化設定です。この設定によって、モデルの堅牢性と誤差のマージンのバランスがとられ、新しいデータへの最適な一般化を実現できます。

関連項目:

「SVMモデルのチューニング」

用語集

能動学習

サポート・ベクター・マシン・アルゴリズムの機能で、大量のトレーニング・データセットを処理する方法を提供する。

ADP

「自動データ準備」を参照してください。

集約

複数のデータ値をより少ない数の値に集約するプロセス。たとえば、売上データを毎日収集して、これを週レベルに総計できる。

アルゴリズム

問題を解決するための一連の手順。「データ・マイニング・アルゴリズム」を参照。Oracle Data Mining APIでは、MDL、Apriori、ディシジョン・ツリー、k-Means、Naive Bayes、GLM、O-Cluster、サポート・ベクター・マシン、期待値最大化および特異値分解の各アルゴリズムがサポートされます。

アルゴリズム設定

モデル作成用のアルゴリズム固有の動作を指定する設定。

異常検出

外れ値または特殊なケースの検出。Oracle Data Miningには、異常検出が1クラスSVMとして実装されています。

適用

データのスコアリングを行うデータ・マイニング操作。スコアリングとは、結果を予測するために新しいデータに対してモデルを適用するプロセスです。

Apriori

相関の計算に高頻度項目セットを使用するアルゴリズムです。

相関

項目間の関係を識別する機械学習手法。

相関ルール

トランザクション間の各項目の同時発生性を見つけ出すマイニング機能。典型的なルールは、項目セットAの存在が、一定の支持度および信頼度で項目セットBの存在を示すA -> B形式の関連付け。ルールの支持度とは、総トランザクション数に対する、項目セットAおよびBが存在するトランザクションの数の割合である。ルールの信頼度とは、項目セットAが存在するトランザクションの数に対する、項目セットAおよびBが存在するトランザクションの数の割合である。Oracle Data Miningでは、相関モデルにAprioriアルゴリズムが使用される。

属性

属性は、予測モデルの予測子、または記述モデルの記述情報の項目を指す。データ属性は、モデルの作成に使用されるデータの列を指します。データ属性は、変換により、モデルで質的属性または量的属性として使用できるようになる。質的属性および量的属性はモデル属性である。「ターゲット」も参照。

属性評価

属性の重要度の測度を提供し、特定のターゲットを予測するマイニング機能。トレーニング・データ表の様々な属性の測度によって、ユーザーは、マイニング・モデルに対して最も適切であると判明した属性を選択できる。属性セットが小さいほど短時間でモデルが作成され、結果として生成されるモデルの精度が高くなる場合がある。Oracle Data Miningでは、重要な属性の検出に最小記述長アルゴリズムを使用する。「特徴選択」または「キー・フィールド」と呼ばれる場合もある。

自動データ準備

マイニング・モデルは、自動データ準備(ADP)で作成でき、ADPでは、アルゴリズムの要件に従って作成データが変換され、モデルに変換の指示が組み込まれます。組み込まれた変換は、新しいデータにモデルを適用するたびに実行されます。

ビニング

「離散化」を参照。

作成データ

モデルを作成(トレーニング)するためのデータ。「トレーニング・データ」とも呼ばれる。

ケース

特定のトランザクションまたは関連する値のセットに関して収集されたすべてのデータ。データセットはケースの集合である。ケースは、「レコード」または「サンプル」とも呼ばれる。最も単純な状況では、ケースは表内の1行に相当する。

ケース表

単一レコード・ケース形式の表またはビュー。各ケースのすべてのデータは、1つの行に格納される。ケース表には、各行の一意の識別子を格納するケースID列が含まれる場合がある。マイニング・データはケース表として与える必要がある。

質的属性

値が個別カテゴリに対応している属性。たとえば、州は、個別の値(CA、NY、MAなど)を持つ質的属性である。質的属性は、州、性別などのように順序付けられないもの(名称的)か、温度の高、中、低などのように順序付けられるもの(序数的)かのいずれかである。

重心

「クラスタの重心」を参照。

分類

既知のターゲット値を持つレコードから作成したモデルを使用して、新しいレコードの質的ターゲット値を予測するマイニング機能。Oracle Data Miningでは、分類に関して、Naive Bayes、ディシジョン・ツリー、一般化線形モデルおよびサポート・ベクター・マシンの各アルゴリズムをサポートしている。

クリップ

「トリミング」を参照。

クラスタの重心

各属性について、クラスタに割り当てられたトレーニング・データにおけるケースの平均値(量的属性の場合)または最頻値(質的属性の場合)のエンコードを行うベクター。クラスタの重心は単に「重心」とも呼ばれる。

クラスタリング

データ内での自然発生的なグループを見つけるためのマイニング機能。より正確には、それぞれが属性セットを持つデータ・ポイントのセット、およびそのデータ・ポイント間の類似性測度があるものとすると、クラスタリングとは、相互に類似するデータ・ポイントを同じクラスタ内に、あまり類似しないデータ・ポイントを異なるクラスタ内にグループ化するための処理である。Oracle Data Miningでは、クラスタリングに関して、k-Means、直交パーティショニング・クラスタリングおよび期待値最大化の3つのアルゴリズムがサポートされています。

混同マトリックス

これによって、テスト・タスクからのモデルによる予測の精度が測定される。混同マトリックスの行インデックスは、テスト・データで提供され、観測された「実測値」に対応する。列インデックスは、モデルをテスト・データに適用して生成された「予測値」に対応する。実測/予測インデックスの各組合せの値は、その組合せに分類されるレコードの数を表す。

予測値が実測値に等しい場合、モデルによって正確な予測が生成される。その他のすべてのエントリはエラーを示す。

コスト・マトリックス

予測値と実測値に関連するコストを定義するn×nの表です。コスト・マトリックスは通常、分類モデルで使用され、nはターゲット内の個別値の数で、列および行はターゲット値でラベル付けされます。行が実測値、列が予測値となります。

反例

ターゲットのネガティブ・インスタンス。反例は、1クラス・サポート・ベクター・マシン以外の分類モデルで必要となります。

データ・マイニング

データ・マイニングとは、大量に保管されているデータを自動的に検索して、単純な分析では得られないパターンや傾向を見つけることです。データ・マイニングでは高度な数学的アルゴリズムを使用して、データを分割し、将来のイベントの発生確率を判断します。データ・マイニングは、「データからの知識発見(KDD)」としても知られています。

データ・マイニング・モデルは、特定のデータセットの特定のタイプの問題を解決するためにデータ・マイニング・アルゴリズムを実装しています。

データ・マイニング・アルゴリズム

データ・マイニング・モデルを生成する特殊な技法または手順。1つのアルゴリズムでは特定のデータ表現および特定のマイニング機能が使用されます。

Oracle Data Miningがサポートするアルゴリズムは、Naive Bayes、サポート・ベクター・マシン、一般化線形モデルおよびディシジョン・ツリー(分類用)、サポート・ベクター・マシンおよび一般化線形モデル(回帰用)、k-Means、O-Clusterおよび期待値最大化(クラスタリング用)、最小記述長(属性評価用)、Non-Negative Matrix Factorizationおよび特異値分解(特徴抽出用)、Apriori(相関用)および1クラスサポート・ベクター・マシン(異常検出用)です。

Data Mining Server

データ・マイニング・エンジンおよび永続メタデータ・リポジトリを実装する、Oracle Databaseのコンポーネントです。データ・マイニング・タスクを実行する前にData Mining Serverに接続する必要がある。

データセット

一般的には、データの集合。データセットはケースの集合である。

記述モデル

記述モデルは、基底のプロセスや行動の理解に役立つ。たとえば、相関モデルによって、消費者の購入パターンを記述できます。「マイニング・モデル」も参照。

離散化

離散化(ビニング)によって、単一値(またはビン)に基づいて、関連値が一緒にグループ化されます。これによって、列内の個別値の数が減少する。ビンの数が少なくなると、モデルが短時間で作成される。モデルの作成、テスト、リフトの計算、適用(スコアリング)の前に入力データを離散化することによって、Oracle Data Miningの多くのアルゴリズム(NBなど)にプラスとなる場合がある。アルゴリズムごとに異なるビニング・タイプが必要になる場合がある。Oracle Data Miningでは、監視ありビニング、質的属性に対する上位N個の頻度ビニング、量的属性に対する等幅ビニングおよび分位ビニングがサポートされています。

距離ベース(クラスタリング・アルゴリズム)

距離ベースのアルゴリズムは、距離メトリック(関数)を使用して、データ・ポイント間の類似度を計測する。各データ・ポイントは、使用される距離メトリックに従って、最も近いクラスタに割り当てられる。

ディシジョン・ツリー

ディシジョン・ツリーは、分類システムまたは監視ありモデルを表します。ツリーは一連の問題として構築され、問題への答えはツリーをリーフまでさかのぼり、そのリーフで予測が生成されます。

ディシジョン・ツリーは、クラスまたは値をもたらす一連の問題を表す方法である。ディシジョン・ツリーの最上位ノードはルート・ノードと呼ばれ、終端ノードはリーフ・ノードと呼ばれる。ディシジョン・ツリーは、各分割においてグループ間の距離が最大になるような、個々のグループへのデータの反復的な分割によって構築される。

ディシジョン・ツリー・モデルの重要な特性は、透過的であるという点にある。すなわち、その分類を説明するルールが存在する。

「ルール」 も参照。

等幅ビニング

等幅ビニングは、指定した同じサイズのビン数に値の範囲を分割することによって、量的属性のビンを決定する。

期待値最大化

期待値最大化は、データの密度モデルを作成する確率的クラスタリング・アルゴリズムです。密度モデルによって、異なるドメインに由来するデータ(たとえば、販売トランザクションと顧客購買層、または構造化データとテキストなどの非構造化データ)を結合するアプローチを改善できます。

展開

質的属性に関して、複数値の質的列をいくつかの2項質的列で置き換える。属性を展開するには、属性がとる各個別値に新しい2項列を作成する必要がある。新しい列では、1は属性の値がその列の値をとることを示し、0はとらないことを示す。たとえば、質的属性が値{1, 2, 3}をとるとする。この属性を展開するために、col_1、col_2およびcol_3という新しい列を3つ作成する。属性が値1をとる場合、col_1の値は1であり、他の2つの列の値は0となる。

特徴

特に重要度が高くデータの重要な特性をとらえた、データ内の属性の組合せ。「特徴抽出」を参照。

「テキストの特徴」も参照。

特徴抽出

元のデータを分解して、特徴の新しいセットを作成すること。特徴抽出を使用すると、通常、元の属性の数よりもはるかに少ない数の特徴でデータを記述できる。「Non-Negative Matrix Factorization」および「特異値分解」も参照してください。

一般化線形モデル

線形モデリング用の統計的手法。一般化線形モデル(GLM)は、単純な線形モデルのクラスを含み、このクラスを拡張したものである。Oracle Data Miningでは、GLM分類に対してロジスティック回帰が、GLM回帰に対して線形回帰がサポートされている。

GLM

「一般化線形モデル」を参照。

k-Means

十分な数の個別ケースがある場合に、事前に決められた数のクラスタにデータをパーティション化する、距離ベースのクラスタリング・アルゴリズム。距離ベースのアルゴリズムは、距離メトリック(関数)を使用して、データ・ポイント間の類似度を計測する。各データ・ポイントは、使用される距離メトリックに従って、最も近いクラスタに割り当てられる。Oracle Data Miningには、k-Meansの拡張バージョンが用意されている。

リフト

偶然取得される予測結果より、モデルを使用している予測結果がどのくらい優れているかの測度。たとえば、カタログを請求した顧客の2%が購入を行っていると仮定し、あるモデルを使用してカタログの請求者を絞ると請求者の10%が購入を行っていると仮定する。この場合、そのモデルのリフトは10/2、つまり5となる。リフトは、異なるデータ・マイニング・モデルを比較するための測度としても使用できる場合がある。リフトは実際の結果を持つデータ表を使用して計算されるので、予測結果の当該データに関して、あるモデルがどの程度機能しているのかが比較される。リフトによって、実際の結果からランダムに選択した予測に対して、モデルがどの程度予測を向上させているかが示される。リフトを使用すると、新しいデータに対してモデルがどの程度機能するかを推測できる。

系統

モデル作成プロセスのデータ準備フェーズで、データセットに対して実行される変換順序。

線形回帰

Oracle Data MiningでサポートされているGLM回帰アルゴリズムです。

ロジスティック回帰

Oracle Data MiningでサポートされているGLM分類アルゴリズムです。

MDL

「最小記述長」を参照。

min-max正規化

次の変換を使用して量的属性を正規化することです。

x_new = (x_old-min) / (max-min)

最小記述長

データのサンプルがあり、そのデータを説明するための適切な代替理論が効率的に列挙されている場合、最良の理論は次の合計を最小化するものである。

- 理論の記述のビット長

- 理論によってエンコードされる際のデータのビット長

最小記述長の原理は、属性評価におけるターゲット値の区別に最も影響のある属性の選択に使用されます。

マイニング機能

共通の高水準の特性を共有するデータ・マイニングの主なサブドメイン。Oracle Data Mining APIでは、分類 、回帰、属性評価、特徴抽出、クラスタリングおよび異常検出の各マイニング機能がサポートされています。

マイニング・モデル

Oracle Databaseでデータ・マイニング・モデルを指定するファースト・クラスのスキーマ・オブジェクトです。

欠損値

ランダムに欠損したデータ値です。値は、使用できない、既知ではない、または喪失したため、欠損しています。Oracle Data Miningは、単純な(ネストしていない)データ型の列に欠損値がある場合、それらをランダムに欠損した値として解釈します。Oracle Data Miningは、ネストした列に欠損値がある場合、それらをスパースとして解釈します。

データ・マイニング・アルゴリズムには、様々な欠損値の処理方法がある。一般的な処理方法として、欠損値を無視する、欠損値を含んでいるレコードを省く、欠損値を最頻値または平均値で置き換える、または既存値から欠損値を推測するなどがあげられる。「スパース・データ」も参照。

モデル

モデルは、アルゴリズムを使用して特定のマイニング機能を実装します。モデルは、監視ありモデルまたは監視なしモデルのいずれかである。モデルは、相関モデルから生成されたルールの検査や、データのスコアリング(結果の予測)など、直接検査のために使用できます。Oracle Databaseでは、データ・マイニング・モデルは、マイニング・モデルのスキーマ・オブジェクトとして実装されます。

複数レコード・ケース

データ表の各ケースは、複数の行に格納されます。「トランザクショナル・データ」としても知られています。「単一レコード・ケース」も参照。

Naive Bayes

Bayesの定理に基づく分類用のアルゴリズムです。Naive Bayesでは、各属性は条件的に他の属性に従属しないものとみなされるため、あるターゲット値を考える際、各予測子の分布は他の予測子に依存しません。

ネストしたデータ

Oracle Data Miningでは、名前と値のペアのネストした列でのトランザクショナル・データがサポートされています。1対多の関係を表す多次元データはネストした列にロードして、ケース表内の単一レコード・ケース・データとともにマイニングできます。

NMF

「Non-Negative Matrix Factorization」を参照。

Non-Negative Matrix Factorization

ユーザーが定義した数の特徴を作成して多変量データを分解することにより、元のデータの縮小表現を生成する特徴抽出アルゴリズム。

正規化

正規化では、[–1.0,1.0]や[0.0,1.0]などの量的な値を、x_new = (x_old-shift)/scaleなどのように特定の範囲に変換します。正規化は、量的属性に対してのみ適用されます。Oracle Data Miningには、min-max正規化、スケール正規化およびz-スコア正規化を実行する変換が用意されています。

量的属性

値が数である属性。数値は整数または実数のいずれかである。量的属性の値は、連続する値として操作できる。「質的属性」も参照。

O-Cluster

「直行パーティショニング・クラスタリング」を参照。

1クラス・サポート・ベクター・マシン

異常検出に関する問題の解決に使用されるサポート・ベクター・マシン・モデルのバージョン。アルゴリズムでは、ターゲットなしの分類が実行されます。

直交パーティショニング・クラスタリング

グリッドベースの階層クラスタリング・モデルを作成するOracle独自のクラスタリング・アルゴリズムであり、軸並行な(直行の)パーティションを入力属性空間に作成します。このアルゴリズムは再帰的に作用します。生成される階層構造は、属性空間をクラスタに分割する不規則なグリッドになります。

外れ値

通常のデータの個体群から離れているデータ値(極値)。正規分布では、外れ値は通常、平均値からの標準偏差が3以上です。

ポジティブ・ターゲット値

2項分類の問題では、2つのクラス(ターゲット値)のうち1つをポジティブとし、もう1つをネガティブと指定できる。Oracle Data Miningによってモデルのリフトが計算される際、モデルが一定の信頼度でポジティブ値を予測する、テスト・インスタンス・セット中のポジティブ・ターゲット値の密度が計算される。

予測モデル

予測モデルは、他の既知の値(独立変数または入力)からは目に見えないか、測定されない値(従属変数または出力)を予測できるようにする式またはルールのセットである。式またはルールの形式は、調査プロセスから収集されたマイニング・データによって示される。トレーニングまたは評価手法の中には、式やルールのパラメータの評価に使用されるものがある。予測モデルは、監視ありモデルである。

予測子

モデルを作成する監視ありアルゴリズムへの入力として使用される属性です。

既存データ

特定のアルゴリズムを使用したモデルの作成に適したデータ。データ・マイニング・プロジェクトで費やされるほとんどの時間を、データの準備が占める場合がある。自動データ準備では、アルゴリズム用のデータを自動的に準備することで、モデルの開発およびデプロイメントが大幅に簡略化されます。

主成分分析

主成分分析は、特異値分解アルゴリズムの特別なスコアリング方法として実装されます。

事前確率

事前確率のセットによって、元のソース・データにおける様々なクラスのサンプルの分布が指定される。単に「事前」とも呼ばれ、モデルの作成に提供されるデータセットで観測される分布とは異なる場合がある。

事前

「事前確率」を参照。

分位ビニング

量的属性はビンに分割され、各ビンにほぼ同じ数のケースが格納されるようにする。

ランダム・サンプル

データセットの各要素が選択される機会を等しく持つ場合のサンプル。

再コーディング

文字どおり、コードを変更または再配置すること。再コーディングは、次に示すような特定のビジネス上の課題の要件に従ってデータを準備する際に有効になる場合があります。

- 欠損値の処理: 欠損値は、「0000」、「9999」、「NA」またはその他の文字列など、NULL以外のもので示される場合がある。欠損値を処理するには、「0000」からNULLに再コーディングするなどの方法がある。これにより、Oracle Data Miningのアルゴリズムおよびデータベースによって、その値は欠損値として認識される。

- 変数のデータ型の変更: 「Y」または「Yes」を1に、「N」または「No」を0に変更するなど。

- カットオフ値の確立: $20,000より少ないすべての収入を同じ値に再コーディングするなど。

- 項目のグループ化: USの個々の州を地域にグループ化するなど。「New England region」の構成要素としてME、VT、NH、MA、CTおよびRIがある場合、この5つの州を、NE (for New England)などと再コーディングする。

レコード

「ケース」を参照。

回帰

既知のターゲット値を持つレコードから作成したモデルを使用して、新しいレコードの連続的なターゲット値を予測するデータ・マイニング機能。Oracle Data Miningでは、線形回帰(GLM)およびサポート・ベクター・マシンのアルゴリズムが回帰用にサポートされています。

ルール

「Xの場合Y」という一般形式の式。クラスタリング、相関、ディシジョン・ツリーなどの特定のアルゴリズムの出力である。述語Xは、コンパウンド述語の場合がある。

サンプル

「ランダム・サンプル」を参照。

スケール正規化

次の変換を使用して量的属性を正規化することです。

x_new = (x_old - 0) / (max(abs(max),abs(min)))

スキーマ

表、ビュー、順序、ストアド・プロシージャ、シノニム、索引、クラスタ、データベース・リンクなどの論理構造を含むOracle Databaseのオブジェクトの集合です。スキーマは、特定のデータベース・ユーザーに関連付けられます。

スコア

データのスコアリングとは、予測を生成するために、データ・マイニング・モデルをデータに適用することを意味する。

設定

「アルゴリズム設定」を参照。

単一レコード・ケース

データ表の各ケースは、1つの行に格納されます。「複数レコード・ケース」と対比。

特異値分解

直交線形投影を使用して基礎となるデータ分散を取得する特徴抽出アルゴリズムです。特異値分解は、非常に大規模なデータ・サイズ(行と属性の両方)に適切にスケーリングされ、優れたデータ圧縮機能を持ちます。

「特異値分解」を参照。

スパースなデータ

ある特定のケースにおいて、非ゼロまたは非NULLである属性の割合が小さいデータ。マーケット・バスケットや非構造化テキストのデータは通常スパース・データです。Oracle Data Miningは、ネストしたデータをスパースとして解釈します。「欠損値」も参照。

分割

あるデータセットをいくつかの非結合サブセットに分割すること。たとえば、分類に関する問題では多くの場合、データセットがトレーニング・データセットとテスト・データセットに分割される。

層別サンプル

データセットを非結合サブセット(層)に分割し、各サブセットからランダム・サンプルを取得すること。この手法は、ターゲット値の分布が大幅に偏っている場合に使用される。たとえば、マーケティング・キャンペーンに対する反応のポジティブ・ターゲット値が、そのキャンペーン期間の1%以下の場合などで使用される。層別サンプルにより、ポジティブ・ターゲット値とネガティブ・ターゲット値を区別する要因を学習するために十分な数のポジティブ・サンプルが、データ・マイニング・アルゴリズムに提供される。「ランダム・サンプル」も参照。

監視ありビニング

高い知能を備える形式のビニングであり、ビンの境界はデータの重要な特性から導かれます。監視ありビニングでは、単一予測子のディシジョン・ツリーが作成され、ターゲットに関して特徴的なビンの境界が検出される。監視ありビニングは、量的属性または質的属性に使用できます。

監視あり学習

「監視ありモデル」を参照。

監視ありモデル

既知の従属変数を使用して作成したデータ・マイニング・モデルで、ターゲットとも呼ばれます。監視ありマイニングの例として、分類および回帰手法があります。「監視なしモデル」を参照。「予測モデル」とも呼ばれます。

サポート・ベクター・マシン

機械学習理論を使用して、データへのオーバーフィットを自動的に回避しつつ予測の精度を最大化するアルゴリズム。サポート・ベクター・マシンは、バイオインフォマティクスで扱われるデータのように、予測子の列が多い一方で行が比較的少ない分野などに見られるスパース・データについても予測を行うことができる。サポート・ベクター・マシンは、分類、回帰および異常検出に使用できる。

SVM

「サポート・ベクター・マシン」を参照。

ターゲット

監視あり学習における、識別された予測対象の属性。「ターゲット値」または「ターゲット属性」と呼ばれる場合もある。「属性」も参照。

テキストの特徴

ドキュメントまたはドキュメントのクラスの重要な属性を捕捉する用語の組合せ。テキストの特徴とは通常、キーワード、用語の頻出度など、ドキュメント派生の特徴である。ドキュメントには通常、多くの用語が含まれるが、特徴の数は比較的少ない。

テキスト・マイニング

テキストの特徴を使用して行われる従来型のデータ・マイニング。テキストの特徴とは通常、キーワード、用語の頻出度など、ドキュメント派生の特徴である。テキストの特徴を抽出して、その他のデータと同様にマイニングを行う。テキスト・マイニングは、Oracle Data MiningおよびOracle Textの両方でサポートされる。

上位N個の頻度ビニング

このタイプのビニングは、質的属性をビニングします。各属性のビンの定義は、データから計算される値の発生頻度に基づいて計算されます。ビンの数は、ユーザーが特定の数(N)を指定します。bin_1、...、bin_Nの各ビンが、頻度が上位にある値に対応します。ビンbin_N+1が、それ以外のすべての値に対応します。

トレーニング・データ

「作成データ」を参照。

トランザクション・データ

1つのケースのデータは、複数の行に格納されます。例としては、マーケット・バスケット・データ(ケースが複数の項目を含んでいる1つのバスケットを表す)があります。Oracle Data Miningでは、属性名と値のペアのネストした列でのトランザクショナル・データがサポートされています。「ネストしたデータ」、「複数レコード・ケース」および「単一レコード・ケース」も参照。

変換

データに適用される機能で、適用後は新しい表現のデータとなります。たとえば、離散化および正規化はデータに対する変換です。

トリミング

外れ値の影響を最小限に抑える手法です。トリミングでは分布の両端の値が取り除かれ、以降の計算では取り除かれた値が無視される。トリミングでは、末端値をNULLに設定します。

非構造化データ

画像、音声、映像、地理空間マッピング・データ、ドキュメントまたはテキストのデータは、まとめて非構造化データと呼ばれる。Oracle Data Miningでマイニングできる非構造化データはテキスト・データである。

監視なし学習

「監視なしモデル」を参照。

監視なしモデル

既知の正確な結果のガイダンス(監視)なしで作成されたデータ・マイニング・モデル。監視あり学習では、この正確な結果がターゲット属性で提供される。監視なし学習には、そのようなターゲット属性がない。監視なしマイニング機能の例として、クラスタリングおよび相関がある。「監視ありモデル」を参照。

ウィンザライズ

外れ値の影響を最小限に抑える手法です。ウィンザライズでは、特定の属性の末端値を一定の指定値に設定する処理が伴う。たとえば、ウィンザライズを90%とする場合、下位5%の値は6パーセンタイルの最小値と同じ値に設定され、上位5%の値は95パーセンタイルの最大値と同じ値に設定される。

z-スコア正規化

次の変換を使用して量的属性を正規化することです。

x_new = (x_old-mean) / standard_deviation

索引

A  B  C  D  E  F  G  H  I  K  L  M  N  O  P  R  S  T  U  V  W

A

- accuracy 1 , 2

- 能動学習 1

- アクティブなサンプリング 1

- ADP

- 「自動データ準備」を参照:

- アルゴリズム

- Apriori 1 , 2 , 3

- 相関 1

- ディシジョン・ツリー 1 , 2

- 定義済 1

- 期待値最大化 1 , 2

- 一般化線形モデル 1 , 2

- k-Means 1 , 2 , 3

- 最小記述長 1 , 2

- Naive Bayes 1 , 2

- Non-Negative Matrix Factorization 1 , 2

- O-Cluster 1 , 2 , 3

- 1クラス・サポート・ベクター・マシン 1 , 2

- 主要コンポーネント分析 1 , 2

- 特異値分解 1 , 2

- 監視あり 1

- サポート・ベクター・マシン 1

- 監視なし 1

- 異常検出 1 , 4 , 5 , 6 , 7

- 適用

- 「スコアリング」を参照:

- Apriori 1 , 2 , 3

- 人工知能 1

- 相関ルール 1 , 3 , 4 , 5

- 属性評価

- 最小記述長 1

- 属性 1 , 2

- 自動データ準備 1 , 2 , 3 , 4

B

- Bayesの定理 1

- ビニング

- 等幅 1 , 2 , 3

- 監視あり 1 , 2

C

- ケース表 1

- 質的ターゲット 1

- 重心 1 , 2

- 分類

- バイアス 1

- バイナリ 1 , 2

- ディシジョン・ツリー 1 , 2

- デフォルト・アルゴリズム 1

- 一般化線形モデル 1 , 2

- ロジスティック回帰 1

- 多クラス 1

- Naive Bayes 1 , 2

- 1クラス 1

- サポート・ベクター・マシン 1 , 2

- クラスの重み 1

- クラスタリング

- 期待値最大化 1

- 階層 1 , 2 , 3

- K平均法 1

- O-Cluster 1

- スコアリング 1

- 係数

- GLM 1

- Non-Negative Matrix Factorization 1 , 2

- 回帰 1 , 2

- 計算論的学習 1

- 信頼度

- Apriori 1 , 2

- 相関ルール 1 , 2

- クラスタリング 1

- 定義済 1

- 信頼限界 1 , 2 , 3

- 混同マトリックス 1 , 2 , 3

- コスト・マトリックス 1 , 2

- コスト 1 , 2

D

- データ・マイニング

- 定義済 1

- Oracle 1 , 2

- プロセス 1

- データ準備

- Apriori 1

- 期待値最大化 1

- 一般化線形モデル 1

- k-Means 1

- 最小記述長 1

- Naive Bayes 1

- O-Cluster 1

- SVD 1

- データ・ウェアハウス 1

- DBMS_DATA_MINING 1

- DBMS_STAT_FUNCS 1

- ディシジョン・ツリー 1 , 2

- デプロイメント 1

- 記述モデル 1

- 指示あり学習 1

E

- 組込みのデータ準備 1

- エントロピ 1 , 2 , 3

- Exadata 1

- 期待値最大化 1

F

- 特徴抽出

- デフォルト・アルゴリズム 1

- Non-Negative Matrix Factorization 1

- 主成分分析 1

- 特異値分解 1

- テキスト・マイニング 1

- 特徴生成 1 , 2

- 特徴選択 1 , 2 , 3

- 高頻度項目セット 1 , 2

G

- 一般化線形モデル

- 分類 1

- 特徴の選択と抽出 1

- 回帰 1

- GLM

- 「一般化線形モデル」を参照:

- グラフィカル・ユーザー・インタフェース 1

H

- 階層 1 , 2 , 3

- ヒストグラム 1

I

- 帰納的推論 1

- 項目セット 1

K

- カーネル 1

- k-Means 1 , 2 , 3

L

- リフト

- 相関ルール 1

- 分類 1

- 線形回帰 1 , 2 , 3

- ロジスティック回帰 1 , 2

M

- 機械学習 1

- マーケット・バスケット・データ 1

- MDL 1

- 「最小記述長」を参照:

- 最小記述長 1

- マイニング機能

- 異常検出 1 , 2 , 3

- 相関ルール 1 , 2 , 3

- 属性評価 1 , 2 , 3

- 分類 1 , 2 , 3

- クラスタリング 1 , 2 , 3

- 特徴抽出 1 , 2 , 3 , 4

- 回帰 1 , 2 , 3

- 欠損値の処理 1

- モデルの詳細 1 , 2

- 多重共線性 1

- 多次元分析 1 , 2

- 多変量線形回帰 1

N

- Naive Bayes 1 , 2

- ネストしたデータ 1

- ニューラル・ネットワーク 1

- NMF

- 「Non-Negative Matrix Factorization」を参照:

- 非線形回帰 1

- Non-Negative Matrix Factorization

- テキスト・マイニング 1

- 非トランザクショナル・データ 1

- 量的ターゲット 1

O

- O-Cluster 1 , 2 , 3

- OLAP 1 , 2

- 1クラス・サポート・ベクター・マシン 1 , 2

- Oracle Business Intelligence Suite Enterprise Edition 1

- Oracle Database

- カーネル 1

- 統計関数 1

- Oracle Data Miner 1

- Oracle OLAP 1

- Oracle Spatial 1

- Oracle Text 1

- 外れ値 1 , 2 , 3

- オーバー・フィット 1 , 2

P

- パラレル実行 1 , 2 , 3 , 4 , 5 , 6

- PCA

- 「主成分分析」を参照:

- PL/SQL API 1 , 2

- PREDICTION_PROBABILITYファンクション 1

- PREDICTION関数 1

- 予測分析 1

- 予測モデル 1

- 主要コンポーネント分析 1 , 2

- 事前確率 1 , 2

R

- 動径基底関数 1

- 受信者操作特性 1

- 回帰

- 係数 1 , 2

- デフォルト・アルゴリズム 1

- 定義済 1

- 一般化線形モデル 1 , 2

- 線形 1 , 2

- 非線形 1

- リッジ 1

- 統計 1

- サポート・ベクター・マシン 1 , 2

- リッジ回帰 1

- ROC

- 「受信者操作特性」を参照:

- ルール

- Apriori 1

- 相関ルール 1

- クラスタリング 1

- ディシジョン・ツリー 1

- 定義済 1

S

- スコアリング

- 異常検出 1

- 分類 1

- クラスタリング 1

- 定義済 1

- 動的 1

- Exadata 1

- 知識の配置 1

- モデルの詳細 1

- Non-Negative Matrix Factorization 1

- O-Cluster 1

- パラレル実行 1

- リアルタイム 1

- 回帰 1

- 監視ありモデル 1

- 監視なしモデル 1

- 単一性 1

- 特異値分解 1

- スパース・データ 1 , 2

- SQLデータ・マイニング関数 1 , 2

- SQL統計関数 1

- スター・スキーマ 1

- 統計関数 1

- 統計 1

- 層別サンプリング 1 , 2

- 監視あり学習 1

- 支持度

- Apriori 1 , 2

- 相関ルール 1 , 2

- クラスタリング 1

- 定義済 1

- サポート・ベクター・マシン

- 分類 1 , 2

- ガウス・カーネル 1

- 線形カーネル 1

- 1クラス 1 , 2

- 回帰 1 , 2

- SVD

- 「特異値分解」を参照:

- SVM

- サポート・ベクター・マシンを参照:

T

- ターゲット 1 , 2

- テキスト・マイニング

- 特徴抽出 1

- Non-Negative Matrix Factorization 1

- トランザクショナル・データ 1 , 2 , 3

- 変換 1

- 透明性 1 , 2 , 3 , 4

U

- 非構造化データ 1

- 監視なし学習 1

- UTL_NLA 1

V

- 分散拡大係数 1

W

- ワイド・データ 1 , 2

Oracleの法律上の注意点

コピーライト

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

Pre-General Availability (一般提供前)版のドキュメントについて

このドキュメントがPre-General Availability (一般提供前)版の場合:

このドキュメントはPre-General Availability (一般提供前)版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のPre-General Availability (一般提供前)版のドキュメントについて

このドキュメントが非公開のPre-General Availability (一般提供前)版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のPre-General Availability Trial Agreement (Pre-GAトライアル契約)のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle Partner Network Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティ

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。