1

我正在交叉验证一个 sklearn 分类器模型,并希望快速获得精度、召回率和 f 分数的平均值。我怎样才能获得这些值?

我不想自己编写交叉验证,而是使用函数 cross_validation.cross_val_score。通过提供适当的评分功能,是否可以使用此功能来获得每个标签的预期平均值?

4

2 回答 2

1

您可以考虑使用sklearn.metrics 包中的所有方法。

我认为这种方法可以完成您期望的工作。它为您提供了一个 2D 数组,其中每个目标唯一值一行,精度、召回率、fscore 和支持列。

对于快速记录,您也可以使用分类报告。

于 2015-05-25T16:49:48.380 回答
0

对于精度和召回率,在 metrics 包中有一个名为precision_recall_curve的函数,它应该可以满足您的需求。

假设您有一个训练有素的分类器clf、测试示例X和测试目标Y,那么您需要通过目标和预测的类概率。以下示例将找到两类问题的精度和召回率。

probs = clf.predict_proba(X)[:,1]
precision, recall, thresholds = precision_recall_curve(Y, probs)

可以使用度量包中的不同函数f1_score找到 F 分数。这以类似的方式使用,但需要预测的类成员资格作为参数,而不是成员资格的概率。

于 2015-05-25T16:55:31.553 回答