可以為任意數量的參數對象創建隨機和規則網格。
用法
grid_regular(x, ..., levels = 3, original = TRUE, filter = NULL)
# S3 method for parameters
grid_regular(x, ..., levels = 3, original = TRUE, filter = NULL)
# S3 method for list
grid_regular(x, ..., levels = 3, original = TRUE, filter = NULL)
# S3 method for param
grid_regular(x, ..., levels = 3, original = TRUE, filter = NULL)
# S3 method for workflow
grid_regular(x, ..., levels = 3, original = TRUE, filter = NULL)
grid_random(x, ..., size = 5, original = TRUE, filter = NULL)
# S3 method for parameters
grid_random(x, ..., size = 5, original = TRUE, filter = NULL)
# S3 method for list
grid_random(x, ..., size = 5, original = TRUE, filter = NULL)
# S3 method for param
grid_random(x, ..., size = 5, original = TRUE, filter = NULL)
# S3 method for workflow
grid_random(x, ..., size = 5, original = TRUE, filter = NULL)
參數
- x
-
param
對象、列表或parameters
。 - ...
-
一個或多個
param
對象(例如mtry()
或penalty()
)。所有對象都不能在參數範圍或值中具有unknown()
值。 - levels
-
用於製作規則網格的每個參數值的數量的整數。
levels
可以是單個整數或整數向量,其長度與...
中的參數數量相同。levels
可以是命名整數向量,其名稱與參數的 id 值匹配。 - original
-
邏輯:參數應該采用原始單位還是變換後的空間(如果有)?
- filter
-
邏輯:是否應該在生成網格之前過濾參數。必須是引用參數名稱且計算結果為邏輯向量的單個表達式。
- size
-
為隨機網格返回的參數值組合總數的單個整數。如果從此大小生成重複組合,則返回較小的唯一集合。
細節
請注意,根據函數的調用方式,網格可能會有所不同。如果調用直接使用參數對象,則可能的範圍來自 dials
中的對象。例如:
mixture()
## Proportion of Lasso Penalty (quantitative)
## Range: [0, 1]
set.seed(283)
mix_grid_1 <- grid_random(mixture(), size = 1000)
range(mix_grid_1$mixture)
## [1] 0.001490161 0.999741096
但是,在某些情況下,parsnip
和 recipe
包會覆蓋特定模型和預處理步驟的默認範圍。如果網格函數使用從模型或配方創建的 parameters
對象,則範圍可能具有不同的默認值(特定於這些模型)。使用上麵的示例,上麵的 mixture
參數對於 glmnet
模型是不同的:
library(parsnip)
library(tune)
# When used with glmnet, the range is [0.05, 1.00]
glmn_mod <-
linear_reg(mixture = tune()) %>%
set_engine("glmnet")
set.seed(283)
mix_grid_2 <- grid_random(extract_parameter_set_dials(glmn_mod), size = 1000)
range(mix_grid_2$mixture)
## [1] 0.05141565 0.99975404
例子
# filter arg will allow you to filter subsequent grid data frame based on some condition.
p <- parameters(penalty(), mixture())
grid_regular(p)
#> # A tibble: 9 × 2
#> penalty mixture
#> <dbl> <dbl>
#> 1 0.0000000001 0
#> 2 0.00001 0
#> 3 1 0
#> 4 0.0000000001 0.5
#> 5 0.00001 0.5
#> 6 1 0.5
#> 7 0.0000000001 1
#> 8 0.00001 1
#> 9 1 1
grid_regular(p, filter = penalty <= .01)
#> # A tibble: 6 × 2
#> penalty mixture
#> <dbl> <dbl>
#> 1 0.0000000001 0
#> 2 0.00001 0
#> 3 0.0000000001 0.5
#> 4 0.00001 0.5
#> 5 0.0000000001 1
#> 6 0.00001 1
# Will fail due to unknowns:
# grid_regular(mtry(), min_n())
grid_regular(penalty(), mixture())
#> # A tibble: 9 × 2
#> penalty mixture
#> <dbl> <dbl>
#> 1 0.0000000001 0
#> 2 0.00001 0
#> 3 1 0
#> 4 0.0000000001 0.5
#> 5 0.00001 0.5
#> 6 1 0.5
#> 7 0.0000000001 1
#> 8 0.00001 1
#> 9 1 1
grid_regular(penalty(), mixture(), levels = 3:4)
#> # A tibble: 12 × 2
#> penalty mixture
#> <dbl> <dbl>
#> 1 0.0000000001 0
#> 2 0.00001 0
#> 3 1 0
#> 4 0.0000000001 0.333
#> 5 0.00001 0.333
#> 6 1 0.333
#> 7 0.0000000001 0.667
#> 8 0.00001 0.667
#> 9 1 0.667
#> 10 0.0000000001 1
#> 11 0.00001 1
#> 12 1 1
grid_regular(penalty(), mixture(), levels = c(mixture = 4, penalty = 3))
#> # A tibble: 12 × 2
#> penalty mixture
#> <dbl> <dbl>
#> 1 0.0000000001 0
#> 2 0.00001 0
#> 3 1 0
#> 4 0.0000000001 0.333
#> 5 0.00001 0.333
#> 6 1 0.333
#> 7 0.0000000001 0.667
#> 8 0.00001 0.667
#> 9 1 0.667
#> 10 0.0000000001 1
#> 11 0.00001 1
#> 12 1 1
grid_random(penalty(), mixture())
#> # A tibble: 5 × 2
#> penalty mixture
#> <dbl> <dbl>
#> 1 0.00000000433 0.312
#> 2 0.0000000435 0.174
#> 3 0.00359 0.423
#> 4 0.00000299 0.192
#> 5 0.00000146 0.633
相關用法
- R dials grid_max_entropy 空間填充參數網格
- 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 不平衡問題的類別權重參數
- R dials mtry_prop 隨機選擇的預測變量的比例
注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Create grids of tuning parameters。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。