Saya lagi baca tulisan Vegi Shanmukh tentang klasifikasi gambar dengan SVM. Jadi dia pake algoritma SVM (support vector machine) buat klasifikasi gambar. Di SVM data di plot dalam ruang n-dimensi. N adalah jumlah fitur. Nilai setiap fitur digambarkan dalam koordinat tertentu. Klasifikasi dilakukan dengan mencari hyperplane yang dapat memisahkan titik-titik data tadi menjadi dua kelas misalnya. Contohnya kayak gambar berikut:
Disana terlihat dicari garis (hyperplane) yang dapat memisahkan titik2 merah dan titik2 hijau. Di SVM ada beberapa parameter berikut:
Gamma : menentukan seberapa jauh pengaruh dari sebuah training mencapai nilai-nilai yang menghasilkan hasil yang bias
C : Cost dari salah klasifikasi (missclassification)
nilai C kecil — membuat biaya misclassification rendah
nilai C besar— membuat biaya misclassification tinggi
Kernel : algoritma SVM menggunakan fungsi matematika sebagai kernel. Jenis kernel: Linear, RBF(Radial Basis Function), Polynomial Kernel. Contohnya ada di gambar diatas.
Dalam klasifikasi gambar, komputer melihat gambar sebagai array dari sekumpulan angka. Misalnya gambar dengan ukuran 200×200, maka oleh komputer akan diubah jadi array 200 X 200 X 3. 200 pertama adalah lebar, 200 kedua adalah tinggi, sementara 3 adalah chanel RGB. Nilai angka ini akan berkisar antara 0–255.
Di blognya dia pake library SKlearn namanya GridSearchCV. Dia ngasih contoh klasifikasi gambar dalam 3 kelas, mobil, eskrim, dan bola kriket. Kodenya bisa dilihat di blognya . Di codingannya semua gambar di ubah ukurannya, karena SVM hanya menerima gambar dengan ukuran yang sama.
Tahapan kodingan yang dia bikin:
- Bikin model SVM : -> svc=svm.SVC()
- Bikin model dengan GridSearchCV dan parameters grid: →model=GridSearchCV(svc,parameters_grid)
- Data dibagi 2: training dan testing. -> train_test_split()
- Training→ model.fit(training_data,expected_output)
- Testing -> model.predict(testing_data)
- Hitung akurasi: -> accuracy_score() method from sklearn.metrics
- Evaluasi
kode lengkapnya bisa dilihat disini:
https://github.com/ShanmukhVegi/Image-Classification
versi lainnya:
Semoga Bermanfaat!