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


R probably append_class_pred 添加 class_pred 列


此函数类似于 make_class_pred() ,但当您有大量类概率列并想要使用 tidyselect 帮助程序时非常有用。它将新的 class_pred 向量作为列附加到原始数据帧上。

用法

append_class_pred(
  .data,
  ...,
  levels,
  ordered = FALSE,
  min_prob = 1/length(levels),
  name = ".class_pred"
)

参数

.data

DataFrame 或小标题。

...

一个或多个未加引号的表达式,以逗号分隔,以捕获包含类概率的 .data 列。您可以将变量名称视为位置,因此可以使用 x:y 等表达式来选择变量范围或使用选择器函数来选择哪些列。对于 make_class_pred ,应选择所有类概率的列(与 levels 对象的顺序相同)。对于 two_class_pred ,应选择类概率向量。

levels

类级别的特征向量。长度应与通过 ... 进行的选择数量相同,或者 make_two_class_pred() 的长度为 2

ordered

用于确定级别是否应被视为有序的单个逻辑(按给定的顺序)。这会产生一个标记为有序的 class_pred 对象。

min_prob

单个数值。如果任何概率小于该值(按行),则该行被标记为不明确。

name

附加 class_pred 列名称的单个字符值。

.data 并附加了额外的 class_pred 列。

例子


# The following two examples are equivalent and demonstrate
# the helper, append_class_pred()

library(dplyr)
#> 
#> Attaching package: ‘dplyr’
#> The following objects are masked from ‘package:stats’:
#> 
#>     filter, lag
#> The following objects are masked from ‘package:base’:
#> 
#>     intersect, setdiff, setequal, union

species_probs %>%
  mutate(
    .class_pred = make_class_pred(
      .pred_bobcat, .pred_coyote, .pred_gray_fox,
      levels = levels(Species),
      min_prob = .5
    )
  )
#> # A tibble: 110 × 5
#>    Species  .pred_bobcat .pred_coyote .pred_gray_fox .class_pred
#>    <fct>           <dbl>        <dbl>          <dbl>  <clss_prd>
#>  1 gray_fox       0.0976       0.0530         0.849     gray_fox
#>  2 gray_fox       0.155        0.139          0.706     gray_fox
#>  3 bobcat         0.501        0.0880         0.411       bobcat
#>  4 gray_fox       0.256        0              0.744     gray_fox
#>  5 gray_fox       0.463        0.287          0.250         [EQ]
#>  6 bobcat         0.811        0              0.189       bobcat
#>  7 bobcat         0.911        0.0888         0           bobcat
#>  8 bobcat         0.898        0.0517         0.0500      bobcat
#>  9 bobcat         0.771        0.229          0           bobcat
#> 10 bobcat         0.623        0.325          0.0517      bobcat
#> # ℹ 100 more rows

lvls <- levels(species_probs$Species)

append_class_pred(
  .data = species_probs,
  contains(".pred_"),
  levels = lvls,
  min_prob = .5
)
#> # A tibble: 110 × 5
#>    Species  .pred_bobcat .pred_coyote .pred_gray_fox .class_pred
#>    <fct>           <dbl>        <dbl>          <dbl>  <clss_prd>
#>  1 gray_fox       0.0976       0.0530         0.849     gray_fox
#>  2 gray_fox       0.155        0.139          0.706     gray_fox
#>  3 bobcat         0.501        0.0880         0.411       bobcat
#>  4 gray_fox       0.256        0              0.744     gray_fox
#>  5 gray_fox       0.463        0.287          0.250         [EQ]
#>  6 bobcat         0.811        0              0.189       bobcat
#>  7 bobcat         0.911        0.0888         0           bobcat
#>  8 bobcat         0.898        0.0517         0.0500      bobcat
#>  9 bobcat         0.771        0.229          0           bobcat
#> 10 bobcat         0.623        0.325          0.0517      bobcat
#> # ℹ 100 more rows

相关用法


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