全部產品
Search
文件中心

Platform For AI:樸素貝葉斯

更新時間:Jul 13, 2024

樸素貝葉斯是一種基於獨立假設的貝葉斯定理的機率分類演算法。使用Designer(原Studio)的樸素貝葉斯組件,您能有效處理多樣的分類問題。本文為您介紹樸素貝葉斯組件的配置方法。

使用限制

支援的計算引擎為MaxCompute。

組件配置

您可以使用以下任意一種方式,配置樸素貝葉斯組件參數。

方式一:可視化方式

Designer工作流程頁面配置組件參數。

頁簽

參數

描述

欄位設定

特徵列

預設為除標籤列外的所有列,支援DOUBLE、STRING及BIGINT資料類型。

排除列

不參與訓練的列,不能與選擇特徵列同時使用。

強制轉換列

解析規則如下:

  • STRING、BOOLEAN及DATETIME類型的列,解析為離散類型。

  • DOUBLE和BIGINT類型的列,解析為連續類型。

說明

如果需要將BIGINT類型的列解析為CATEGORICAL,則必須使用forceCategorical參數指定類型。

標籤列

輸入表的標籤列,只能選擇非特徵列。支援STRING、DOUBLE及BIGINT類型。

輸入資料是否為稀疏格式

使用KV格式表示稀疏資料。

當輸入為稀疏時,K:V間的分隔字元

預設為半形逗號(,)。

當輸入為稀疏時,key和value的分隔字元

預設為半形冒號(:)。

是否產生PMML

選中該複選框,即可產生PMML模型。如果未設定工作流程資料存放區路徑,您需要單擊點擊前往,設定工作流程資料存放區路徑。

執行調優

計算核心數

預設為系統自動分配。

每個核心記憶體數

預設為系統自動分配。

方式二:PAI命令方式

使用PAI命令方式,配置該組件參數。您可以使用SQL指令碼組件進行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

解析規則如下:

  • STRING、BOOLEAN及DATETIME類型的列,解析為離散類型。

  • DOUBLE和BIGINT類型的列,解析為連續類型。

說明

如果需要將BIGINT類型的列解析為CATEGORICAL,則必須使用forceCategorical參數指定類型。

INT為連續類型

coreNum

計算的核心數。

系統自動分配

memSizePerCore

每個核心的記憶體,取值範圍為1 MB~65536 MB。

系統自動分配

樣本

  1. 準備訓練資料和測試資料。

    1. 使用MaxCompute用戶端建立表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和test_data中。如何匯入資料,請參見匯入資料

      • 訓練資料

        id

        y

        f0

        f1

        f2

        f3

        f4

        f5

        f6

        f7

        1

        -1

        -0.294118

        0.487437

        0.180328

        -0.292929

        -1

        0.00149028

        -0.53117

        -0.0333333

        2

        +1

        -0.882353

        -0.145729

        0.0819672

        -0.414141

        -1

        -0.207153

        -0.766866

        -0.666667

        3

        -1

        -0.0588235

        0.839196

        0.0491803

        -1

        -1

        -0.305514

        -0.492741

        -0.633333

        4

        +1

        -0.882353

        -0.105528

        0.0819672

        -0.535354

        -0.777778

        -0.162444

        -0.923997

        -1

        5

        -1

        -1

        0.376884

        -0.344262

        -0.292929

        -0.602837

        0.28465

        0.887276

        -0.6

        6

        +1

        -0.411765

        0.165829

        0.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

        +1

        0.176471

        0.155779

        -1

        -1

        -1

        0.052161

        -0.952178

        -0.733333

        9

        -1

        -0.764706

        0.979899

        0.147541

        -0.0909091

        0.283688

        -0.0909091

        -0.931682

        0.0666667

        10

        -1

        -0.0588235

        0.256281

        0.57377

        -1

        -1

        -1

        -0.868488

        0.1

      • 測試資料

        id

        y

        f0

        f1

        f2

        f3

        f4

        f5

        f6

        f7

        1

        +1

        -0.882353

        0.0854271

        0.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.882353

        0.246231

        0.213115

        -0.272727

        -1

        -0.171386

        -0.981213

        -0.7

        4

        -1

        -0.176471

        0.507538

        0.278689

        -0.414141

        -0.702128

        0.0491804

        -0.475662

        0.1

        5

        -1

        -0.529412

        0.839196

        -1

        -1

        -1

        -0.153502

        -0.885568

        -0.5

        6

        +1

        -0.882353

        0.246231

        -0.0163934

        -0.353535

        -1

        0.0670641

        -0.627669

        -1

        7

        -1

        -0.882353

        0.819095

        0.278689

        -0.151515

        -0.307329

        0.19225

        0.00768574

        -0.966667

        8

        +1

        -0.882353

        -0.0753769

        0.0163934

        -0.494949

        -0.903073

        -0.418778

        -0.654996

        -0.866667

        9

        +1

        -1

        0.527638

        0.344262

        -0.212121

        -0.356974

        0.23696

        -0.836038

        -0.8

        10

        +1

        -0.882353

        0.115578

        0.0163934

        -0.737374

        -0.56974

        -0.28465

        -0.948762

        -0.933333

  2. 構建如下工作流程,並運行組件,詳情請參見演算法建模image

    1. 在Designer左側組件列表中,分別搜尋讀資料表組件(2個)、樸素貝葉斯組件、預測組件、多分類評估組件,並拖入右側畫布中。

    2. 參照上圖,通過連線的方式,將各個節點群組織構建成為一個有上下遊關係的工作流程。

    3. 配置組件參數。

      • 在畫布中單擊讀資料表-1組件,在右側表選擇頁簽,配置表名為train_data。

      • 在畫布中單擊讀資料表-2組件,在右側表選擇頁簽,配置表名為test_data。

      • 在畫布中單擊樸素貝葉斯-1組件,在右側配置如下表中的參數,其餘參數使用預設值。

        頁簽

        參數

        描述

        欄位設定

        特徵列

        在訓練表中,選擇f0f1f2f3f4f5f6f7列。

        標籤列

        在訓練表中,選擇y列。

      • 在畫布中單擊預測-1組件,在右側欄位設定頁簽,選擇原樣輸出資料行為id和y。其餘參數使用預設值。

      • 在畫布中單擊多分類評估-1組件,在右側欄位設定頁簽,選擇原分類結果列為y。其餘參數使用預設值。

    4. 參數配置完成後,單擊運行按鈕image,運行工作流程。

  3. 工作流程運行成功後,按右鍵預測-1組件,在捷徑功能表,選擇查看資料 > 預測結果輸出,查看預測結果。image

相關文檔

  • 運行樸素貝葉斯組件產生PMML類型的模型後,您可以將模型部署為線上服務。具體操作,請參見單模型部署線上服務

  • 關於Designer組件更詳細的內容介紹,請參見Designer概述

  • Designer預置了多種演算法組件,你可以根據不同的使用情境選擇合適的組件進行資料處理,詳情請參見組件參考:所有組件匯總