내 분류 자의 클래스에 대해 리콜과 정밀도 값을 얻는 간단한 해결책이 있는지 궁금합니다.Tensorflow CNN 분류자를 사용하여 정밀도와 리콜 값 가져 오기
일부 컨텍스트를 넣기 위해 Denny Britz 코드를 사용하여 Tensorflow를 사용하여 20 클래스 CNN 분류기를 구현했습니다 : https://github.com/dennybritz/cnn-text-classification-tf.
그는 글로벌 정확성을 계산하는 간단한 기능을 구현하면 text_cnn.py의 끝에서 볼 수 있듯이 :
# Accuracy
with tf.name_scope("accuracy"):
correct_predictions = tf.equal(self.predictions, tf.argmax(self.input_y, 1))
self.accuracy = tf.reduce_mean(tf.cast(correct_predictions, "float"), name="accuracy")
난에 대한 리콜 및 정밀 값을 얻을 비슷한 일을 할 수있는 방법에 대한 아이디어 differents 카테고리?
어쩌면 내 질문에 바보가 들리 겠지만 솔직히 말해서 조금 잃어 버렸습니다. 도와 주셔서 감사합니다.
다중 클래스 분류기에는 정밀도와 회수율이 정의되어 있지 않으며, 이진수에 대해서만 정밀도와 회수율이 정의되어 있지 않습니다. –
정밀도는 알고리즘이 "i"를 선언 한 모든 인스턴스 중에서 클래스 "i"로 올바르게 선언 된 요소의 일부이므로 동의 할 수 없습니다. 역으로, 리콜은 우리가 세계의 진실이 "i"인 모든 경우에서 "i"를 올바르게 선언 한 사건의 비율입니다. 클래스가 2 개 이상이면 클래스 당 회수 및 정밀도 계산에 많은 변화가 없습니다. 하지만 아마도 당신은 tensorflow에서 멀티 클래스 분류 자에 대해 정의되지 않았다는 것을 의미할까요? 그렇다면 내 잘못입니다 : p – LoulouChameau
오, 맞습니다. 여전히 바이너리이지만 멀티 클래스에 적용 할 수 있습니다. tf.contrib.metrics.confusion_matrix를 사용하여 혼동 행렬을 얻은 다음 그 정확도/리콜을 계산할 수 있습니다. . –