ヘッダーをスキップ
Oracle Data Mining概要
11g リリース1(11.1)
E05704-02
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

5 分類

この章では、質的ターゲットを予測するための監視ありマイニング機能である分類について説明します。

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

分類とは

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

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

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

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

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

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

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

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

分類問題の例

ここでは、提携カードを発行した場合に消費を増やす可能性がある顧客を予測する例を考えてみます。モデルは、過去に提携カードを使用したことがある顧客に関する人口統計データを使用して作成できます。肯定的な反応か否定的な反応か(消費を増やすか増やさないか)を予測する必要があるので、2項分類モデルを作成することにします。

この例では、分類モデルdt_sh_clas_sampleを使用します。この分類モデルはOracle Data Miningサンプル・プログラムの1つで作成されるものです(『Oracle Data Mining管理者ガイド』を参照)。図5-1は、モデルの作成に使用したケース表から抜粋した6つの列と10の行です。ターゲットの値1は提携カードを使用して消費を増やした顧客に割り当てられ、値0は消費を増やさなかった顧客に割り当てられています。

図5-1 分類用の作成データの例

図5-1の説明は図の前後の段落を参照してください。

テストを行った後(「分類モデルのテスト」を参照)、マイニング対象のデータセットにモデルを適用できます。

図5-2は、Oracle Data Miningのサンプル・プログラムに用意されている顧客データセットにモデルを適用したときに生成された予測の一部です。各顧客についての予測(1は「消費を増やす」、0は「消費を増やさない」)および予測の確率とともに、一部の予測子が表示されています。

図5-2 Oracle Data Minerでの分類の結果

図5-2の説明は図の下のリンクをクリックしてください。
「図5-2 Oracle Data Minerでの分類の結果」の説明


注意:

Oracle Data Minerでは、適用出力表のDMR$CASE_ID列に一般化されたケースIDが表示されます。出力に含めるように選択した各予測子の列名には「1」が追加されます。予測値(図5-2では提携カードを使用するかどうか)は、PREDICTION列に表示されます。それぞれの予測の確率は、PROBABILITY列に表示されます。ディシジョン・ツリーの場合は、NODE列にノードが表示されます。

この分類モデルはディシジョン・ツリー・アルゴリズムを使用しているため、予測とその確率とともにルールが生成されます。Oracle Data Minerのルール・ビューアで、ツリー内の特定のノードに対する予測を生成したルールを確認できます。図5-3ではノード5に対するルールが表示されています。このルールでは、大学の学位(準学士号、学士号、修士号、博士号または専門職学位)を持つ既婚者に該当する顧客は提携カードがあれば消費を増やす可能性が高いことが記述されています。

図5-3 分類用のディシジョン・ツリー・ルール

図5-3の説明は図の下のリンクをクリックしてください。
「図5-3 分類用のディシジョン・ツリー・ルール」の説明


関連項目:

ディシジョン・ツリーについては、第11章を参照してください。

Oracle Data Miningのサンプル・プログラムの詳細は、『Oracle Data Mining管理者ガイド』を参照してください。


分類モデルのテスト

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

テスト・データは、モデルの作成に使用されたデータと互換性がなければなりません。また、作成データと同じ方法で準備する必要があります。通常、作成データとテスト・データは同じ履歴データセットから用意します。レコードの何割かがモデルの作成に使用され、残りのレコードがモデルのテストに使用されます。

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

精度

精度とは、モデルによる予測が、テスト・データでの実際の分類と比較してどの程度正確かをパーセンテージで表したものです。図5-4には、Oracle Data Minerでの2項分類モデルの精度が示されています。

図5-4 2項分類モデルの精度

図5-4の説明は図の下のリンクをクリックしてください。
「図5-4 2項分類モデルの精度」の説明

混同マトリックス

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

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

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

図5-5の説明は図の下のリンクをクリックしてください。
「図5-5 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です。

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

図5-6のリフト・グラフの例の場合、上位30%の反応者の累積リフトは2.22であり、潜在的反応者全体の67%超が上位3分位に含まれることが示されています。

