如何调整典型的sklearn数据挖掘方法的阈值,以平衡精确性和召回率?

2024-09-26 22:51:31 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我使用pythonsk-learn库中的一些数据挖掘算法来进行分类。在

然而,我得到了一些非常不平衡的结果,比如,大约0.99召回率和低于{}的准确率。在

概念上的分类算法依赖于某个“阈值”来进行决策,这意味着我应该能够通过调整这个“阈值”来平衡准确率和召回率。在

但是,我在sklearn中找不到一些API来帮助这一点,所以我的问题是:如何操作sklearn库中的底层“阈值”来平衡精确度和召回率?在


Tags: 算法数据挖掘api概念分类阈值sklearnlearn
1条回答
网友
1楼 · 发布于 2024-09-26 22:51:31
如果你的问题不是关于不平衡的数据,我必须参考你在Andrew Ng的机器学习课程中学习到的一些注释:http://www.holehouse.org/mlclass/06_Logistic_Regression.html

我在这里选择Logistic回归是因为我不知道你使用的方法。但结论基本上是阈值不是学习者模型的显式参数。我的意思是,你可以选择你要在什么地方削减分类(在概率模型中),或者你可以在其他一些方法中建立一些加权参数(检查这个答案:scikit .predict() default threshold)。在

严格地说,这个学习算法不应该只考虑错误/错误的比例。在

旁注:在一个特定的分类问题中,我“经验地”发现我至少需要0.6的概率才是正确的,所以我使用了分类器的方法predict_proba而不是{},所以最终是我决定了返回的类。不知道这是否有用。

相关问题 更多 >

    热门问题