文档

朴素贝叶斯

更新时间:

朴素贝叶斯是一种基于独立假设的贝叶斯定理的概率分类算法。使用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预置了多种算法组件,你可以根据不同的使用场景选择合适的组件进行数据处理,详情请参见组件参考:所有组件汇总

  • 本页导读 (1)