すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:ナイーブベイズ

最終更新日:Apr 01, 2026

ナイーブベイズは、ベイズの定理に基づく確率的分類アルゴリズムです。このアルゴリズムでは、すべての特徴量が互いに統計的に独立であると仮定します。これは単純化された仮定ですが、トレーニングデータが限られている場合でも、高速かつ効果的な学習を実現します。

Machine Learning Designer の「ナイーブベイズ」コンポーネントでは、連続特徴(DOUBLE、BIGINT)および離散特徴(STRING、BOOLEAN、DATETIME)の 2 種類の特徴量を自動的に処理します。「強制変換列」パラメーターを使用すると、データの性質に応じてデフォルトの型推論をオーバーライドできます。たとえば、BIGINT 型の列を連続値ではなくカテゴリ値として扱う場合などに利用します。

「ナイーブベイズ」コンポーネントを利用するには、MaxCompute のコンピューティングリソースが必要です。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • 設定済みのプロジェクトを持つ PAI コンソールへのアクセス権限

  • トレーニング用およびテスト用のテーブルを含む MaxCompute データソース

コンポーネントの設定

方法 1:PAI コンソールから設定

  1. PAI コンソールにログインし、「ビジュアルモデリング(Designer)」に移動します。

  2. パイプラインを開き、「ナイーブベイズ」コンポーネントをキャンバス上にドラッグ&ドロップします。

  3. コンポーネントをクリックし、右側ペインでパラメーターを設定します。

[フィールド設定] タブ

パラメーター説明
特徴列特徴量として使用する列。デフォルト:ラベル列を除くすべての列。サポートされるデータ型:DOUBLE、STRING、BIGINT。
除外列トレーニングから除外する列。このパラメーターは「特徴列」と同時に設定できません。
強制変換列特定の列についてデフォルトの型推論をオーバーライドします。空欄の場合は、以下のルールが適用されます:STRING、BOOLEAN、DATETIME 型の列は離散(カテゴリ)として扱われ、DOUBLE および BIGINT 型の列は連続として扱われます。BIGINT 型の列を連続ではなくカテゴリとして扱う場合は、ここで指定してください。
ラベル列ターゲット列。DOUBLE、STRING、BIGINT 型である必要があります。また、特徴列としても指定することはできません。
スパース形式の入力データを使用入力データがキーと値のペア(key-value pairs)によるスパース形式である場合に有効化します。
スパース入力時の K:V 区切り文字キーと値のペア間のデリミタ。デフォルト:カンマ(,)。
スパース入力時のキーと値の区切り文字キーとその値の間のデリミタ。デフォルト:コロン(:)。
PMML を生成するかどうかPredictive Model Markup Language(PMML)形式のモデルファイルを生成します。パイプラインのストレージパスが未設定の場合、プロンプト表示時に「今すぐ作成」をクリックします。

[チューニング] タブ

パラメーター説明
CPU コア数コンピューティングに使用する CPU コア数。デフォルト:自動設定。
コアのメモリサイズ (MB)CPU コアあたりのメモリ量(MB)。有効範囲:1~65536。デフォルト:自動設定。

方法 2:PAI コマンドを使用

以下のコマンドを「SQL スクリプト」コンポーネント内で実行します。

PAI -name NaiveBayes -project algo_public
    -DinputTablePartitions="pt=20150501"
    -DmodelName="xlab_m_NaiveBayes_23772"
    -DlabelColName="poutcome"
    -DfeatureColNames="age,previous,cons_conf_idx,euribor3m"
    -DinputTableName="bank_data_partition";
パラメーター必須説明デフォルト
inputTableNameはい入力テーブル名。
inputTablePartitionsいいえトレーニングに使用するパーティション。すべてのパーティション
modelNameはい出力モデル名。
labelColNameはいラベル列名。
featureColNamesいいえ特徴列名。ラベル列を除くすべての列
excludedColNamesいいえ除外する列。このパラメーターは「featureColNames」と同時に設定できません。
forceCategoricalいいえデータ型に関係なくカテゴリとして扱う列。未設定の場合、BIGINT 型は連続として扱われます。INT は連続
coreNumいいえCPU コア数。自動設定
memSizePerCoreいいえCPU コアあたりのメモリ量(MB)。有効範囲:1~65536。自動設定

サンプル

