LOGISTIC_REG
对输入关系执行逻辑回归。结果是一个逻辑回归模型。
您可以以 VERTICA_MODELS 或 PMML 格式导出生成的逻辑回归模型,以将其应用于 Vertica 外部的数据。您还可以在其他位置训练逻辑回归模型,然后以 PMML 格式将其导入 Vertica,以对 Vertica 中的数据进行预测。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
LOGISTIC_REG ( 'model‑name', 'input‑relation', 'response‑column', 'predictor‑columns'
[ USING PARAMETERS [exclude_columns = 'excluded‑columns']
[, optimizer = 'optimizer‑method']
[, regularization = 'regularization‑method']
[, epsilon = epsilon‑value]
[, max_iterations = iterations]
[, lambda = lamda‑value]
[, alpha = alpha‑value]
[, fit_intercept = boolean‑value] ] )
实参
- model‑name
- 标识要创建的模型,其中 model‑name 符合标识符中描述的约定。 同一架构中的序列、表、投影、视图和模型中也必须是唯一的。
- input‑relation
- 包含用于构建模型的训练数据的表或视图。 如果输入关系在 Hive 中定义,请使用
SYNC_WITH_HCATALOG_SCHEMA
以同步hcatalog
架构,然后运行机器学习功能。 - response‑column
- 表示因变量或结果的输入列。列值必须为 0 或 1,类型为数字或 BOOLEAN。该函数自动跳过所有其他值。
- predictor‑columns
输入关系中表示模型自变量的列的逗号分隔列表,或者使用星号 (*) 以选择所有列。如果选择所有列,则参数
exclude_columns
的实参列表必须包含 response‑column,以及任何无效的列作为预测工具列。所有预测工具列的类型必须为 numeric 或 BOOLEAN;否则模型无效。
注意
所有 BOOLEAN 预测工具值在定型前都转换为 FLOAT 值:0 表示 false,1 表示 true。预测期间不会检查类型,因此可以在定型中使用 BOOLEAN 预测工具列,并在预测期间提供同名的 FLOAT 列。在这种情况下,所有 FLOAT 值必须为 0 或 1。
参数
exclude_columns
- 要从处理中排除来自 predictor‑columns 列的逗号分隔列表。
optimizer
- 用于训练模型的优化器方法,为以下之一:
默认值: 如果 regularization-method 设置为
L1
或ENet
,则为CGD
,否则将为Newton
。 regularization
- 正则化方法,为以下之一:
-
None
(默认值) -
L1
-
L2
-
ENet
-
epsilon
在范围 (0.0,1.0) 内浮动,停止定型时的错误值。如果实际值和预测值之差小于或等于
epsilon
,或者迭代次数超过max_iterations
,则定型停止。默认值: 1e-6
max_iterations
(0,1000000) 范围内的整数,指最大定型迭代次数。如果迭代次数超过
max_iterations
,或者实际值与预测值之差小于或等于epsilon
,则定型停止。默认值: 100
lambda
- ≥ 0 的整数,指定
regularization
参数的值。默认值: 1
alpha
- ≥ 0 的整数,指定 ENET
regularization
参数的值,该参数用于定义要提供的 L1 与 L2 正则化量。值 1 相当于 L1,值 0 相当于 L2。值范围: [0,1]
默认值: 0.5
fit_intercept
- 布尔值,指定模型是否包含截距。如果设置为 false,在训练模型时将不使用截距。请注意,将
fit_intercept
设置为 false 不适用于 BFGS 优化器。默认值: True
模型属性
特权
超级用户,或对输入关系的 SELECT 权限
示例
=> SELECT LOGISTIC_REG('myLogisticRegModel', 'mtcars', 'am',
'mpg, cyl, disp, hp, drat, wt, qsec, vs, gear, carb'
USING PARAMETERS exclude_columns='hp', optimizer='BFGS', fit_intercept=true);
LOGISTIC_REG
----------------------------
Finished in 20 iterations
(1 row)