参数值的设置器和验证器。此外,还提供了用于创建参数值序列和转换参数值的工具。
用法
value_validate(object, values, ..., call = caller_env())
value_seq(object, n, original = TRUE)
value_sample(object, n, original = TRUE)
value_transform(object, values)
value_inverse(object, values)
value_set(object, values)
参数
- object
-
具有类
quant_param
的对象。 - values
-
数字向量或列表(包括
Inf
)。值不能包含unknown()
。对于value_validate()
,单位应与参数对象的定义一致。 - ...
-
这些点用于将来的扩展,并且必须为空。
- call
-
调用传递到
rlang::abort()
。 - n
-
要返回的(最大)值数的整数。在某些请求序列的情况下,结果可能小于
n
值。查看具体信息。 - original
-
单一逻辑。范围值应该采用自然单位(
TRUE
)还是变换空间(FALSE
,如果适用)?
值
如果 value_validate()
包含在 object
的值中,则会引发错误或静默返回 values
。
value_transform()
和 value_inverse()
返回数值向量。
value_seq()
和 value_sample()
返回与 object
的 type
字段一致的值向量。
细节
对于整数序列,代码使用 unique(floor(seq(min, max, length.out = n)))
,这可能会生成一组短于 n
的不均匀值。这也意味着如果n
大于整数范围,将生成更小的集合。对于定性参数,返回第一个 n
值。
对于定量参数,对象中包含的任何 values
都会进行替换采样。否则,返回 range
值之间的一系列值。返回的值可能少于n
。
对于定性参数,values
的采样是通过替换进行的。对于定性值,使用随机均匀分布。
例子
library(dplyr)
penalty() %>% value_set(-4:-1)
#> Amount of Regularization (quantitative)
#> Transformer: log-10 [1e-100, Inf]
#> Range (transformed scale): [-10, 0]
#> Values: 4
# Is a specific value valid?
penalty()
#> Amount of Regularization (quantitative)
#> Transformer: log-10 [1e-100, Inf]
#> Range (transformed scale): [-10, 0]
penalty() %>% range_get()
#> $lower
#> [1] 1e-10
#>
#> $upper
#> [1] 1
#>
value_validate(penalty(), 17)
#> [1] FALSE
# get a sequence of values
cost_complexity()
#> Cost-Complexity Parameter (quantitative)
#> Transformer: log-10 [1e-100, Inf]
#> Range (transformed scale): [-10, -1]
cost_complexity() %>% value_seq(4)
#> [1] 1e-10 1e-07 1e-04 1e-01
cost_complexity() %>% value_seq(4, original = FALSE)
#> [1] -10 -7 -4 -1
on_log_scale <- cost_complexity() %>% value_seq(4, original = FALSE)
nat_units <- value_inverse(cost_complexity(), on_log_scale)
nat_units
#> [1] 1e-10 1e-07 1e-04 1e-01
value_transform(cost_complexity(), nat_units)
#> [1] -10 -7 -4 -1
# random values in the range
set.seed(3666)
cost_complexity() %>% value_sample(2)
#> [1] 5.533485e-04 1.480162e-05
相关用法
- R dials validation_set_prop 用于验证的数据比例
- R dials vocabulary_size 词汇中的标记数量
- R dials smoothness 内核平滑度
- R dials all_neighbors 确定使用哪些邻居的参数
- R dials update.parameters 更新参数集中的单个参数
- R dials rbf_sigma 内核参数
- R dials trim_amount 修剪量
- R dials neighbors 邻居数量
- R dials num_comp 新函数数量
- R dials min_dist 嵌入点之间的有效最小距离参数
- R dials freq_cut 接近零方差参数
- R dials trees 与基于树和基于规则的模型相关的参数函数。
- R dials learn_rate 学习率
- R dials range_validate 用于处理参数范围的工具
- R dials xgboost_parameters xgboost 可能的引擎参数的参数
- R dials unknown 未知参数值的占位符
- R dials prune_method MARS修剪方法
- R dials max_tokens 保留令牌的最大数量
- R dials surv_dist 删失数据的参数分布
- R dials num_tokens 用于确定 ngram 中标记数量的参数
- R dials over_ratio 类别不平衡抽样的参数
- R dials mtry 随机抽样预测变量的数量
- R dials new-param 用于创建新参数对象的工具
- R dials momentum 梯度下降动量参数
- R dials class_weights 不平衡问题的类别权重参数
注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Tools for working with parameter values。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。