この例では、小規模データセットを用いてバイナリ分類器をトレーニングし、「多クラス分類評価」コンポーネントで予測精度を評価します。

ステップ 1:トレーニングおよびテストデータの準備

  1. MaxCompute クライアントを使用して、以下のスキーマを持つ 2 つのテーブル — train_data および test_data — を作成します。

    id bigint, y bigint, f0 double, f1 double, f2 double, f3 double, f4 double, f5 double, f6 double, f7 double

    設定手順については、「MaxCompute クライアント(odpscmd)」および「テーブルの作成」をご参照ください。

  2. 以下のデータを各テーブルにインポートします。インポート手順については、「テーブルへのデータのインポート」をご参照ください。

    トレーニングデータ(train_data)

    idyf0f1f2f3f4f5f6f7
    1-1-0.2941180.4874370.180328-0.292929-10.00149028-0.53117-0.0333333
    2+1-0.882353-0.1457290.0819672-0.414141-1-0.207153-0.766866-0.666667
    3-1-0.05882350.8391960.0491803-1-1-0.305514-0.492741-0.633333
    4+1-0.882353-0.1055280.0819672-0.535354-0.777778-0.162444-0.923997-1
    5-1-10.376884-0.344262-0.292929-0.6028370.284650.887276-0.6
    6+1-0.4117650.1658290.213115-1-1-0.23696-0.894962-0.7
    7-1-0.647059-0.21608-0.180328-0.353535-0.791962-0.0760059-0.854825-0.833333
    8+10.1764710.155779-1-1-10.052161-0.952178-0.733333
    9-1-0.7647060.9798990.147541-0.09090910.283688-0.0909091-0.9316820.0666667
    10-1-0.05882350.2562810.57377-1-1-1-0.8684880.1

    テストデータ(test_data)

    idyf0f1f2f3f4f5f6f7
    1+1-0.8823530.08542710.442623-0.616162-1-0.19225-0.725021-0.9
    2+1-0.294118-0.0351759-1-1-1-0.293592-0.904355-0.766667
    3+1-0.8823530.2462310.213115-0.272727-1-0.171386-0.981213-0.7
    4-1-0.1764710.5075380.278689-0.414141-0.7021280.0491804-0.4756620.1
    5-1-0.5294120.839196-1-1-1-0.153502-0.885568-0.5
    6+1-0.8823530.246231-0.0163934-0.353535-10.0670641-0.627669-1
    7-1-0.8823530.8190950.278689-0.151515-0.3073290.192250.00768574-0.966667
    8+1-0.882353-0.07537690.0163934-0.494949-0.903073-0.418778-0.654996-0.866667
    9+1-10.5276380.344262-0.212121-0.3569740.23696-0.836038-0.8
    10+1-0.8823530.1155780.0163934-0.737374-0.56974-0.28465-0.948762-0.933333

ステップ 2:パイプラインの構築と実行

  1. パイプラインキャンバス上に、以下のコンポーネントを追加します:2 つの「テーブルの読み込み」コンポーネント、1 つの「ナイーブベイズ」コンポーネント、1 つの「予測」コンポーネント、および 1 つの「多クラス分類評価」コンポーネント。

  2. 下図のようにコンポーネントを接続します。パイプラインの作成方法については、「アルゴリズムモデリング」をご参照ください。

    Pipeline diagram

  3. 各コンポーネントを以下のように設定します。

    • テーブルの読み込み-1:「テーブルの選択」タブで、「テーブル名」を train_data に設定します。

    • テーブルの読み込み-2:「テーブルの選択」タブで、「テーブル名」を test_data に設定します。

    • ナイーブベイズ-1:「フィールド設定」タブで、「特徴列」を f0, f1, f2, f3, f4, f5, f6, f7 に、「ラベル列」を y に設定します。その他のパラメーターはすべてデフォルト値のままとします。

    • 予測-1:「フィールド設定」タブで、「予約列」を id, y に設定します。その他のパラメーターはすべてデフォルト値のままとします。

    • 多クラス分類評価-1:「フィールド設定」タブで、「元の分類結果列」を y に設定します。その他のパラメーターはすべてデフォルト値のままとします。

  4. image をクリックしてパイプラインを実行します。

ステップ 3:予測結果の確認

パイプラインの実行が完了したら、「予測-1」を右クリックし、「データの表示」→「予測結果の出力」を選択します。

Prediction results

次のステップ