Hasbi Mubarak Suud
Project ini menggunakan dataset dari kaggle yang isinya berupa beberapa image tanah yang telah dikategorikan dalam beberapa jenis tanah. Data tanah yang digunakan terdiri dari 2 data yaitu data test dan train. Dalam project ini, model dibuat menggunakan CNN yang memanfaatkan library tensorflow.keras yang biasa digunakan untuk mengklasifikasikan jenis berdasarkan image pada data train. Dalam project ini kita menggunakan satu input layer, 3 convolutional layer, dan 2 hidden layer. Selain itu dalam project ini juga dipraktikkan fungsi drop out untuk mengurangi overfitting dan flatten untuk merubah matriks multidimensi menjadi bentuk 1 dimensi. Model terbaik yang didapatkan, diimplementasikan untuk menguji image yang ada pada data test. Hasil uji nya menunjukkan presentase keberhasilan prediksi model berkisar antara 66% hingga 96%.
Tujuan project : melakukan klasifikasi jenis tanah. Klasifikasi termasuk dalam klasifikasi multi-kelas
Dataset diambil dari : https://www.kaggle.com/datasets/jhislainematchouath/soil-types-dataset
Gambar 1. Contoh gambar yang ada pada dataset
Data set image tanah terdiri dari 2 kategori yaitu data train dan data test. Setiap data train dan data test mempunyai data image 4 jenis (kelas) tanah yaitu alluvial soil, black soil, clay soil, dan red soil. Persiapan data augmentation dan preprocessing menggunakan ImageGenerator. Data yang digunakan adalah data train.
Gambar 2. Train generator dan validation generator
Arsitektur model menggunakan model sequential dengan 1 Input Layer, 3 Convolutional Layer, 2 Hidden layer.
Gambar 3. Model summary
Pelatihan model menggunakan callbacks untuk mencapai accuracy dan val accuracy diatas 85%. Dengan menggunakan callbacks ini iterasi untuk mendapatkan model terbaik dilakukan hingga 20 epochs dengan accuracy sebesar 0.9492, loss sebesar 0.073, val accuracy sebesar 0.8673, dan val lost sebesar 0.1641
Gambar 4. Callbacks
Evaluasi model dengan melihat validation loss dan validation accuracy
(a) | (b) |
Gambar 5. Grafik (a) accuracy validation dan (b) loss validation
Model yang sudah dibuat digunakan untuk memprediksi data image pada folder data test. Semua data image di folder data test diuji dengan model yang sudah dibuat dan dilihat berapa persen data yang berhasil diprediksi dengan benar. Hasil prediksi menggunakan data Test ditunjukkan pada Tabel 1 dibawah ini. Secara umum hasil nya cukup bagus kecuali pada jenis alluvial soil yang menunjukkan presentase yang agak rendah. Kemungkinan langkah perbaikan adalah dengan memperbanyak database pada dataset test untuk kategori (kelas) 'Alluvial soil'.
Gambar 6. code untuk membaca semua gambar test dan menghitung presentase prediksi yang benar
Tabel 1. Persentase jumlah prediksi yang tepat menggunakan data test
| Jenis tanah | Jumlah Gambar tes | Persentase data hasil prediksi benar |
Alluvial soil | 53 | 66% |
Black soil | 116 | 96% |
Clay soil | 65 | 91% |
Red Soil | 106 | 96% |