Microsoft Naive Bayes アルゴリズムは、ベイズの定理に基づく分類アルゴリズムであり、予測モデリングで使用するために Microsoft SQL Server Analysis Services によって提供されます。 Naïve Bayes という名前の naïve という単語は、アルゴリズムがベイズの手法を使用するが、存在する可能性のある依存関係を考慮に入れないという事実から派生しています。
このアルゴリズムは、他の Microsoft アルゴリズムよりも計算量が少ないため、入力列と予測可能な列の間のリレーションシップを検出するマイニング モデルをすばやく生成する場合に便利です。 このアルゴリズムを使用してデータの初期探索を実行し、後で結果を適用して、より計算量が多く正確な他のアルゴリズムを使用して追加のマイニング モデルを作成できます。
例
継続的なプロモーション戦略として、Adventure Works Cycle 社のマーケティング部門は、チラシを郵送して潜在顧客をターゲットにすることを決定しました。 コストを削減するために、対応する可能性が高い顧客にのみチラシを送信したいと考えています。 この会社は、人口統計と以前の郵送に対する応答に関する情報をデータベースに格納します。 このデータを使用して、年齢や場所などの人口統計が、潜在顧客と類似した特性を持ち、過去に会社から購入した顧客と比較することで、プロモーションへの対応を予測するのにどのように役立つかを確認したいと考えています。 具体的には、自転車を購入した顧客と購入していない顧客の違いを確認したいと考えています。
Microsoft Naive Bayes アルゴリズムを使用すると、マーケティング部門は特定の顧客プロファイルの結果をすばやく予測できるため、どの顧客がチラシに応答する可能性が最も高いかを判断できます。 SQL Server Data Tools (SSDT) で Microsoft Naive Bayes Viewer を使用することで、どの入力列がチラシに対する肯定的な応答に寄与するかを視覚的に調査することもできます。
アルゴリズムのしくみ
Microsoft Naive Bayes アルゴリズムは、予測可能な列の可能な状態ごとに、各入力列のすべての状態の確率を計算します。
このしくみを理解するには、SQL Server Data Tools (SSDT) の Microsoft Naive Bayes Viewer (次の図に示すように) を使用して、アルゴリズムが状態を分散する方法を視覚的に調べます。
ここでは、Microsoft Naive Bayes Viewer では、データセット内の各入力列が一覧表示され、予測可能な列の各状態に応じて、各列の状態がどのように分散されるかが示されます。
モデルのこのビューを使用して、予測可能列の状態を区別するために重要な入力列を識別します。
たとえば、ここで示す[通勤距離]の行では、入力値の分布は購入者と非購入者で明らかに異なります。 これは、入力である通勤距離 = 0 から 1 マイルが潜在的な予測器であることを示しています。
ビューアーにはディストリビューションの値も用意されているため、1 マイルから 2 マイルで通勤する顧客の場合、自転車を購入する確率は 0.387、自転車を購入しない確率は 0.287 であることがわかります。 この例では、顧客の特性 (通勤距離など) から派生した数値情報を使用して、顧客が自転車を購入するかどうかを予測します。
Microsoft Naive Bayes Viewer の使用方法の詳細については、「Microsoft Naive Bayes Viewer を使用したモデルの参照」を参照してください。
Naive Bayes モデルに必要なデータ
Naive Bayes モデルのトレーニングに使用するデータを準備するときは、必要なデータの量やデータの使用方法など、アルゴリズムの要件を理解する必要があります。
Naive Bayes モデルの要件は次のとおりです。
1 つのキー列 各モデルには、各レコードを一意に識別する数値列またはテキスト列が 1 つ含まれている必要があります。 複合キーは使用できません。
入力列 Naive Bayes モデルでは、すべての列が不連続列または分離列である必要があります。 列の分離の詳細については、「 分離メソッド (データ マイニング)」を参照してください。
Naive Bayes モデルの場合は、入力属性が互いに独立していることを確認することも重要です。 これは、予測にモデルを使用する場合に特に重要です。
その理由は、既に密接に関連している 2 つのデータ列を使用する場合、それらの列の影響を掛け合わせることで、結果に影響を与える他の要因が隠れる可能性があるためです。
逆に、アルゴリズムが変数間の相関関係を識別する機能は、モデルまたはデータセットを探索するときに、入力間のリレーションシップを識別する場合に役立ちます。
少なくとも 1 つの予測可能な列 予測可能な属性には、不連続または分離された値が含まれている必要があります。
予測可能列の値は、入力として扱うことができます。 この方法は、新しいデータセットを探索するときに、列間のリレーションシップを見つけるのに役立ちます。
モデルの表示
モデルを調べるには、 Microsoft Naive Bayes Viewer を使用できます。 ビューアーには、入力属性と予測可能な属性の関係が表示されます。 ビューアーには、各クラスターの詳細なプロファイル、各クラスターと他のクラスターを区別する属性の一覧、トレーニング データ セット全体の特性も表示されます。 詳細については、「 Microsoft Naive Bayes Viewer を使用したモデルの参照」を参照してください。
詳細を知りたい場合は、 Microsoft 汎用コンテンツ ツリー ビューアー (データ マイニング) でモデルを参照できます。 モデルに格納されている情報の種類の詳細については、「 単純ベイズ モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)」を参照してください。
予測の作成
モデルのトレーニングが完了すると、結果は一連のパターンとして格納され、これを探索したり、予測に使用したりできます。
新しいデータと予測可能な属性との関係に関する予測を返すクエリを作成したり、モデルによって検出された相関関係を説明する統計を取得したりできます。
データ マイニング モデルに対してクエリを作成する方法については、「 データ マイニング クエリ」を参照してください。 Naive Bayes モデルでクエリを使用する方法の例については、「 Naive Bayes Model クエリの例」を参照してください。
注釈
予測モデル マークアップ言語 (PMML) を使用してマイニング モデルを作成することをサポートします。
ドリルスルーをサポートします。
データ マイニング ディメンションの作成はサポートされていません。
OLAP マイニング モデルの使用をサポートします。
こちらもご覧ください
データ マイニング アルゴリズム (Analysis Services - データ マイニング)特徴選択 (データ マイニング)Naive Bayes モデル クエリの例単純ベイズ モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)Microsoft Naive Bayes Algorithm Technical Reference