當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。