楼主: sjf25
7042 3

[问答] 预测函数predict的概率阈值设定问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

5%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
434 点
帖子
20
精华
0
在线时间
104 小时
注册时间
2017-8-26
最后登录
2022-11-18

楼主
sjf25 发表于 2018-2-1 12:04:50 来自手机 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
对于二分类模型建立好后,比如随机森林得到一个模型rf.a1,然后需要通过predict函数做预测,那么在语句
predict(rf.a1,testdata)中默认设定预测概率的阈值是多少?是0.5么?比如第一行记录预测值是1,预测概率是0.625。那我可以通过设定预测概率阈值比如大于0.7才预测为1,这个请问怎么实现?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:predict Pred ICT edi dic

沙发
jmq19950824 发表于 2018-12-10 16:00:50 |只看作者 |坛友微信交流群
顶一下,同样遇到此问题

使用道具

藤椅
wangxiaoxiao828 发表于 2019-1-25 10:42:34 |只看作者 |坛友微信交流群
jmq19950824 发表于 2018-12-10 16:00
顶一下,同样遇到此问题
如果你是用randomForest包, 有个参数是cutoff, 比如cutoff=c(0.7,0.3),就是70%以上投票才记做1

使用道具

板凳
赵安豆 发表于 2024-5-29 18:45:49 |只看作者 |坛友微信交流群
默认情况下,`predict()` 函数在二分类任务中会以 0.5 的概率阈值作为决策边界。

如果你想要自定义这个概率阈值,例如设置为大于 0.7,你可以按照以下步骤操作:

1. 首先预测每个样本的概率值,而不是直接的类别标签。对于随机森林模型 `rf.a1`,你可以使用 `predict_proba()` 函数(注意不是 `predict()`):

   ```python
   proba_predictions = predict_proba(rf.a1, testdata)
   ```

2. 然后,根据你设定的概率阈值(例如 0.7),对每个样本的预测概率进行判断,将大于等于这个阈值的样本预测为类别 1,否则预测为类别 0:

   ```python
   custom_threshold = 0.7
   categorical_predictions = [1 if prob >= custom_threshold else 0 for prob in proba_predictions[:, 1]]
   ```

在这个例子中,`proba_predictions[:, 1]` 是测试数据集每个样本的类别 1 的概率。`categorical_predictions` 则是根据你设定的概率阈值(0.7)得出的类别预测结果。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-20 19:02