如何最大限度地减少误报?

人工智能 机器学习 分类 Python
2021-11-13 18:04:29

我有 50,000 个样本。其中 23,000 个属于所需类别A. 我可以牺牲被分类为属于所需类的实例的数量A. 对我来说,在所需的类中获得 7000 个实例就足够了A, 前提是这些实例中的大多数被归类为A真正属于想要的班级A. 我怎样才能做到这一点?

以下是实例被完美分类的情况下的混淆矩阵。

[[23000   0]
 [  0 27000]]

但是不太可能得到这个混淆矩阵,所以我对下面的混淆矩阵还是比较满意的。

[[7000   16000]
 [  500 26500]]

我目前正在使用sklearn图书馆。我主要使用基于决策树的算法,因为它们的计算速度非常快。

1个回答

我认为您正在寻找最小化误报,即被归类为属于所需类的实例(误报的部分)但实际上不属于该类(假的错误部分积极的)。在实践中,给定您的限制条件,您可能希望最大限度地提高精度,同时保持良好的召回率

这个问题的答案,当精度比召回重要得多时,如何调整模型以提高精度?,用户建议执行网格搜索(使用sklearn.grid_search.GridSearchCV(clf, param_grid, scoring="precision"))来找到模型的参数,使精度最大化。另见分类器与可调节精度与召回问题。