使用具有不同分类器的 sklearn precision_recall_curve 函数

Posted

技术标签:

【中文标题】使用具有不同分类器的 sklearn precision_recall_curve 函数【英文标题】:Using sklearn precision_recall_curve function with different classifiers 【发布时间】:2019-04-25 04:06:25 【问题描述】:

这可能是一个简单的问题,但我需要帮助了解如何使用sklearn 中的precision_recall_curve 函数。

我有一个二进制数据集,并且正在使用三个分类器(SVMRFLR)对其进行分类。

sklearn 文档中的示例显示如何使用该函数:

y_score = classifier.decision_function(X_test)    
precision_recall_curve(y_test, y_score)

在示例中,decision_functionSVM 分类器的内置函数。但是,我没有看到像随机森林分类器或线性回归这样的函数。

谁能帮我理解y_score 和决策函数到底是什么,以及如何为任何分类器计算它?

谢谢!

【问题讨论】:

【参考方案1】:

对于所有其他没有内置 decision_function 的分类器, 你应该使用predict_proba 函数,它本质上是一样的。

y_score = random_forest.predict_proba()

【讨论】:

【参考方案2】:

查看documentation of precision_recall_curve中的第二个参数描述:

probas_pred : 数组,形状 = [n_samples]

估计的概率或决策函数。

decision_function() 不存在时,您可以使用predict_proba() 代替它。

【讨论】:

以上是关于使用具有不同分类器的 sklearn precision_recall_curve 函数的主要内容,如果未能解决你的问题,请参考以下文章

不同版本的 sklearn 给出完全不同的训练结果

具有 PredefinedSplit 评分的 Sklearn GridSearch 与独立分类器不匹配

sklearn - 具有多个分数的交叉验证

决策树分类器 sklearn 中节点的不同颜色表示啥?

为啥以两种不同方式应用随机森林分类器的特征选择结果不同

Sklearn:评估 GridSearchCV 中 OneVsRestClassifier 的每个分类器的性能