update_role_requirements()
允許您微調配方中可能遇到的各種角色的要求(有關角色的一般信息,請參閱update_role()
)。角色要求隻能針對提供給 recipe()
的原始數據中存在的角色進行更改,它們不適用於通過步驟計算的列。
與 update_role()
一樣,update_role_requirements()
會立即應用於配方,這與 step_*()
函數在 prep()
時間完成大部分工作不同。
參數
- recipe
-
一個食譜。
- role
-
表示您要修改其要求的角色的字符串。這必須是配方中已經存在的角色。
- ...
-
這些點用於將來的擴展,並且必須為空。
- bake
-
在
bake()
時,是否應該進行檢查以確保提供給recipe()
的該角色的所有列也存在於提供給bake()
的new_data
中?必須是單個
TRUE
或FALSE
。默認值NULL
不會修改此要求。以下表示特定類型角色的默認烘焙時間要求:
-
"outcome"
:烘烤時不需要。無法改變。 -
"predictor"
:烘烤時需要。無法改變。 -
"case_weights"
:默認情況下烘烤時不需要。 -
NA
:默認在烘焙時需要。 -
自定義角色:默認情況下在烘焙時需要。
-
例子
df <- tibble(y = c(1, 2, 3), x = c(4, 5, 6), var = c("a", "b", "c"))
# Let's assume that you have a `var` column that isn't used in the recipe.
# We typically recommend that you remove this column before passing the
# `data` to `recipe()`, but for now let's pass it through and assign it an
# `"id"` role.
rec <- recipe(y ~ ., df) %>%
update_role(var, new_role = "id") %>%
step_center(x)
prepped <- prep(rec, df)
# Now assume you have some "new data" and you are ready to `bake()` it
# to prepare it for prediction purposes. Here, you might not have `var`
# available as a column because it isn't important to your model.
new_data <- df[c("y", "x")]
# By default `var` is required at `bake()` time because we don't know if
# you actually use it in the recipe or not
try(bake(prepped, new_data))
#> Error in bake(prepped, new_data) :
#> The following required columns are missing from `new_data`: "var".
#> ℹ These columns have one of the following roles, which are required at `bake()` time: "id".
#> ℹ If these roles are not required at `bake()` time, use `update_role_requirements(role = "your_role", bake = FALSE)`.
# You can turn off this check by using `update_role_requirements()` and
# setting `bake = FALSE` for the `"id"` role. We recommend doing this on
# the original unprepped recipe, but it will also work on a prepped recipe.
rec <- update_role_requirements(rec, "id", bake = FALSE)
prepped <- prep(rec, df)
# Now you can `bake()` on `new_data` even though `var` is missing
bake(prepped, new_data)
#> # A tibble: 3 × 2
#> x y
#> <dbl> <dbl>
#> 1 -1 1
#> 2 0 2
#> 3 1 3
相關用法
- R recipes update.step 更新菜譜步驟
- R recipes step_unknown 將缺失的類別分配給“未知”
- R recipes step_relu 應用(平滑)修正線性變換
- R recipes step_poly_bernstein 廣義伯恩斯坦多項式基
- R recipes step_impute_knn 通過 k 最近鄰進行插補
- R recipes step_impute_mean 使用平均值估算數值數據
- R recipes step_inverse 逆變換
- R recipes step_pls 偏最小二乘特征提取
- R recipes step_ratio 比率變量創建
- R recipes step_geodist 兩個地點之間的距離
- R recipes step_nzv 近零方差濾波器
- R recipes step_nnmf 非負矩陣分解信號提取
- R recipes step_normalize 中心和比例數值數據
- R recipes step_depth 數據深度
- R recipes step_other 折疊一些分類級別
- R recipes step_harmonic 添加正弦和餘弦項以進行諧波分析
- R recipes step_corr 高相關濾波器
- R recipes step_novel 新因子水平的簡單賦值
- R recipes step_select 使用 dplyr 選擇變量
- R recipes formula.recipe 從準備好的食譜創建配方
- R recipes step_regex 檢測正則表達式
- R recipes step_spline_b 基礎樣條
- R recipes step_window 移動窗口函數
- R recipes step_ica ICA 信號提取
- R recipes check_range 檢查範圍一致性
注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Update role specific requirements。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。