当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R dials value_validate 用于处理参数值的工具


参数值的设置器和验证器。此外,还提供了用于创建参数值序列和转换参数值的工具。

用法

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() 返回与 objecttype 字段一致的值向量。

细节

对于整数序列,代码使用 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/aaa_values.R

相关用法


注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Tools for working with parameter values。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。