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


R recipes step_filter_missing 缺失值列过滤器


step_filter_missing() 创建配方步骤的规范,该规范可能会删除具有太多缺失值的变量。

用法

step_filter_missing(
  recipe,
  ...,
  role = NA,
  trained = FALSE,
  threshold = 0.1,
  removals = NULL,
  skip = FALSE,
  id = rand_id("filter_missing")
)

参数

recipe

一个菜谱对象。该步骤将添加到此配方的操作序列中。

...

一个或多个选择器函数用于为此步骤选择变量。有关更多详细信息,请参阅selections()

role

由于没有创建新变量,因此此步骤未使用。

trained

指示预处理数量是否已估计的逻辑。

threshold

列中缺失值的阈值。该步骤将删除缺失值比例超过阈值的列。

removals

包含应删除的列名称的字符串。这些值直到调用 prep() 后才确定。

skip

一个合乎逻辑的。当bake() 烘焙食谱时是否应该跳过此步骤?虽然所有操作都是在 prep() 运行时烘焙的,但某些操作可能无法对新数据进行(例如处理结果变量)。使用skip = TRUE时应小心,因为它可能会影响后续操作的计算。

id

该步骤特有的字符串,用于标识它。

recipe 的更新版本,将新步骤添加到任何现有操作的序列中。

细节

此步骤可能会从数据集中删除列。如果通过名称专门引用缺失的列,这可能会导致配方中的后续步骤出现问题。为了避免这种情况,请参阅 selections 的“保存配方和过滤列的提示”部分中的建议。

如果缺失值的比例超过 threshold ,此步骤将删除变量。

对于 threshold = 0 ,所有缺失值的变量都将被删除。

整理

当您tidy()此步骤时,将返回带有列terms(将被删除的列)的tibble。

调整参数

此步骤有 1 个调整参数:

  • threshold:阈值(类型:double,默认值:0.1)

箱重

此步骤执行可以利用案例权重的无监督操作。因此,个案权重仅与频率权重一起使用。有关更多信息,请参阅 case_weights 中的文档和 tidymodels.org 中的示例。

也可以看看

其他变量过滤步骤:step_corr()step_lincomb()step_nzv()step_rm()step_select()step_zv()

例子

data(credit_data, package = "modeldata")

rec <- recipe(Status ~ ., data = credit_data) %>%
  step_filter_missing(all_predictors(), threshold = 0)

filter_obj <- prep(rec)

filtered_te <- bake(filter_obj, new_data = NULL)

tidy(rec, number = 1)
#> # A tibble: 1 × 2
#>   terms            id                  
#>   <chr>            <chr>               
#> 1 all_predictors() filter_missing_IYaDd
tidy(filter_obj, number = 1)
#> # A tibble: 6 × 2
#>   terms   id                  
#>   <chr>   <chr>               
#> 1 Home    filter_missing_IYaDd
#> 2 Marital filter_missing_IYaDd
#> 3 Job     filter_missing_IYaDd
#> 4 Income  filter_missing_IYaDd
#> 5 Assets  filter_missing_IYaDd
#> 6 Debt    filter_missing_IYaDd
源代码:R/filter_missing.R

相关用法


注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Missing Value Column Filter。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。