Varrel Dwitantio Purwadiansyah
Beras, yang merupakan salah satu produk biji-bijian yang paling banyak diproduksi di seluruh dunia, memiliki banyak varietas genetik. Varietas ini dipisahkan satu sama lain karena memiliki beberapa ciri yang berbeda. Perbedaan cirinya seperti tekstur, bentuk, dan warna. Dengan ciri-ciri yang membedakan varietas padi, dimungkinkan untuk mengklasifikasikan dan mengevaluasi kualitas benih. Pada portofolio kali ini, kita hanya menggunakan 5 varietas padi yang berbeda antaralain Arborio, Basmati, Ipsala, Jasmine dan Karacadag.
Deskripsi
Beras, yang merupakan salah satu produk biji-bijian yang paling banyak diproduksi di seluruh dunia, memiliki banyak varietas genetik. Varietas ini dipisahkan satu sama lain karena memiliki beberapa ciri yang berbeda. Perbedaan cirinya seperti tekstur, bentuk, dan warna. Dengan ciri-ciri yang membedakan varietas padi, dimungkinkan untuk mengklasifikasikan dan mengevaluasi kualitas benih. Pada portofolio kali ini, kita hanya menggunakan 5 varietas padi yang berbeda antaralain Arborio, Basmati, Ipsala, Jasmine dan Karacadag.
Random Forest
Random forest adalah kombinasi dari masing – masing tree yang baik kemudian dikombinasikan ke dalam satu model. Random Forest bergantung pada sebuah nilai vector random dengan distribusi yang sama pada semua pohon yang masing masing decision tree memiliki kedalaman yang maksimal. Random forest adalah classifier yang terdiri dari classifier yang berbentuk pohon {h(x, θ k ), k = 1, . . .} dimana θk adalah random vector yang diditribusikan secara independen dan masing masing tree pada sebuah unit kan memilih class yang paling popular pada input x.
Dataset
Dataset yang digunakan adalah bersumber dari Kaggle yang dibagi menjadi 5 label yaitu Arborio, Basmati, Ipsala, Jasmine dan Karacadag. Setiap label memiliki gambar sebanyak 15.000.
Source Code:
Import seluruh library yang dibutuhkan
EDA
Deklarasi jumlah labels yang digunakan dan juga alamat penyimpanan gambar pada setiap label.
Menampilkan 5 gambar pada setiap varian beras
Dari gambar diatas. kita dapat melihat gambar butiran beras memiliki warna yang agak mirip dan butiran beras dari jenis yang berbeda sebagian besar berbeda berdasarkan bentuk dan ukurannya. Kita dapat menggunakan teknik pengolahan citra untuk membuat fitur berdasarkan ukuran/bentuk dari citra butiran beras dan kemudian menggunakannya untuk klasifikasi.
Image Processing
Selanjutnya kita ambil 1 sample pada setiap label untuk testing Image Processing dengan OpenCV.
Pada tahapan Image Processing yang dilakukan pertama kali yaitu Convert gambar ke grayscale. Selanjutnya kita lakukan tahapan Thresholding untuk mendapatkan binary map dan trace contours pada butir beras. Terakhir kita gunakan contours untuk membuat fitur seperti panjang, ukuran, bentul, dll.
Berikut contoh gambar hasil convert ke grayscale dan thresholding.
Berikut hasil features pada setiap gambar yang telah kita hitung mengunakan contours.
Kemudian, kita lakukan tahapan Image Processing sampai mendapatkan hasil dari perhitungan features pada semua gambar.
Setelah itu, membagi dataset menjadi data training dan testing
Lakukan feature scaling dengan menggunakan StandardScaler
Training & Prediction
Pada proses training saya akan menggunakan Random Forest Classifier. Setelah itu, saya lakukan prediksi pada data X_test dan hasil dari akurasi model menggunakan Random Forest Classifier yaitu 97%.
Evaluasi Model
Saya menggunakan confusion matrix dan classification report untuk evaluasi model.