Microsoft Naive Bayes アルゴリズム テクニカル リファレンス

Microsoft Naive Bayes アルゴリズムは、MicrosoftSQL ServerAnalysis Services で予測モデリング用に提供されている分類アルゴリズムです。このアルゴリズムでは、各列に依存関係がないと仮定して、入力列と予測可能列の条件付き確率が計算されます。この非依存性の仮定が、Naive Bayes という名前の由来です。

Microsoft Naive Bayes アルゴリズムの実装

このアルゴリズムは、他の Microsoft アルゴリズムよりも計算量が少ないので、入力列と予測可能列のリレーションシップを見つけるためのマイニング モデルを短時間で生成できます。このアルゴリズムは、入力属性値と出力属性値の各ペアを考慮します。

Bayes の定理については、このドキュメントでは説明しません。詳細については、Microsoft Research の「ベイジアン ネットワークの学習: 知識と統計データの組み合わせ」を参照してください。

すべてのモデルにおいて可能性のある不足値を考慮するように確率を調整する方法については、「不足値 (Analysis Services - データ マイニング)」を参照してください。

機能の選択

Microsoft Naive Bayes アルゴリズムでは、モデルを構築するときに考慮される値の数を制限するための自動的な機能選択が行われます。詳細については、「データ マイニングでの機能の選択」を参照してください。

アルゴリズム

分析の方法

備考

Naive Bayes

Shannon のエントロピー

K2 事前分布を指定したベイズ定理

均一な事前分布を指定したベイズ ディリクレ等式 (既定値)

Naive Bayes で使用できる属性は、不連続属性と分離された属性だけです。したがって、興味深さのスコアは使用できません。

このアルゴリズムは、処理時間が最短になり、最も重要な属性を効率よく選択できるように設計されています。ただし、次のようにパラメータを設定することで、アルゴリズムが使用するデータを制御できます。

  • 入力として使用される値を制限するには、MAXIMUM_INPUT_ATTRIBUTES の値を小さくします。

  • モデルで分析される属性の数を制限するには、MAXIMUM_OUTPUT_ATTRIBUTES の値を小さくします。

  • 任意の 1 つの属性について考慮できる値の数を制限するには、MINIMUM_STATES の値を小さくします。

Naive Bayes アルゴリズムのカスタマイズ

Microsoft Naive Bayes アルゴリズムでは、結果として得られるマイニング モデルの動作、パフォーマンス、および精度に影響を与えるいくつかのパラメータがサポートされています。モデル列にモデリング フラグを設定してデータの処理方法を制御することも、マイニング構造にフラグを設定して不足値または NULL 値の処理方法を指定することもできます。

アルゴリズム パラメータの設定

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

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

    既定値は 255 です。

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

    既定値は 255 です。

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

    既定値は 0.5 です。

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

    既定値は 100 です。

モデリング フラグ

Microsoft デシジョン ツリー アルゴリズムでは、次のモデリング フラグがサポートされています。モデリング フラグは、マイニング構造やマイニング モデルを作成するときに定義し、分析時に各列の値をどのように処理するかを指定します。詳細については、「モデリング フラグ (データ マイニング)」を参照してください。

モデリング フラグ

説明

MODEL_EXISTENCE_ONLY

列が、Missing および Existing の 2 つの可能な状態を持つ列として扱われることを示します。NULL は Missing 値になります。

マイニング モデル列に適用されます。

NOT NULL

列に NULL を含めることはできないことを示します。モデルのトレーニング中に NULL が検出された場合はエラーが発生します。

マイニング構造列に適用されます。

必要条件

Naive Bayes ツリー モデルには、キー列、少なくとも 1 つの予測可能属性、および少なくとも 1 つの入力属性が必要です。属性を連続にすることはできません。データに連続する数値データが含まれる場合は、無視または分離されます。

入力列と予測可能列

Microsoft Naive Bayes アルゴリズムでは、次の表に示す特定の入力列と予測可能列がサポートされています。マイニング モデルにおけるコンテンツの種類の意味については、「コンテンツの種類 (データ マイニング)」を参照してください。

コンテンツの種類

入力属性

Cyclical、Discrete、Discretized、Key、Table、Ordered

予測可能な属性

Cyclical、Discrete、Discretized、Table、Ordered

注意注意

コンテンツの種類 Cyclical および Ordered はサポートされますが、アルゴリズムはこれらを不連続の値として扱い、特別な処理は行いません。