這些函數可用於將類概率估計轉換為具有可選歧義區域的 class_pred
對象。
用法
make_class_pred(..., levels, ordered = FALSE, min_prob = 1/length(levels))
make_two_class_pred(
estimate,
levels,
threshold = 0.5,
ordered = FALSE,
buffer = NULL
)
參數
- ...
-
對應於類別概率的數值向量。每個級別都應該有一個
levels
, 和假設向量的順序與levels
相同. - levels
-
類級別的特征向量。長度應與通過
...
進行的選擇數量相同,或者make_two_class_pred()
的長度為2
。 - ordered
-
用於確定級別是否應被視為有序的單個邏輯(按給定的順序)。這會產生一個標記為有序的
class_pred
對象。 - min_prob
-
單個數值。如果任何概率小於該值(按行),則該行被標記為不明確。
- estimate
-
對應於
levels
中第一級別的類概率的單個數值向量。 - threshold
-
用於調用要標記為
levels
第一個值的行的閾值的單個數值。 - buffer
-
threshold
周圍緩衝區的長度為 1 或 2 的數值向量,定義了歧義區域(即threshold - buffer[1]
到threshold + buffer[2]
)。長度為 1 的向量被回收為長度 2。默認值NULL
被解釋為無歧義區域。
值
類 class_pred
的向量。
例子
library(dplyr)
good <- segment_logistic$.pred_good
lvls <- levels(segment_logistic$Class)
# Equivocal zone of .5 +/- .15
make_two_class_pred(good, lvls, buffer = 0.15)
#> [1] poor poor good good poor [EQ] poor good poor poor good poor poor
#> [14] good poor good poor poor [EQ] poor poor good poor good poor poor
#> [27] good [EQ] good good poor poor [EQ] good good poor poor poor poor
#> [40] poor [EQ] [EQ] poor poor poor poor poor good good poor [EQ] poor
#> [53] poor [EQ] poor [EQ] poor poor [EQ] poor poor good good poor poor
#> [66] [EQ] good poor [EQ] poor good poor [EQ] poor good poor good [EQ]
#> [79] poor [EQ] good poor poor poor good good poor good poor poor poor
#> [92] poor [EQ] good poor [EQ] good [EQ] [EQ] poor good [EQ] poor poor
#> [105] good good good [EQ] good poor poor poor good poor [EQ] poor [EQ]
#> [118] poor good good poor good poor [EQ] poor poor good good poor poor
#> [131] [EQ] [EQ] poor good good poor [EQ] poor [EQ] [EQ] poor [EQ] [EQ]
#> [144] poor [EQ] poor good [EQ] poor poor poor good good poor poor [EQ]
#> [157] good poor poor [EQ] good poor good good poor poor poor [EQ] [EQ]
#> [170] poor good good poor poor [EQ] good poor poor poor poor [EQ] good
#> [183] poor poor poor [EQ] poor good good poor good [EQ] poor good poor
#> [196] poor good poor poor poor good good [EQ] poor poor poor poor poor
#> [209] [EQ] poor good good poor [EQ] poor poor poor good poor good [EQ]
#> [222] poor good good good poor [EQ] poor poor good poor poor poor good
#> [235] good good poor poor poor [EQ] [EQ] poor poor poor [EQ] poor [EQ]
#> [248] good poor poor poor good poor poor good [EQ] good good poor [EQ]
#> [261] poor good good [EQ] [EQ] good poor poor poor poor [EQ] poor poor
#> [274] poor poor [EQ] good poor [EQ] [EQ] poor poor poor good [EQ] poor
#> [287] [EQ] good poor [EQ] poor good [EQ] good poor poor poor good poor
#> [300] good [EQ] poor poor poor good poor poor poor [EQ] good poor poor
#> [313] good poor good poor [EQ] poor poor [EQ] [EQ] poor poor poor poor
#> [326] good [EQ] poor poor [EQ] poor poor poor poor poor [EQ] good [EQ]
#> [339] poor good poor good [EQ] good poor [EQ] poor poor poor poor poor
#> [352] good good [EQ] [EQ] poor good poor good poor poor poor poor good
#> [365] poor poor poor poor poor poor poor [EQ] poor poor poor poor poor
#> [378] poor poor good poor poor poor poor poor poor [EQ] good poor poor
#> [391] poor [EQ] [EQ] good poor poor poor poor poor poor good [EQ] [EQ]
#> [404] poor poor poor poor poor poor poor good good poor poor poor poor
#> [417] poor [EQ] poor poor poor good [EQ] good good poor poor poor good
#> [430] good good good poor good poor poor poor poor poor poor good [EQ]
#> [443] [EQ] poor good good [EQ] [EQ] poor poor good poor poor good poor
#> [456] good poor poor poor good poor poor poor poor good poor poor good
#> [469] poor good good good poor good poor good good good poor poor good
#> [482] poor poor poor poor poor poor good [EQ] poor [EQ] poor poor poor
#> [495] good poor [EQ] poor [EQ] poor poor poor poor poor poor good good
#> [508] poor [EQ] [EQ] [EQ] poor poor poor poor good [EQ] good poor poor
#> [521] good good poor [EQ] poor poor [EQ] poor good poor poor good poor
#> [534] poor poor poor poor good [EQ] poor good good poor poor good poor
#> [547] good good poor poor good poor good poor [EQ] poor poor poor poor
#> [560] [EQ] good poor good good poor poor poor good good poor poor good
#> [573] [EQ] [EQ] poor [EQ] poor poor poor [EQ] poor good poor good good
#> [586] poor poor poor poor good [EQ] good poor good [EQ] [EQ] poor poor
#> [599] [EQ] [EQ] poor good good good [EQ] good poor poor poor [EQ] poor
#> [612] good poor good [EQ] poor poor poor good good poor good poor poor
#> [625] poor poor poor good poor [EQ] good [EQ] good poor good poor good
#> [638] poor poor [EQ] [EQ] poor poor poor poor poor good good poor poor
#> [651] poor poor poor poor good good poor good poor good poor good poor
#> [664] poor poor [EQ] poor poor good poor poor good good good poor poor
#> [677] poor [EQ] poor good good [EQ] good poor good poor poor poor [EQ]
#> [690] poor poor [EQ] [EQ] good [EQ] poor good poor poor good good poor
#> [703] [EQ] poor good poor poor [EQ] [EQ] [EQ] poor good poor good good
#> [716] good good poor poor poor good poor good poor poor [EQ] poor poor
#> [729] poor poor poor poor [EQ] good good good poor [EQ] poor poor poor
#> [742] good poor good good [EQ] poor good poor [EQ] poor poor poor [EQ]
#> [755] good good poor poor poor good poor good poor good [EQ] poor good
#> [768] [EQ] poor [EQ] good poor good [EQ] poor good poor poor good poor
#> [781] poor good good good poor poor poor poor poor good poor [EQ] poor
#> [794] poor poor good [EQ] poor good [EQ] [EQ] good poor good poor poor
#> [807] poor poor poor poor poor [EQ] poor good poor poor poor poor good
#> [820] poor good good poor poor poor poor poor good [EQ] poor good poor
#> [833] poor poor poor poor poor poor [EQ] poor poor poor poor poor good
#> [846] good good poor poor poor poor poor poor poor poor good [EQ] [EQ]
#> [859] [EQ] poor good [EQ] poor poor poor [EQ] good poor good good poor
#> [872] good poor poor good [EQ] [EQ] [EQ] poor poor poor poor [EQ] good
#> [885] poor good poor good poor poor poor poor good poor poor poor poor
#> [898] poor poor poor poor [EQ] poor poor [EQ] good [EQ] good poor poor
#> [911] poor good [EQ] poor good poor poor poor poor good poor poor good
#> [924] good poor poor good poor [EQ] poor good poor good good good poor
#> [937] poor good good poor poor [EQ] [EQ] poor good poor poor good [EQ]
#> [950] [EQ] poor [EQ] poor good [EQ] [EQ] poor good poor poor poor good
#> [963] poor poor poor poor good poor poor [EQ] poor poor poor good good
#> [976] poor [EQ] poor poor poor good poor poor good poor [EQ] good good
#> [989] good good poor [EQ] poor good poor poor poor poor good good good
#> [1002] good good poor good [EQ] good poor poor good
#> Levels: good poor
#> Reportable: 83.2%
# Equivocal zone of c(.5 - .05, .5 + .15)
make_two_class_pred(good, lvls, buffer = c(0.05, 0.15))
#> [1] poor poor good good poor poor poor good poor poor good poor poor
#> [14] good poor good poor poor [EQ] poor poor good poor good poor poor
#> [27] good poor good good poor poor [EQ] good good poor poor poor poor
#> [40] poor [EQ] poor poor poor poor poor poor good good poor [EQ] poor
#> [53] poor poor poor poor poor poor [EQ] poor poor good good poor poor
#> [66] poor good poor [EQ] poor good poor [EQ] poor good poor good poor
#> [79] poor [EQ] good poor poor poor good good poor good poor poor poor
#> [92] poor [EQ] good poor [EQ] good [EQ] poor poor good [EQ] poor poor
#> [105] good good good poor good poor poor poor good poor poor poor [EQ]
#> [118] poor good good poor good poor [EQ] poor poor good good poor poor
#> [131] [EQ] poor poor good good poor [EQ] poor [EQ] [EQ] poor poor [EQ]
#> [144] poor [EQ] poor good poor poor poor poor good good poor poor poor
#> [157] good poor poor [EQ] good poor good good poor poor poor [EQ] poor
#> [170] poor good good poor poor [EQ] good poor poor poor poor [EQ] good
#> [183] poor poor poor [EQ] poor good good poor good poor poor good poor
#> [196] poor good poor poor poor good good poor poor poor poor poor poor
#> [209] poor poor good good poor [EQ] poor poor poor good poor good [EQ]
#> [222] poor good good good poor [EQ] poor poor good poor poor poor good
#> [235] good good poor poor poor [EQ] poor poor poor poor [EQ] poor poor
#> [248] good poor poor poor good poor poor good [EQ] good good poor [EQ]
#> [261] poor good good [EQ] poor good poor poor poor poor [EQ] poor poor
#> [274] poor poor [EQ] good poor poor [EQ] poor poor poor good [EQ] poor
#> [287] [EQ] good poor poor poor good [EQ] good poor poor poor good poor
#> [300] good [EQ] poor poor poor good poor poor poor [EQ] good poor poor
#> [313] good poor good poor poor poor poor [EQ] [EQ] poor poor poor poor
#> [326] good poor poor poor [EQ] poor poor poor poor poor [EQ] good [EQ]
#> [339] poor good poor good poor good poor [EQ] poor poor poor poor poor
#> [352] good good poor [EQ] poor good poor good poor poor poor poor good
#> [365] poor poor poor poor poor poor poor poor poor poor poor poor poor
#> [378] poor poor good poor poor poor poor poor poor [EQ] good poor poor
#> [391] poor [EQ] [EQ] good poor poor poor poor poor poor good [EQ] [EQ]
#> [404] poor poor poor poor poor poor poor good good poor poor poor poor
#> [417] poor [EQ] poor poor poor good [EQ] good good poor poor poor good
#> [430] good good good poor good poor poor poor poor poor poor good [EQ]
#> [443] poor poor good good [EQ] [EQ] poor poor good poor poor good poor
#> [456] good poor poor poor good poor poor poor poor good poor poor good
#> [469] poor good good good poor good poor good good good poor poor good
#> [482] poor poor poor poor poor poor good poor poor [EQ] poor poor poor
#> [495] good poor poor poor [EQ] poor poor poor poor poor poor good good
#> [508] poor [EQ] [EQ] [EQ] poor poor poor poor good poor good poor poor
#> [521] good good poor poor poor poor [EQ] poor good poor poor good poor
#> [534] poor poor poor poor good poor poor good good poor poor good poor
#> [547] good good poor poor good poor good poor poor poor poor poor poor
#> [560] poor good poor good good poor poor poor good good poor poor good
#> [573] [EQ] poor poor poor poor poor poor poor poor good poor good good
#> [586] poor poor poor poor good [EQ] good poor good poor [EQ] poor poor
#> [599] poor [EQ] poor good good good [EQ] good poor poor poor poor poor
#> [612] good poor good poor poor poor poor good good poor good poor poor
#> [625] poor poor poor good poor poor good poor good poor good poor good
#> [638] poor poor [EQ] [EQ] poor poor poor poor poor good good poor poor
#> [651] poor poor poor poor good good poor good poor good poor good poor
#> [664] poor poor [EQ] poor poor good poor poor good good good poor poor
#> [677] poor [EQ] poor good good [EQ] good poor good poor poor poor poor
#> [690] poor poor poor [EQ] good [EQ] poor good poor poor good good poor
#> [703] poor poor good poor poor [EQ] [EQ] poor poor good poor good good
#> [716] good good poor poor poor good poor good poor poor [EQ] poor poor
#> [729] poor poor poor poor [EQ] good good good poor poor poor poor poor
#> [742] good poor good good poor poor good poor [EQ] poor poor poor [EQ]
#> [755] good good poor poor poor good poor good poor good [EQ] poor good
#> [768] [EQ] poor [EQ] good poor good [EQ] poor good poor poor good poor
#> [781] poor good good good poor poor poor poor poor good poor [EQ] poor
#> [794] poor poor good [EQ] poor good poor poor good poor good poor poor
#> [807] poor poor poor poor poor poor poor good poor poor poor poor good
#> [820] poor good good poor poor poor poor poor good [EQ] poor good poor
#> [833] poor poor poor poor poor poor poor poor poor poor poor poor good
#> [846] good good poor poor poor poor poor poor poor poor good [EQ] poor
#> [859] [EQ] poor good poor poor poor poor [EQ] good poor good good poor
#> [872] good poor poor good [EQ] poor [EQ] poor poor poor poor [EQ] good
#> [885] poor good poor good poor poor poor poor good poor poor poor poor
#> [898] poor poor poor poor poor poor poor poor good poor good poor poor
#> [911] poor good [EQ] poor good poor poor poor poor good poor poor good
#> [924] good poor poor good poor [EQ] poor good poor good good good poor
#> [937] poor good good poor poor poor poor poor good poor poor good [EQ]
#> [950] poor poor [EQ] poor good [EQ] poor poor good poor poor poor good
#> [963] poor poor poor poor good poor poor [EQ] poor poor poor good good
#> [976] poor poor poor poor poor good poor poor good poor poor good good
#> [989] good good poor [EQ] poor good poor poor poor poor good good good
#> [1002] good good poor good [EQ] good poor poor good
#> Levels: good poor
#> Reportable: 89.8%
# These functions are useful alongside dplyr::mutate()
segment_logistic %>%
mutate(
.class_pred = make_two_class_pred(
estimate = .pred_good,
levels = levels(Class),
buffer = 0.15
)
)
#> # A tibble: 1,010 × 4
#> .pred_poor .pred_good Class .class_pred
#> <dbl> <dbl> <fct> <clss_prd>
#> 1 0.986 0.0142 poor poor
#> 2 0.897 0.103 poor poor
#> 3 0.118 0.882 good good
#> 4 0.102 0.898 good good
#> 5 0.991 0.00914 poor poor
#> 6 0.633 0.367 good [EQ]
#> 7 0.770 0.230 good poor
#> 8 0.00842 0.992 good good
#> 9 0.995 0.00458 poor poor
#> 10 0.765 0.235 poor poor
#> # ℹ 1,000 more rows
# Multi-class example
# Note that we provide class probability columns in the same
# order as the levels
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
相關用法
- R probably append_class_pred 添加 class_pred 列
- R probably cal_plot_logistic 通過邏輯回歸繪製概率校準圖
- R probably class_pred 創建類別預測對象
- R probably cal_plot_breaks 通過分箱繪製概率校準圖
- R probably cal_estimate_multinomial 使用多項校準模型來計算新的概率
- R probably cal_validate_logistic 使用和不使用邏輯校準來測量性能
- R probably cal_validate_isotonic_boot 使用和不使用袋裝等滲回歸校準來測量性能
- R probably threshold_perf 生成跨概率閾值的性能指標
- R probably cal_estimate_beta 使用 Beta 校準模型來計算新概率
- R probably cal_plot_regression 回歸校準圖
- R probably as_class_pred 強製轉換為 class_pred 對象
- R probably levels.class_pred 提取class_pred級別
- R probably cal_estimate_isotonic 使用等滲回歸模型來校準模型預測。
- R probably locate-equivocal 找到模棱兩可的值
- R probably cal_estimate_logistic 使用邏輯回歸模型來校準概率
- R probably int_conformal_quantile 通過保形推理和分位數回歸預測區間
- R probably cal_validate_multinomial 使用和不使用多項式校準來測量性能
- R probably cal_apply 對一組現有預測應用校準
- R probably reportable_rate 計算報告率
- R probably cal_validate_linear 使用和不使用線性回歸校準來測量性能
- R probably cal_estimate_isotonic_boot 使用引導等滲回歸模型來校準概率
- R probably cal_plot_windowed 通過移動窗口繪製概率校準圖
- R probably int_conformal_split 通過分割共形推理預測區間
- R probably is_class_pred 測試對象是否繼承自class_pred
- R probably cal_validate_isotonic 使用和不使用等滲回歸校準來測量性能
注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Create a class_pred vector from class probabilities。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。