如何计算 OneVsRestClassifier 的预测精度?

How calculate prediction accuracy of OneVsRestClassifier?

如何计算 OneVsRestClassifier 的预测准确度和 F1 分数?

>>> from sklearn import datasets
>>> from sklearn.multiclass import OneVsRestClassifier
>>> from sklearn.svm import LinearSVC
>>> iris = datasets.load_iris()
>>> X, y = iris.data, iris.target
>>> OneVsRestClassifier(LinearSVC(random_state=0)).fit(X, y).predict(X)

您可以使用 sklearn 的指标模块。

from sklearn import datasets
from sklearn.multiclass import OneVsRestClassifier
from sklearn.svm import LinearSVC
from sklearn.metrics import accuracy_score, f1_score

iris = datasets.load_iris()
X, y = iris.data, iris.target
model = OneVsRestClassifier(LinearSVC(random_state=0))
model.fit(X, y)
yhat = model.predict(X)

print('Accuracy:', accuracy_score(y, yhat))
print('F1:', f1_score(y, yhat, average='micro'))

请注意,我将 average 参数设置为 micro。您可以根据选项 here.

更改此设置