当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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"。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。