図5-6 リフト・グラフの例

図5-6の説明は図の下のリンクをクリックしてください。
「図5-6 リフト・グラフの例」の説明

リフト統計量

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

図5-7 受信者操作特性曲線

図5-7の説明は図の下のリンクをクリックしてください。
「図5-7 受信者操作特性曲線」の説明

ROC曲線下面積

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

図5-7のグラフ例では、データセット全体についてはモデルAの方が明らかにAUCが大きいことが示されています。ただし、不適切なポジティブ率の許容値を40%とすると、その率における誤差の真のポジティブ率はモデルBの方が優れているので、モデルBの方が適していることになります。

ROCとモデルのバイアス

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

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

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


関連項目:

「コスト」

ROC統計量

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

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

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

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

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

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

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

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

分類モデルのバイアス

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

コスト

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

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

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

コストと精度

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

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

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

ポジティブ・クラスは最も重要性が高いクラスです。リフトおよびROCを計算するときはポジティブ・クラスの指定が必要となります(「リフト」および「受信者操作特性(ROC)」を参照)。

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

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

図5-8の説明は図の前後の段落を参照してください。

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

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

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

コストと利益の割当て

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

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

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

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

図5-9 コスト・マトリックス

図5-9の説明は図の前後の段落を参照してください。

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

事前確率

ベイズ・モデルでは、作成データと実際の母集団(スコアリング・データ)との間の分布の差を埋めるために、事前確率を指定できます。


注意:

事前確率は、モデルのCLAS_PRIORS_TABLE_NAME設定で指定する事前確率表の中で指定します。

SVM分類では、事前確率をクラスの重みとして使用することにより、モデル作成時に各クラスの相対的な重要度に影響を与えます。「SVM分類」を参照してください。

ロジスティック回帰では、重み付け表(CLAS_WEIGHTS_TABLE_NAME設定で指定)を使用することにより、モデル作成時に各クラスの相対的な重要度に影響を与えます。「ロジスティック回帰」を参照してください。


多くの問題では、1つのターゲット値が頻繁に出現します。たとえば、多くの場合、電話によるマーケティング・キャンペーンに対する好意的(ポジティブ)な反応は2%以下で、クレジット・カード決済での不正行為の発生率は1%未満となります。このタイプの履歴データを基に作成された分類モデルの場合、2つのクラスの特性を区別するのに十分な数の希少クラスを見つけられないことがあります。その結果、新しいデータに適用すると、すべてのケースに対し頻出クラスを予測するというモデルになる可能性があります。このようなモデルは非常に正確になり得る一方で、ほとんど役に立たない可能性もあります。これは、精度のみを分類モデルの質の判断材料とするのは好ましくないことを示しています。

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

Oracle Data Minerでは、Naive Bayesアルゴリズムを使用する分類アクティビティを手動で実行するときに事前確率のオプションを利用できます(図5-10)。

図5-10 Oracle Data Minerでの事前確率の設定

図5-10の説明は図の下のリンクをクリックしてください。
「図5-10 Oracle Data Minerでの事前確率の設定」の説明

図5-11は、Oracle Data Minerの「事前確率設定」ダイアログ・ボックスです。ターゲット値0の事前確率は60%、ターゲット値1の事前確率は40%に設定されています。これは、実際の母集団における0と1の比率が約1.5対1であることを意味します。

図5-11 Oracle Data Minerでの事前確率設定

図5-11の説明は図の下のリンクをクリックしてください。
「図5-11 Oracle Data Minerでの事前確率設定」の説明

分類のアルゴリズム

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

どの分類アルゴリズムが所定の問題に対して最適な解決策を提供するかは、データの性質によって決まります。アルゴリズムによって、精度、完了までにかかる時間および透明性に関して差がある場合があります。実際には、アルゴリズムごとにいくつかのモデルを作成し、各アルゴリズムに最適なモデルを選択してから、配置に最適なモデルを選択するのが合理的なこともあります。