Bagaimana Keras menghitung akurasi dari probabilitas classwise? Katakanlah, misalnya kita memiliki 100 sampel dalam set tes yang dapat dimiliki salah satu dari dua kelas. Kami juga memiliki daftar probabilites yang berkelas. Ambang apa yang digunakan Keras untuk menetapkan sampel ke salah satu dari dua kelas?
neural-network
deep-learning
keras
Raghuram
sumber
sumber
Jawaban:
Untuk klasifikasi biner, kode untuk metrik akurasi adalah:
K.mean(K.equal(y_true, K.round(y_pred)))
yang menunjukkan bahwa 0,5 adalah ambang batas untuk membedakan antara kelas. y_true tentu saja harus 1-hot dalam kasus ini.
Ini sedikit berbeda untuk klasifikasi kategori:
K.mean(K.equal(K.argmax(y_true, axis=-1), K.argmax(y_pred, axis=-1)))
yang berarti "seberapa sering prediksi memiliki nilai maksimum di tempat yang sama dengan nilai sebenarnya"
Ada juga opsi untuk akurasi kategori top-k, yang mirip dengan yang di atas, tetapi menghitung seberapa sering kelas target dalam prediksi top-k.
sumber
categorical_accuracy
.