Precisão de classificação após recall e precisão
Só estou me perguntando se esta é uma maneira legítima de calcular a precisão da classificação:
obter limites de recall de precisãopara cada limite, binarize os y_scores contínuoscalcular sua precisão a partir da tabela de contingência (matriz de confusão)retorne a precisão média dos limites
recall, precision, thresholds = precision_recall_curve(np.array(np_y_true), np.array(np_y_scores))
accuracy = 0
for threshold in thresholds:
contingency_table = confusion_matrix(np_y_true, binarize(np_y_scores, threshold=threshold)[0])
accuracy += (float(contingency_table[0][0]) + float(contingency_table[1][1]))/float(np.sum(contingency_table))
print "Classification accuracy is: {}".format(accuracy/len(thresholds))