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


R recipes step_unknown 將缺失的類別分配給“未知”


step_unknown() 創建配方步驟的規範,該步驟將因子級別中的缺失值分配給 "unknown"

用法

step_unknown(
  recipe,
  ...,
  role = NA,
  trained = FALSE,
  new_level = "unknown",
  objects = NULL,
  skip = FALSE,
  id = rand_id("unknown")
)

參數

recipe

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

...

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

role

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

trained

指示預處理數量是否已估計的邏輯。

new_level

將分配給新因子級別的單個字符值。

objects

包含由 prep() 確定的因子級別信息的對象列表。

skip

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

id

該步驟特有的字符串,用於標識它。

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

細節

所選變量被調整為具有放置在最後位置的新級別(由 new_level 給出)。

請注意,如果原始列是字符,則通過此步驟它們將轉換為因子。

如果 new_level 已存在於提供給 prep 的數據中,則會引發錯誤。

整理

當您 tidy() 此步驟時,將返回包含列 terms(將受影響的列)和 value(用於新值的因子級別)的 tibble。

箱重

底層操作不允許使用案例權重。

例子

data(Sacramento, package = "modeldata")

rec <-
  recipe(~ city + zip, data = Sacramento) %>%
  step_unknown(city, new_level = "unknown city") %>%
  step_unknown(zip, new_level = "unknown zip") %>%
  prep()

table(bake(rec, new_data = NULL) %>% pull(city),
  Sacramento %>% pull(city),
  useNA = "always"
) %>%
  as.data.frame() %>%
  dplyr::filter(Freq > 0)
#>               Var1            Var2 Freq
#> 1         ANTELOPE        ANTELOPE   33
#> 2           AUBURN          AUBURN    5
#> 3     CAMERON_PARK    CAMERON_PARK    9
#> 4       CARMICHAEL      CARMICHAEL   20
#> 5   CITRUS_HEIGHTS  CITRUS_HEIGHTS   35
#> 6             COOL            COOL    1
#> 7  DIAMOND_SPRINGS DIAMOND_SPRINGS    1
#> 8        EL_DORADO       EL_DORADO    2
#> 9  EL_DORADO_HILLS EL_DORADO_HILLS   23
#> 10       ELK_GROVE       ELK_GROVE  114
#> 11         ELVERTA         ELVERTA    4
#> 12       FAIR_OAKS       FAIR_OAKS    9
#> 13          FOLSOM          FOLSOM   17
#> 14      FORESTHILL      FORESTHILL    1
#> 15            GALT            GALT   21
#> 16   GARDEN_VALLEY   GARDEN_VALLEY    1
#> 17      GOLD_RIVER      GOLD_RIVER    4
#> 18     GRANITE_BAY     GRANITE_BAY    3
#> 19       GREENWOOD       GREENWOOD    1
#> 20         LINCOLN         LINCOLN   22
#> 21          LOOMIS          LOOMIS    2
#> 22          MATHER          MATHER    1
#> 23    MEADOW_VISTA    MEADOW_VISTA    1
#> 24 NORTH_HIGHLANDS NORTH_HIGHLANDS   21
#> 25      ORANGEVALE      ORANGEVALE   11
#> 26          PENRYN          PENRYN    1
#> 27     PLACERVILLE     PLACERVILLE   10
#> 28   POLLOCK_PINES   POLLOCK_PINES    3
#> 29  RANCHO_CORDOVA  RANCHO_CORDOVA   28
#> 30  RANCHO_MURIETA  RANCHO_MURIETA    3
#> 31       RIO_LINDA       RIO_LINDA   13
#> 32         ROCKLIN         ROCKLIN   17
#> 33       ROSEVILLE       ROSEVILLE   48
#> 34      SACRAMENTO      SACRAMENTO  438
#> 35    WALNUT_GROVE    WALNUT_GROVE    1
#> 36 WEST_SACRAMENTO WEST_SACRAMENTO    3
#> 37          WILTON          WILTON    5

tidy(rec, number = 1)
#> # A tibble: 1 × 3
#>   terms value        id           
#>   <chr> <chr>        <chr>        
#> 1 city  unknown city unknown_NRDyG
源代碼:R/unknown.R

相關用法


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