RF_REGRESSOR
训练随机森林模型,以对输入关系执行回归。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
RF_REGRESSOR ( 'model‑name', input‑relation, 'response‑column', 'predictor‑columns'
[ USING PARAMETERS
[exclude_columns = 'excluded‑columns']
[, ntree = num‑trees]
[, mtry = num‑features]
[, sampling_size = sampling‑size]
[, max_depth = depth]
[, max_breadth = breadth]
[, min_leaf_size = leaf-size]
[, min_info_gain = threshold]
[, nbins = num‑bins] ] )
参数
- model‑name
- 作为训练结果存储的模型,其中 model‑name 符合标识符中描述的约定。 同一架构中的序列、表、投影、视图和模型中也必须是唯一的。
- input‑relation
- 包含训练样本的表或视图。 如果输入关系在 Hive 中定义,请使用
SYNC_WITH_HCATALOG_SCHEMA
以同步hcatalog
架构,然后运行机器学习功能。 - response‑column
- 表示因变量的数字输入列。
- predictor‑columns
输入关系中表示模型自变量的列的逗号分隔列表,或者使用星号 (*) 以选择所有列。如果选择所有列,则参数
exclude_columns
的实参列表必须包含 response‑column,以及任何无效的列作为预测工具列。所有预测变量列的类型必须为数字、CHAR/VARCHAR 或 BOOLEAN;否则模型无效。
Vertica XGBoost 和随机森林算法为分类列 (BOOL/VARCHAR) 提供原生支持。仅需将分类列作为预测工具传递给模型,算法就会自动将这些列视为分类列,且不会尝试以与数值列相同的方式将它们拆分为多个二进制文件;Vertica 将这些列视为真正的分类值,而不是简单地将它们转换为底层的连续值。
参数
exclude_columns
- 要从处理中排除来自 predictor‑columns 列的逗号分隔列表。
ntree
[1,1000] 范围内的整数,指森林中的树木数量。
默认值: 20
mtry
- [1, number‑predictors] 范围内的整数,在拆分树节点时要考虑的特征数。
默认值: 预测变量总数的三分之一
sampling_size
在 (0.0,1.0] 范围内浮动,指为定型每棵树而随机挑选的输入数据部分。
默认值: 0.632
max_depth
[1,100] 范围内的整数,指每个树的最大深度。例如,
max_depth
为 0 时,表示树只有一个根节点;max_depth
为 2 时,表示树有四个叶节点。默认值: 5
max_breadth
[1,1e9] 范围内的整数,指树可以拥有的最大叶节点数。
默认值: 32
min_leaf_size
- [1, 1e6] 范围内的整数,拆分节点后每个分支必须具有的最小样本数。在其左分支或右分支中导致较少剩余样本的拆分将被丢弃,并且该节点被视为叶节点。
此参数的默认值与 sklearn 等库中的类似参数不同,因此会产生一个预测值与原始响应值不同的模型。
默认值: 5
min_info_gain
在 [0.0,1.0) 范围内浮动,指用于包括拆分的最小阈值。信息增益小于此阈值的拆分将被丢弃。
默认值: 0.0
nbins
[2,1000] 范围内的整数,指用于离散连续特征的二进制文件数量。
默认值: 32
模型属性
示例
=> SELECT RF_REGRESSOR ('myRFRegressorModel', 'mtcars', 'carb', 'mpg, cyl, hp, drat, wt' USING PARAMETERS
ntree=100, sampling_size=0.3);
RF_REGRESSOR
--------------
Finished
(1 row)