케 라스에서 binary_accuracy
의 임계 값은 무엇입니까? 메트릭스는 한 샘플을 양수 및 음수로 예측하는 데 사용됩니까? 그 문턱 값은 0.5입니까? 그것을 조정하는 방법? 임계 값 0.80을 설정하려면 예측 값이 0.79이면 음의 샘플로 간주하고 그렇지 않으면 예측 값이 0.81이면 양의 샘플로 간주됩니다.keras에서의 binary_accuracy 메트릭스에서 한 샘플을 양수 및 음수로 예측하는 임계 값은 무엇입니까
3
A
답변
1
binary_accuracy
에는 임계 값 매개 변수가 없지만 쉽게 정의 할 수 있습니다.
import keras
from keras import backend as K
def threshold_binary_accuracy(y_true, y_pred):
threshold = 0.80
if K.backend() == 'tensorflow':
return K.mean(K.equal(y_true, K.tf.cast(K.lesser(y_pred,threshold), y_true.dtype)))
else:
return K.mean(K.equal(y_true, K.lesser(y_pred,threshold)))
a_pred = K.variable([.1, .2, .6, .79, .8, .9])
a_true = K.variable([0., 0., 0., 0., 1., 1.])
print K.eval(keras.metrics.binary_accuracy(a_true, a_pred))
print K.eval(threshold_binary_accuracy(a_true, a_pred))
지금 초기 질문에 대답하기 metrics=[threshold_binary_accuracy]
+0
따라서 임계 값 = 0.5를 설정하는 경우 기본 "정확도"미터를 사용한 것과 동일한 값을 얻게됩니다. 맞습니까? 이 일을 할 때 크게 다른 값을 얻고 있습니다 ... –
0
로 사용할 수 있습니다, keras 클래스를 할당 라운드 기능을 사용하므로 임계 값은 0.5입니다.
https://github.com/fchollet/keras/blob/master/keras/metrics.py
데프 binary_accuracy (y_true, y_pred) : 반환 K.mean (K.equal (y_true, K.round (y_pred)))
, 여기에 질문을하기 전에, 당신이 필요하세요 영어 실력을 향상시킬 수있는 가장 좋은 방법을 증명합니다. 따라서, [최소한의 완전하고 검증 가능한 예제를 만드는 방법] (http://stackoverflow.com/help/mcve)을 체크하고 적절히 업데이트하십시오. – bosco