Rahmawati
Pada portofolio ini membahas tentang image classification dengan menggunakan messy clean room dataset.
Pada pembahasan kali ini kita akan melakukan klasifikasi gambar apakah gambar tersebut menunjukkan kamar yang berantakan atau kamar yang rapih/bersih. Pada eksperimen kali ini menggunakan dataset Messy-vs-Clean Room yang dapat diunduh di Kaggle.
Pertama-tama kita unduh terlebih dahulu dataset yang dibutuhkan. Dataset yang diunduh berupa filezip. Di dalam dataset terdiri dari 3 folder diantaranya folder train, test, dan val. Setelah itu, upload dataset tersebut ke Google Drive kita karena eksperimen kali ini akan menggunakan Google Collaborator sebagai Notebook-nya. Kemudian buka notebook yang akan digunakan. Koneksikan notebook kita pada Google Drive. Seperti biasa kita panggil library tensorflow (karena kali ini kita akan menggunakan tensorflow) terlebih dahulu. Karena dataset masih berupa file zip maka kita unzip terlebih dahulu menggunakan perintah berikut. Uncomment terlebih dahulu perintahnya.
Setelah berhasil unzip file dataset, maka kita tentukan variabel untuk base directory yang berisi path dimana file dataset tersebut berada. Tentukan juga variabel untuk train directory yang berisi path folder train dan variabel untuk validation directory yang berisi path folder val. Cek isi dari setiap folder train dan val untuk melihat apakah data tersebut lengkap atau tidak.
Kemudian kita pre-processing data dengan image augmentation
Setelah pre-processing data maka siapkan data latih yang akan dipelajari oleh model dan data validasi untuk memvalidasi dari model yang ada. Kita tentukan direktori yang akan digunakan misalnya untuk data latih kita gunakan direktori train_dir dan dengan target size 150 x 150, batch size sebanyak 4 dan menggunakan binary class mode. Untuk data validation kita gunakan direktori validation_dir dengan atribut yang sama seperti train_dir. Dapat terlihat bahwa terdapat 2 kelas, masing-masing kelas memiliki gambar sebanyak 192 gambar dan 20 gambar.
Setelah itu, kita buat model dengan arsitektur CNN dengan jumlah layer convolusi 4 layer dan Maxpooling dengan jumlah yang sama serta 2 buah hidden layer. Model berupa sequential dengan Dropout 0.6 dan activation sigmoid.
Terakhir kita compile model yang telah dibuat dan cek nilai loss dan accuracy-nya. Buat visualisasi grafik dari nilai model accuracy dan model loss jika dibutuhkan.
Terlihat bahwa model yang dibuat memiliki nilai loss sebesar 0.45 dan nilai accuracy sebesar 0.80. Model masih belum baik, perlu percobaan lain agar bisa mencapai nilai accuracy yang lebih tinggi lagi.