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


R recipes step_percentile 百分位变换


step_percentile() 创建配方步骤的规范,用训练集中的百分位数替换变量的值。

用法

step_percentile(
  recipe,
  ...,
  role = NA,
  trained = FALSE,
  ref_dist = NULL,
  options = list(probs = (0:100)/100),
  outside = "none",
  skip = FALSE,
  id = rand_id("percentile")
)

参数

recipe

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

...

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

role

对于此步骤创建的模型项,应为其分配什么分析角色?默认情况下,此步骤根据原始变量创建的新列将用作模型中的预测变量。

trained

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

ref_dist

一旦 prep() 训练了该预处理步骤,计算出的百分位数就会存储在此处。

options

要传递给 stats::quantile() 的命名选项列表。请参阅详细信息了解更多信息。

outside

一个字符,说明如何在区间 [min(x), max(x)] 之外进行插值。 none 意味着什么都不会发生,超出范围的值将为 NAlower 意味着小于 min(x) 的新值将被赋予值 0upper 意味着大于 max(x) 的新值将被赋予值 1both 将处理这两种情况。默认为 none

skip

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

id

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

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

箱重

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

也可以看看

例子

data(biomass, package = "modeldata")

biomass_tr <- biomass[biomass$dataset == "Training", ]
biomass_te <- biomass[biomass$dataset == "Testing", ]

rec <- recipe(
  HHV ~ carbon + hydrogen + oxygen + nitrogen + sulfur,
  data = biomass_tr
) %>%
  step_percentile(carbon)

prepped_rec <- prep(rec)

prepped_rec %>%
  bake(biomass_te)
#> # A tibble: 80 × 6
#>    carbon hydrogen oxygen nitrogen sulfur   HHV
#>     <dbl>    <dbl>  <dbl>    <dbl>  <dbl> <dbl>
#>  1 0.421      5.67   47.2     0.3    0.22  18.3
#>  2 0.18       5.5    48.1     2.85   0.34  17.6
#>  3 0.156      5.5    49.1     2.4    0.3   17.2
#>  4 0.423      6.1    37.3     1.8    0.5   18.9
#>  5 0.666      6.32   42.8     0.2    0     20.5
#>  6 0.218      5.5    41.7     0.7    0.2   18.5
#>  7 0.0803     5.23   54.1     1.19   0.51  15.1
#>  8 0.139      4.66   33.8     0.95   0.2   16.2
#>  9 0.0226     4.4    31.1     0.14   4.9   11.1
#> 10 0.0178     3.77   23.7     4.63   1.05  10.8
#> # ℹ 70 more rows

tidy(rec, 1)
#> # A tibble: 1 × 4
#>   terms  value percentile id              
#>   <chr>  <dbl>      <dbl> <chr>           
#> 1 carbon    NA         NA percentile_dwNDP
tidy(prepped_rec, 1)
#> # A tibble: 101 × 4
#>    term   value percentile id              
#>    <chr>  <dbl>      <dbl> <chr>           
#>  1 carbon  14.6          0 percentile_dwNDP
#>  2 carbon  25.9          1 percentile_dwNDP
#>  3 carbon  28.4          2 percentile_dwNDP
#>  4 carbon  31.6          3 percentile_dwNDP
#>  5 carbon  35.1          4 percentile_dwNDP
#>  6 carbon  35.9          5 percentile_dwNDP
#>  7 carbon  37.5          6 percentile_dwNDP
#>  8 carbon  38.3          7 percentile_dwNDP
#>  9 carbon  38.9          8 percentile_dwNDP
#> 10 carbon  39.6          9 percentile_dwNDP
#> # ℹ 91 more rows
源代码:R/percentile.R

相关用法


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