$ python recognize_faces.py
======LOAD TRAINING DATA=======
- Mode, id, name, total images: training, 01, Tracy, 162
- Mode, id, name, total images: training, 02, Trish, 68
- Mode, id, name, total images: training, 03, Steven, 64
======LOAD TESTING DATA=======
- Mode, id, name, total images: testing, 00, friends, 0
- Mode, id, name, total images: testing, 01, Tracy, 28
- Mode, id, name, total images: testing, 02, Trish, 30
- Mode, id, name, total images: testing, 03, Steven, 13
======FITTING THE CLASSIFIER TO THE TRAINING SET=======
Done in 0.761 second(s).
Best estimator found by grid search: SVC(C=1000.0, cache_size=200, class_weight='auto', coef0=0.0, degree=3,
gamma=0.01, kernel='rbf', max_iter=-1, probability=False,
random_state=None, shrinking=True, tol=0.001, verbose=False)
==================RESULT==================
Confusion Matrix:
Tracy Trish Steven
Tracy 27 1 0
Trish 10 20 0
Steven 1 0 12
Classification Report:
precision recall f1-score support
Tracy 0.71 0.96 0.82 28
Trish 0.95 0.67 0.78 30
Steven 1.00 0.92 0.96 13
avg / total 0.87 0.83 0.83 71
How to comprehend the report:
- Recall value: "Given a true face of person X, how likely does the classifier detect it is X?
- Precision value: "If the classifier predicted a face person X, how likely is it to be correct?