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


R recipes step_spatialsign 空间符号预处理


step_spatialsign() 是配方步骤的规范,该步骤将数值数据转换为单位球体上的投影。

用法

step_spatialsign(
  recipe,
  ...,
  role = "predictor",
  na_rm = TRUE,
  trained = FALSE,
  columns = NULL,
  skip = FALSE,
  id = rand_id("spatialsign")
)

参数

recipe

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

...

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

role

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

na_rm

逻辑:是否应该从范数计算中删除缺失数据?

trained

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

columns

所选变量名称的字符串。该字段是一个占位符,一旦使用 prep() 就会被填充。

skip

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

id

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

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

细节

空间符号变换将变量投影到单位球面上,并与全局对比度归一化相关。向量 w 的空间符号是 w/norm(w)

在计算之前应该对变量进行居中和缩放。

整理

当您tidy()此步骤时,将返回带有列terms(将受影响的列)的tibble。

箱重

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

与大多数步骤不同,此步骤要求在处理新样本时(例如,使用 bake() 或使用工作流程的 predict() 时)提供案例权重。要告诉食谱烘焙时需要箱重,请使用 recipe %>% update_role_requirements(role = "case_weights", bake = TRUE) 。有关详细信息,请参阅update_role_requirements()

参考

Serneels, S.、De Nolf, E. 和 Van Espen, P. (2006)。空间符号预处理:一种为多元估计器提供适度鲁棒性的简单方法。化学信息与建模杂志,46(3), 1402-1409。

例子

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
)

ss_trans <- rec %>%
  step_center(carbon, hydrogen) %>%
  step_scale(carbon, hydrogen) %>%
  step_spatialsign(carbon, hydrogen)

ss_obj <- prep(ss_trans, training = biomass_tr)

transformed_te <- bake(ss_obj, biomass_te)

plot(biomass_te$carbon, biomass_te$hydrogen)


plot(transformed_te$carbon, transformed_te$hydrogen)


tidy(ss_trans, number = 3)
#> # A tibble: 2 × 2
#>   terms    id               
#>   <chr>    <chr>            
#> 1 carbon   spatialsign_Geidk
#> 2 hydrogen spatialsign_Geidk
tidy(ss_obj, number = 3)
#> # A tibble: 2 × 2
#>   terms    id               
#>   <chr>    <chr>            
#> 1 carbon   spatialsign_Geidk
#> 2 hydrogen spatialsign_Geidk
源代码:R/spatialsign.R

相关用法


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