sklearn.metrics.precision_recall_fscore_support输出解读
我正在使用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”类,哪一列是代表“1”类?如果是多分类问题,比如“0”、“1”、“2”,那么sklearn是怎么排列输出的类别的呢?
1 个回答
2
在使用fit()这个方法的时候,你可以通过分类器模型的classes_属性来获取对应的类别,顺序是一样的(比如说:my_model.classes_)。
但在你的情况下,这个属性不可用,所以你可以使用numpy.unique(Y_targets)来获取类别。这是一个内部使用的相同方法,所以得到的顺序也是一致的。