Reputation: 37
how I can calculate the prediction Accuracy and F1 Score of OneVsRestClassifier?
>>> 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)
Upvotes: 0
Views: 1090
Reputation: 467
You can use sklearn's metrics module.
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'))
Note that I set the average
argument to micro
. You can change this based on the options here.
Upvotes: 2