NAIVE_BAYES

对输入关系执行朴素贝叶斯算法,并返回朴素贝叶斯模型。

根据数据类型处理列:

  • FLOAT:假定值遵循某种高斯分布。

  • INTEGER:假定值属于一个多项分布。

  • CHAR/VARCHAR:假定值遵循某种分类分布。这些列中存储的字符串值不得超过 128 个字符。

  • BOOLEAN:值被视为具有两个值的分类值。

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

NAIVE_BAYES ( 'model‑name', 'input‑relation', 'response‑column', 'predictor‑columns'
        [ USING PARAMETERS [exclude_columns = 'excluded‑columns'] [, alpha = alpha-value] ] )

参数

model‑name
标识要创建的模型,其中 model‑name 符合标识符中描述的约定。 同一架构中的序列、表、投影、视图和模型中也必须是唯一的。
input‑relation
包含用于构建模型的训练数据的表或视图。 如果输入关系在 Hive 中定义,请使用 SYNC_WITH_HCATALOG_SCHEMA 以同步 hcatalog 架构,然后运行机器学习功能。
response‑column
表示因变量或结果的输入列的名称。此列必须包含代表不同类标签的离散标签。

响应列的类型必须为数字、CHAR/VARCHAR 或 BOOLEAN;否则模型无效。

predictor‑columns

输入关系中表示模型自变量的列的逗号分隔列表,或者使用星号 (*) 以选择所有列。如果选择所有列,则参数 exclude_columns 的实参列表必须包含 response‑column,以及任何无效的列作为预测工具列。

所有预测变量列的类型必须为数字、CHAR/VARCHAR 或 BOOLEAN;否则模型无效。BOOLEAN 列值在训练前转换为 FLOAT 值:0 表示 false,1 表示 true。

参数

exclude_columns
要从处理中排除来自 predictor‑columns 列的逗号分隔列表。
alpha
浮点数,如果事件模型为分类式、多项式或伯努利式,则指定使用拉普拉斯平滑。

默认值: 1.0

模型属性

colsInfo
训练中使用的响应和预测变量列的信息:
  • index:训练中提供的列的索引(从 0 开始)。索引 0 用于响应列。

  • name:列的名称。

  • type:用于响应的标签,其值为 Gaussian、Multinominal、Categorical 或 Bernoulli。

alpha
平滑参数值。
prior
每个类在所有训练样本中的百分比:
  • label:类标签。

  • value:每个类的百分比。

nRowsTotal
数据集中接受用于训练的样本数。
nRowsRejected
拒绝用于训练的样本数。
callStr
用于复制训练的 SQL 语句。
Gaussian
高斯模型取决于由 class_name 指示的类:
  • index:预测变量列的索引。

  • mu:模型的平均值。

  • sigmaSq:模型的标准差平方。

Multinominal
多项式模型取决于由 class_name 指示的类:
  • index:预测变量列的索引。

  • prob:概率取决于由 class_name 指示的类。

Bernoulli
伯努利模型取决于由 class_name 指示的类:
  • index:预测变量列的索引。

  • probTrue:此预测变量列中值为 TRUE 的概率。

Categorical
高斯模型取决于由 class_name 指示的类:
  • category:预测变量名称中的值。

  • <class_name>:具有该值的概率取决于由 class_name 指示的类。

特权

超级用户或输入关系的 SELECT 权限。

示例

=> SELECT NAIVE_BAYES('naive_house84_model', 'house84_train', 'party', '*'
                      USING PARAMETERS exclude_columns='party, id');
                                  NAIVE_BAYES
--------------------------------------------------
 Finished. Accepted Rows: 324  Rejected Rows: 0
(1 row)

另请参阅