Как рассчитать точность, отзыв и оценку F1 с помощью sklearn - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь вычислить Precision, Recall and F1 в этом примере кода. Я рассчитал точность модели на тренировочном и тестовом наборе данных. Пожалуйста, помогите рассчитать эти матрицы. Пожалуйста, посмотрите код, в котором я прокомментировал каждую важную строку для объяснения.

# develop a classifier for the Faces Dataset
from numpy import load
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import LabelEncoder
from sklearn.preprocessing import Normalizer
from sklearn.svm import SVC
import pickle
# load dataset
data = load('faces-embeddings.npz')
trainX, trainy, testX, testy = data['arr_0'], data['arr_1'], data['arr_2'], data['arr_3']
print('Dataset: train=%d, test=%d' % (trainX.shape[0], testX.shape[0]))
# normalize input vectors
in_encoder = Normalizer(norm='l2')
trainX = in_encoder.transform(trainX)
testX = in_encoder.transform(testX)
# label encode targets
out_encoder = LabelEncoder()
out_encoder.fit(trainy)
trainy = out_encoder.transform(trainy)
testy = out_encoder.transform(testy)
# fit model
model = SVC(kernel='linear', probability=True)
model.fit(trainX, trainy)
#Saving Model
filename = 'finalized_model.sav'
pickle.dump(model, open(filename, 'wb'))
# predict
yhat_train = model.predict(trainX)
yhat_test = model.predict(testX)
# score
score_train = accuracy_score(trainy, yhat_train)
score_test = accuracy_score(testy, yhat_test)
# summarize
print('Accuracy: train=%.3f, test=%.3f' % (score_train*100, score_test*100))

1 Ответ

1 голос
/ 07 августа 2020

зная истинное значение Y (здесь тренируется) и прогнозируемое значение Y (yhat_train здесь), вы можете напрямую вычислить точность, отзыв и оценку F1, точно так же, как вы это делали для точности (благодаря sklearn.metrics):

sklearn.metrics.precision_score (trainy, yhat_train)

https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html#sklearn .metrics.precision_score

sklearn.metrics.recall_score (trainy, yhat_train )

https://scikit-learn.org/stable/modules/generated/sklearn.metrics.recall_score.html#sklearn .metrics.recall_score

sklearn.metrics.f1_score (trainy, yhat_train)

https://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html#sklearn .metrics .f1_score

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...