解释sklearn.metrics.precision_recall_fscore_support的输出

时间:2014-07-08 15:58:16

标签: python classification scikit-learn

我正在使用sklearn计算精确度并调用二进制分类项目。

scores = cross_validation.cross_val_score(clf, numpy.asarray(X_features), numpy.asarray(Y_targets), \
                            cv = 5, score_func = metrics.metrics.precision_recall_fscore_support )

我使用的评分功能是 metrics.metrics.precision_recall_fscore_support

部分输出如下:

[[[  0.95652174   1.        ]
  [  1.           0.95348837]
  [  0.97777778   0.97619048]
  [ 44.          43.        ], ......]

第一行是精确的,第二行是召回。 但由于它是二进制分类,我想知道哪个列适用于" 0"上课和#34; 1"类?如果是多类别分类,例如" 0"," 1"," 2",sklearn如何对输出中的类进行排序?

1 个答案:

答案 0 :(得分:2)

使用fit()时,您可以通过分类器模型的classes_属性以相同的顺序获取相应的类(即my_model.classes _)。

在您的情况下无法使用,因此请使用numpy.unique(Y_targets)=>它与使用的内部方法相同,因此它的顺序相同。