我正在使用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如何对输出中的类进行排序?
答案 0 :(得分:2)
使用fit()时,您可以通过分类器模型的classes_属性以相同的顺序获取相应的类(即my_model.classes _)。
在您的情况下无法使用,因此请使用numpy.unique(Y_targets)=>它与使用的内部方法相同,因此它的顺序相同。