當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。