Let say, I used SVM from sci-kit learn to classify several biometric samples.
It will generate a probability estimate of genuine user and an imposter.
So, from here how do I calculate EER?
What I did so far
for threshold in range_iteration:
far.append(np.size(np.where(score_imposter >= threshold)) / np.size(score_imposter))
frr.append(np.size(np.where(score_genuine < threshold)) / np.size(score_genuine))
Please note that the threshold is defined based on the several intervals based on the largest and smallest values from predict_proba.
score_genuine
is equal to the probability estimates from the genuine user based on the genuine test samples, focussing on the column of genuine probability. That's I wrote lower than the threshold as false rejection.
While score_imposter
is the probability of predicting genuine users but with a score greater than the threshold since I assumed, greater than the threshold is considered as false acceptance.