SVM_REGRESSOR
针对输入关系训练 SVM 模型。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
SVM_REGRESSOR ( 'model‑name', input‑relation, 'response‑column', 'predictor‑columns'
[ USING PARAMETERS
[exclude_columns = 'excluded‑columns']
[, error_tolerance = error-tolerance]
[, C = cost]
[, epsilon = epsilon‑value]
[, max_iterations = max‑iterations]
[, intercept_mode = 'mode']
[, intercept_scaling = 'scale'] ] )
参数
- model‑name
- 标识要创建的模型,其中 model‑name 符合标识符中描述的约定。 同一架构中的序列、表、投影、视图和模型中也必须是唯一的。
- input‑relation
- 包含训练数据的表或视图。 如果输入关系在 Hive 中定义,请使用
SYNC_WITH_HCATALOG_SCHEMA
以同步hcatalog
架构,然后运行机器学习功能。 - response‑column
- 表示因变量或结果的输入列。该列必须为数字数据类型。
- predictor‑columns
输入关系中表示模型自变量的列的逗号分隔列表,或者使用星号 (*) 以选择所有列。如果选择所有列,则参数
exclude_columns
的实参列表必须包含 response‑column,以及任何无效的列作为预测工具列。所有预测工具列的类型必须为 numeric 或 BOOLEAN;否则模型无效。
注意
所有 BOOLEAN 预测工具值在定型前都转换为 FLOAT 值:0 表示 false,1 表示 true。预测期间不会检查类型,因此可以在定型中使用 BOOLEAN 预测工具列,并在预测期间提供同名的 FLOAT 列。在这种情况下,所有 FLOAT 值必须为 0 或 1。
参数
exclude_columns
- 要从处理中排除来自 predictor‑columns 列的逗号分隔列表。
- error_tolerance
- 定义可接受的误差范围。此区域之外的任何数据点都会为成本函数增加罚分。
默认值: 0.1
C
- 错误分类成本的权重。该算法最大限度降低了正则化成本和误分类成本。
默认值: 1.0
epsilon
- 用于控制精度。
默认值: 1e-3
max_iterations
- 算法执行的最大迭代数。
默认值: 100
intercept_mode
- 指定如何处理截距的字符串,为以下之一
-
regularized
(默认值):适合截距并对其应用正则化。 -
unregularized
:适合截距,但不包括在正则化中。
-
intercept_scaling
- FLOAT 值用作虚拟特征的值,Vertica 使用其系数计算模型截距。因为虚拟特征不在训练数据中,所以它的值被设置为一个常数,默认设置为 1。
模型属性
示例
=> SELECT SVM_REGRESSOR('mySvmRegModel', 'faithful', 'eruptions', 'waiting'
USING PARAMETERS error_tolerance=0.1, max_iterations=100);
SVM_REGRESSOR
----------------------------------------------------------------
Finished in 5 iterations.
Accepted Rows: 272 Rejected Rows: 0
(1 row)