次の方法で共有


Microsoft Naive Bayes アルゴリズム

Microsoft Naive Bayes アルゴリズムは、Microsoft SQL Server 2005 Analysis Services (SSAS) で予測モデリング用に提供されている分類アルゴリズムです。このアルゴリズムでは、各列に依存関係がないと仮定して、入力列と予測可能列の条件付き確率が計算されます。依存関係がないと仮定することにより、存在する可能性のある依存関係がアルゴリズムで考慮されず、仮定が単純になる場合が多いので、Naive Bayes (単純ベイズ) と名付けられています。

このアルゴリズムは、他の Microsoft アルゴリズムよりも計算量が少ないので、入力列と予測可能列のリレーションシップを見つけるためのマイニング モデルを短時間で生成できます。このアルゴリズムを使用してデータの初期調査を行った後、この結果を適用して、計算量が多く精度が高い他のアルゴリズムを使用して追加のマイニング モデルを作成できます。

Adventure Works Cycle 社のマーケティング部門では、継続的な販売促進戦略として、潜在的な顧客を対象にチラシを発送することにしました。コストを削減するために、反応がありそうな顧客だけにチラシを送ります。同社では、人口統計情報と以前に発送したチラシへの反応に関する情報をデータベースに保存しています。このデータを使用して、潜在的な顧客と、特性が似ている顧客や以前に同社から商品を購入したことがある顧客を比較することにより、年齢や場所などの人口統計から、販売促進への反応をどのように予測できるかを調べます。特に、自転車を購入した顧客と購入していない顧客の違いを調べます。

マーケティング部門は、Microsoft Naive Bayes アルゴリズムを使用して、特定の顧客プロファイルの結果を短時間で予測できます。これにより、チラシに反応する可能性が最も高い顧客を特定できます。Business Intelligence Development Studio の Microsoft Naive Bayes ビューアを使用して、特にどの入力列がチラシへの前向きな反応に影響を与えているかを視覚的に調べることもできます。

アルゴリズムの動作

予測可能列で考えられる状態をそれぞれ指定すると、Microsoft Naive Bayes アルゴリズムによって、各入力列のすべての状態の確率が計算されます。次の図のように、Business Intelligence Development Studio の Microsoft Naive Bayes ビューアを使用して、アルゴリズムによる状態の分布状況を視覚的に確認できます。

Naive Bayes 分布で示された状態

予測可能列の各状態を指定すると、Microsoft Naive Bayes ビューアには、データセットの各入力列が一覧表示され、各列の状態の分布状況が表示されます。このビューを使用して、予測可能列の状態の差異化に重要な役割を果たす入力列を特定できます。たとえば、この図に示されている "Commute Distance" 列で、通勤距離が 1.6 ~ 3.2 km の場合に顧客が自転車を購入する確率は 0.387 ですが、同じ通勤距離の場合に顧客が自転車を購入しない確率は 0.287 です。この例のアルゴリズムでは、通勤距離などの顧客特性から導き出した数値情報を使用して、顧客が自転車を購入するかどうかを予測しています。Microsoft Naive Bayes ビューアの使用方法については、「Microsoft Naive Bayes ビューアを使用したマイニング モデルの表示」を参照してください。

アルゴリズムの使用

Naive Bayes モデルには、キー列、入力列、および 1 つの予測可能列が必要です。すべての列が不連続な列または分離された列でなければなりません。列の分離については、「分離メソッド」を参照してください。

次の表のように、Microsoft Naive Bayes アルゴリズムでは、特定の入力列のコンテンツの種類、予測可能列のコンテンツの種類、およびモデリング フラグがサポートされています。

入力列のコンテンツの種類

Cyclical, Discrete, Discretized, Key, Table, and Ordered

予測可能列のコンテンツの種類

Cyclical、Discrete、Discretized、Table、Ordered

モデリング フラグ

MODEL_EXISTENCE_ONLY と NOT NULL

すべての Microsoft アルゴリズムでは、共通の関数セットがサポートされています。ただし、Microsoft Naive Bayes アルゴリズムでは、次の表のような追加の関数がサポートされています。

IsDescendant

PredictNodeId

PredictAdjustedProbability

PredictProbability

PredictAssociation

PredictSupport

PredictHistogram

すべての Microsoft アルゴリズムに共通の関数の一覧については、「データ マイニング アルゴリズム」を参照してください。これらの関数の使用方法については、「データ マイニング拡張機能 (DMX) 関数リファレンス」を参照してください。

Microsoft Naive Bayes アルゴリズムでは、Predictive Model Markup Language (PMML) を使用したマイニング モデルの作成はサポートされていません。

Microsoft Naive Bayes アルゴリズムでは、結果として得られるマイニング モデルのパフォーマンスおよび精度に影響を与えるいくつかのパラメータがサポートされています。次の表では、各パラメータについて説明します。

パラメータ 説明

MAXIMUM_INPUT_ATTRIBUTES

選択した機能を呼び出す前にアルゴリズムが処理できる入力属性の最大数を指定します。この値を 0 に設定すると、入力属性に対する機能の選択が無効になります。

既定値は 255 です。

MAXIMUM_OUTPUT_ATTRIBUTES

選択した機能を呼び出す前にアルゴリズムが処理できる出力属性の最大数を指定します。この値を 0 に設定すると、出力属性に対する機能の選択が無効になります。

既定値は 255 です。

MINIMUM_DEPENDENCY_PROBABILITY

入力属性と出力属性間の依存関係の最小確率を指定します。この値は、アルゴリズムによって生成されるコンテンツのサイズを制限するために使用されます。このプロパティは 0 ~ 1 に設定できます。値を大きくするほど、モデルのコンテンツ内の属性数が減少します。

既定値は 0.5 です。

MAXIMUM_STATES

アルゴリズムによってサポートされる属性状態の最大数を指定します。属性の状態の数が状態の最大数よりも大きい場合、アルゴリズムでは属性の最も一般的な状態が使用され、残りの状態は存在しないものとして処理されます。

既定値は 100 です。

参照

概念

データ マイニング アルゴリズム
分離メソッド
データ マイニングでの機能の選択
データ マイニング ツールの使用
Microsoft Naive Bayes ビューアを使用したマイニング モデルの表示

その他の技術情報

CREATE MINING MODEL (DMX)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手