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


R recipes check_range 檢查範圍一致性


check_range 創建配方檢查的規範,該規範將檢查新數據中數值變量的範圍是否發生更改。

用法

check_range(
  recipe,
  ...,
  role = NA,
  skip = FALSE,
  trained = FALSE,
  slack_prop = 0.05,
  warn = FALSE,
  lower = NULL,
  upper = NULL,
  id = rand_id("range_check_")
)

參數

recipe

一個菜譜對象。該檢查將添加到該配方的操作序列中。

...

一個或多個選擇器函數用於選擇用於此檢查的變量。有關更多詳細信息,請參閱selections()

role

由於沒有創建新變量,因此此檢查未使用。

skip

一個合乎邏輯的。當bake() 烘焙食譜時是否應該跳過檢查?雖然所有操作都是在 prep() 運行時烘焙的,但某些操作可能無法對新數據進行(例如處理結果變量)。使用skip = TRUE時應小心,因為它可能會影響後續操作的計算。

trained

... 中的選擇器是否已由 prep() 解析的邏輯。

slack_prop

允許的鬆弛作為訓練集中變量範圍的比例。

warn

如果TRUE,檢查失敗時將拋出警告而不是錯誤。

lower

訓練集中最小值的命名數值向量。在由 prep() 計算之前,這是 NULL

upper

訓練集中最大值的命名數值向量。在由 prep() 計算之前,這是 NULL

id

此檢查唯一的字符串,用於識別它。

recipe 的更新版本,將新檢查添加到任何現有操作的序列中。

細節

允許的鬆弛量由slack_prop 確定。這是長度為一或二的數字。如果長度為一,則在訓練集範圍的兩端將使用相同的比例。如果長度為二,則其第一個值用於計算下端允許的鬆弛,第二個值用於計算上端允許的鬆弛。

整理

當您tidy()進行此檢查時,將返回一個包含列terms(選擇的選擇器或變量)和value(平均值)的小標題。

也可以看看

其他檢查:check_class()check_cols()check_missing()check_new_values()

例子

slack_df <- data_frame(x = 0:100)
#> Warning: `data_frame()` was deprecated in tibble 1.1.0.
#> ℹ Please use `tibble()` instead.
slack_new_data <- data_frame(x = -10:110)

# this will fail the check both ends
if (FALSE) {
recipe(slack_df) %>%
  check_range(x) %>%
  prep() %>%
  bake(slack_new_data)
}

# this will fail the check only at the upper end
if (FALSE) {
recipe(slack_df) %>%
  check_range(x, slack_prop = c(0.1, 0.05)) %>%
  prep() %>%
  bake(slack_new_data)
}

# give a warning instead of an error
if (FALSE) {
recipe(slack_df) %>%
  check_range(x, warn = TRUE) %>%
  prep() %>%
  bake(slack_new_data)
}
源代碼:R/range_check.R

相關用法


注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Check Range Consistency。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。