Чтобы создать матрицу путаницы, извлеките библиотеку scikit-learn
в Python. Предполагая, что y_actual
- это ваш набор тестовых меток, функции, соответствующие изображениям в вашем тестовом наборе, хранятся в переменной с именем X_test
, а ваш обученный классификатор как clf
, один из возможных способов построения матрицы путаницы:как показано ниже:
from sklearn.metrics import confusion_matrix
y_pred = clf.predict(X_test)
## Obtaining confusion matrix below
CM = confusion_matrix(y_pred, y_actual)
Могу ли я назвать его помеченным набором данных?
Без оригинальных меток для вашего набора тестов вы не сможете подтвердить свои прогнозы,Из матрицы путаницы вы можете получить различные показатели производительности вашей модели.
Учитывая, что вы назвали свои изображения в тестовом наборе в зависимости от наличия лица или нет, вы можете использовать это для получения y_actual
import glob
import os
import numpy as np
def obtain_y_pred(test_folder):
label = {'F':1, 'NF':-1}
test_images = glob.glob(os.path.join(test_folder, '*.jpg'))
y_test_ = []
for image in test_images:
y_test_.append(label[image.split('/')[-1].split('.')[0].split('_')[-1]])
return np.array(y_test_)
Подводя итог, вам сначала нужно знать метки вашего тестового набора. Затем вам нужно оценить производительность вашей модели на тестовом наборе после обучения на тренировочном наборе .