是否有一种tidyverse/tidymodels(或base R)方法通过调整特定正百分位数的阈值来计算二元分类度量?
tidymodels指南建议准备一个预测概率框架,它产生正概率(.pred_1
),还包括实际的类Day90
:
> rf_fit %>% predict(test, type="prob") %>% bind_cols(test %>% select(Day90))
# A tibble: 31,586 × 3
.pred_1 .pred_0 Day90
<dbl> <dbl> <fct>
1 0.296 0.704 0
2 0.296 0.704 0
3 0.136 0.864 0
4 0.0690 0.931 0
5 0.0882 0.912 0
6 0.0948 0.905 0
7 0.157 0.843 0
8 0.0572 0.943 0
9 0.108 0.892 0
10 0.0466 0.953 0
# ℹ 31,576 more rows
# ℹ Use `print(n = ...)` to see more rows
字符串type="quantile"
很有前途,但不适用于parsnip的rand_forest()
。
理想情况下,有一个函数,它取一个正百分位数,比如20%,并找到一个概率阈值k
,该概率阈值导致大约20%的预测阳性。我可以对概率进行排序,并对k
执行线性或二分搜索,但我相信这已经以一种更健壮的方式实现了。dplyr::percent_rank()
似乎也很有希望。
1条答案
按热度按时间o4hqfura1#
这个问题很不清楚,但我猜你指的是增益曲线:
字符串
x1c 0d1x的数据
创建于2023-12-18带有reprex v2.0.2