この章では、特徴の選択と抽出のマイニング機能について説明します。Oracle Data Miningでは、監視あり形式の特徴選択と監視なし形式の特徴抽出をサポートしています。
この章では、次の項目について説明します。
情報量が多すぎると、データ・マイニングの有効性が低下してしまうことがあります。モデルの作成やテストのために集められたデータ属性の列が、そのモデルにとって意味のある情報とならない場合もあれば、実際にモデルの質や精度を落としてしまう場合もあります。
一例として、ある集団内で特定の病気が発生する可能性を予測する目的で、その集団に関するデータを大量に集めたとします。この情報の一部(おそらくその大部分)は、その病気に対する罹患率についてほとんどあるいはまったく影響を与えないと予想されます。1世帯当たりの車の所有台数といった属性は、おそらく何の影響も及ぼしません。
無関係な属性は、データにノイズを加えてモデルの精度に影響を与えるだけです。ノイズがあると、モデルのサイズが大きくなり、モデルの作成およびスコアリングに必要な時間やシステム・リソースも増大します。
さらに、多くの属性を持つデータセットには、相関した属性のグループが含まれることがあります。これらの属性は、実際には基底に存在する同一の特徴を測定している場合があります。こうした属性が作成データに存在していると、アルゴリズムのロジックが歪められ、モデルの精度が影響を受ける可能性があります。
ワイド・データ(多くの属性)は通常、データ・マイニング・アルゴリズムについて処理上の問題が生じる元となります。モデル属性は、アルゴリズムで使用される処理空間のディメンションです。処理空間のディメンション性が高くなるほど、アルゴリズムの処理にかかる計算コストが高くなります。
ノイズ、相関、高いディメンション性の影響を最小限に抑えるには、データ・マイニングの前処理手順として、なんらかの形でディメンションを削減することが望ましい場合があります。ディメンションを削減するには、特徴選択と特徴抽出という2つの方法があります。
特徴選択: 最適な属性の選択
特徴抽出: 属性の組合せによる、新しい削減された特徴セットの作成
Oracle Data Miningでは、属性評価マイニング機能で特徴選択をサポートしています。属性評価は、ターゲットの予測における重要度に従って属性をランク付けする、監視あり機能です。
一部のデータ・マイニング・プロジェクトでは、最も重要な予測子を見つけることが最終目的となります。たとえば、高い信用リスクを示す顧客の主要な特徴を見つけることを目的とするモデルなどです。
属性評価は、分類モデル、特にNaive Bayesまたはサポート・ベクター・マシンを使用するモデルの作成の準備段階で使用しても効果的です。ディシジョン・ツリー・アルゴリズムには、モデル作成の一部として属性をランク付けするコンポーネントが含まれています。
Oracle Data Miningでは、属性評価のスコアリング操作はサポートしていません。属性評価の結果は、予測における影響度に従ってランク付けされた作成データの属性です。評価の測度とランク付けは、属性の選択に使用できます。
図9-1は、Oracle Data Miningの属性評価モデルの例(ai_sh_sample)の作成に使用したケース表から抜粋した6つの列と10の行です。提携カードで消費を増やした顧客にターゲット値1が割り当てられており、消費を増やさなかった顧客にターゲット値0が割り当てられています。
図9-2に、モデルai_sh_sampleで戻された結果を示します。モデルの作成に使用する属性は、ターゲットを予測する際の重要度の順にランク付けされます。その結果から、顧客が提携カードで消費を増やすかどうかについて最も大きな影響を与えるのは世帯規模(HOUSEHOLD_SIZE)および婚姻区分(CUST_MARITAL_STATUS)であることがわかります。世帯規模の重要度は、居住年数(YRS_RESIDENCE)のおよそ2倍です。
ネガティブ・ランキングはノイズを表しています。ゼロ以下にランク付けされた属性は、予測には役立たないので、おそらくデータから削除する必要があります。
|
関連項目: Oracle Data Miningのサンプル・プログラムについては、『Oracle Data Mining管理者ガイド』を参照してください。 |
予測分析のEXPLAIN操作でも、属性評価を行うことができます。図9-3に、Oracle Data Mining Spreadsheet Add-In for Predictive Analyticsを使用した、Microsoft ExcelでのEXPLAINの結果を示します。
この結果から、RELATIONSHIPが、このデータセットに指定されたターゲットを予測する際に最も重要な属性であることがわかります。重要度がゼロ以下の属性はすべて同じランクであるため、説明値(EXPLANATORY_VALUE)ゼロで表されています。説明値がゼロである属性はノイズです。
図9-3 Spreadsheet Add-In for Predictive AnalyticsのEXPLAIN

特徴抽出は、属性を削減するプロセスです。予測における重要度に従って既存の属性をランク付けする特徴選択とは異なり、特徴抽出では実際に属性を変換します。変換された属性、つまり特徴は、元の属性の一次結合です。
特徴抽出のプロセスによって、より小さく上質な属性のセットが生成されます。特徴の最大数は、特徴抽出モデルのFEAT_NUM_FEATURES構築設定で制御されます。
抽出した特徴で作成されたモデルは、意味のある少数の属性でデータが説明されるため、質が高くなります。
特徴抽出では、高いディメンション性を持つデータセットを、少数のディメンションに投影します。そのため、特徴抽出はデータの視覚化に役立ちます。ディメンションを2つまたは3つに削減すると、複雑なデータセットを効果的に視覚化できるためです。
特徴抽出の用途には、潜在意味解析、データ圧縮、データ分解および投影、パターン認識などがあります。特徴抽出を使用して、監視あり学習の速度と効率を向上させることもできます。
特徴抽出は、一連のキーワードとその頻度によって表されるドキュメントのまとまりからテーマを抽出する場合に使用できます。各テーマ(特徴)は、キーワードの組合せで表されます。これにより、発見されたテーマで各ドキュメントを表現できるようになります。
図9-4に、Oracle Data Miningの特徴抽出モデルの例(nmf_sh_sample)の作成に使用したケース表の列を示します。CUST_ID列にはケースIDが格納されます。アルゴリズムが監視なしであるため、特徴抽出のターゲットに指定されている列はありません。
図9-5に、Oracle Data Minerで表示される特徴に関する情報を示します。この図では、作成データから抽出された特徴5について係数.05〜.09を持つ属性値が表示されています。係数は、属性の一定倍数因子です。係数の絶対値が高いほど、特徴に対する属性の影響が大きくなります。
通常、これらの特徴は別のモデルへの入力として使用されます。例として、「テキスト・マイニング問題の例」を参照してください。
図9-6に、モデルが別の顧客データセットに適用された場合の結果を示します。各ケースが特徴に割り当てられ、そのケースにおけるその特徴の重要度を示す値が表示されます。
|
注意: Oracle Data Minerでは、適用出力表のDMR$CASE_ID列に一般化されたケースIDが表示されます。 |
|
関連項目: Oracle Data Miningのサンプル・モデルについては、『Oracle Data Mining管理者ガイド』を参照してください。 |