Dalam blog Keras tentang konjeksi pelatihan dari awal , kode hanya menampilkan jaringan yang menjalankan data pelatihan dan validasi. Bagaimana dengan data uji? Apakah data validasi sama dengan data uji (saya pikir tidak). Jika ada folder tes terpisah pada baris yang sama seperti folder train dan validasi, bagaimana kita mendapatkan matriks kebingungan untuk data pengujian. Saya tahu bahwa kita harus menggunakan scikit belajar atau beberapa paket lain untuk melakukan ini, tetapi bagaimana saya mendapatkan sesuatu di sepanjang garis probabilitas kelas bijaksana untuk data uji? Saya berharap untuk menggunakan ini untuk matriks kebingungan.
16
Jawaban:
Untuk mendapatkan matriks kebingungan dari data uji, Anda harus melalui dua langkah:
Misalnya, gunakan
model.predict_generator
untuk memprediksi 2000 probabilitas pertama dari generator tes.Misalnya, bandingkan probabilitasnya dengan kasus masing-masing ada 1000 kucing dan 1000 anjing.
Catatan tambahan pada data pengujian dan validasi
Dokumentasi Keras menggunakan tiga set data yang berbeda: data pelatihan, data validasi dan data uji. Data pelatihan digunakan untuk mengoptimalkan parameter model. Data validasi digunakan untuk membuat pilihan tentang meta-parameter, misalnya jumlah zaman. Setelah mengoptimalkan model dengan meta-parameter optimal, data uji digunakan untuk mendapatkan estimasi kinerja model yang adil.
sumber
np.array([0] * 1000 + [1] * 1000)
Anda bisa mendapatkan array yang sama dengan melakukangenerator.classes
Berikut adalah beberapa kode yang saya coba dan bekerja untuk saya:
Anda kemudian dapat menggunakan:
Pastikan Anda menggunakan
shuffle=False
di generator pengujian Anda (dalam kasus saya ini generator validasi) dan reset menggunakanvalidation_generator.reset()
sebelum Anda membuat prediksi.sumber
Untuk matriks kebingungan Anda harus menggunakan paket sklearn. Saya tidak berpikir Keras dapat memberikan matriks kebingungan. Untuk memprediksi nilai pada set tes, cukup panggil metode model.predict () untuk menghasilkan prediksi untuk set tes. Jenis nilai output tergantung pada tipe model Anda yaitu diskrit atau probabilitas.
sumber