Microsoft Naive Bayes アルゴリズム テクニカル リファレンス
適用対象:SQL Server 2019 以前の Analysis Services Azure Analysis Services Fabric/Power BI Premium
重要
データ マイニングは SQL Server 2017 Analysis Services で非推奨となり、SQL Server 2022 Analysis Services で停止されました。 非推奨および停止された機能については、ドキュメントの更新は行われません。 詳細については、「Analysis Services 下位互換性」を参照してください。
Microsoft Naive Bayes アルゴリズムは、予測モデリングで使用するために Microsoft SQL Server SQL Server Analysis 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 です。
ModelingFlags
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 はサポートされますが、アルゴリズムはこれらを不連続の値として扱い、特別な処理は行いません。
参照
Microsoft Naive Bayes アルゴリズム
Naive Bayes モデルのクエリ例
Naive Bayes モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)