如何计算"OneVsRestClassifier"分类器的准确度度量?



我有一个多类分类问题,下面的代码可以在多类级别对数据进行分类。

from sklearn import datasets
from sklearn.preprocessing import label_binarize
from sklearn.multiclass import OneVsRestClassifier
from sklearn.model_selection import cross_val_predict
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis as QDA

iris = datasets.load_iris()
X = iris.data
y = iris.target
# Binarize the output
y_bin = label_binarize(y, classes=[0, 1, 2])
n_classes = y_bin.shape[1]
clf = OneVsRestClassifier(QDA())
y_score = cross_val_predict(clf, X, y, cv=10 ,method='predict_proba')

如何使用上面的代码计算此分类器的性能度量(下面列出(?

accuracy 
specificity
sensitivity
presison
mcc
f1
Recall 

谢谢。。

你应该能够做到这一点:

from sklearn.metrics import classification_report
print(classification_report(y_test,y_pred))

在这种情况下,根据我的理解,y_test是您定义为y的,y_pred可以通过以下方式轻松计算:

y_pred = clf.predict(X)

您可以在此处找到有关指标的更多信息,并在维基百科中找到一些解释,请记住对于多标签类,真负和真正的概念应该有不同的理解。

最新更新