Ketidakseimbangan Distribusi Kelas
Dari hasil pembangkitan data pelatihan, didapatkan distribusi kelas (true dan false) pada setiap kromosom kedelai seperti yang disajikan pada Gambar 10. Dari hasil tersebut dapat dilihat bahwa persentase kelas true hanya sekitar 5–10% dari keseluruhan data, sedangkan sisanya merupakan kelas false. Adanya ketidakseimbangan distribusi kelas ini dapat membuat hasil klasifikasi hanya baik pada kelas mayoritas (false), sedangkan pada kelas minoritas (true) hasil klasifikasi cenderung tidak baik (He dan Garcia 2009). Oleh karena itu, pada pembangunan model klasifikasi dengan GP, diperlukan fungsi fitness yang dirancang sedemikian rupa untuk menangani data yang distribusi kelasnya tidak seimbang (Bhowan et al. 2010).
Gambar 10 Distribusi kelas pada setiap kromosom
Dari Gambar 10, dapat dilihat juga bahwa jumlah kandidat per kromosom ada dalam satuan juta, yakni paling sedikit berjumlah sekitar 1.5 juta data (Gm16), dan paling banyak berjumlah sekitar 2.6 juta data (Gm18). Jika seluruh data digunakan, maka akan didapatkan total sekitar 40 juta data. Jumlah ini sangat besar dan akan membuat algoritme klasifikasi berjalan dengan tidak efisien. Oleh karena itu, pada penelitian ini hanya digunakan sebagian dari data. Untuk fase pelatihan, digunakan data kromosom Gm18 yang memiliki jumlah data paling banyak, sedangkan untuk fase pengujian, digunakan data kromosom Gm01 yang jumlah datanya kedua terbanyak.
Pembangkitan Rule dengan GP
Dengan data pelatihan yang digunakan (Gm18), dilakukan pembangkitan rule klasifikasi dengan optimasi GP. Untuk optimasi, digunakan ketiga algoritme (Bojarczuk, De Falco, dan Tan) untuk dibandingkan hasilnya.
0 500 1000 1500 2000 2500 3000 Ju m lah k an d id at (d alam r ib u )
19
Algoritme Bojarczuk
Dari setiap percobaan (B1 sampai B9) diambil hasil yang memiliki nilai fitness terbaik dari lima kali ulangan. Grafik fitness maksimum per generasi pada pembangkitan rule dengan algoritme Bojarczuk dapat dilihat pada Gambar 11. Dari grafik tersebut, terlihat bahwa seluruh kombinasi percobaan menghasilkan nilai fitness yang konvergen ke nilai sekitar 0.724. Terdapat tiga percobaan (B2, B6, dan B9) yang memiliki nilai fitness paling tinggi dibandingkan percobaan lain namun tidak signifikan perbedaannya, yaitu nilai fitness 0.725.
Selain itu, dapat dilihat juga bahwa algoritme Bojarczuk dapat konvergen dengan cepat, yaitu pada sekitar generasi ke-10. Kekonvergenan yang cepat menuju satu nilai fitness yang sama ini disebabkan algoritme Bojarczuk tidak menggunakan operator mutation pada saat melakukan optimasi (Bojarczuk et al. 2004). Tidak adanya mutation menyebabkan populasi pada GP memiliki keragaman yang rendah karena hanya bergantung pada keragaman individu pada populasi awal. Akibatnya, tidak ditemukan material genetik baru pada saat proses evolusi individu GP yang mungkin dapat meningkatkan keragaman dan mengubah fitness.
Gambar 11 Grafik fitness algoritme Bojarczuk
Algoritme De Falco
Dari setiap percobaan (F1 sampai F9) diambil hasil yang memiliki nilai fitness terbaik dari lima kali ulangan. Pada Gambar 12 disajikan grafik fitness minimum per generasi untuk algoritme De Falco. Grafik menunjukkan nilai fitness yang cenderung menurun seiring meningkatnya generasi karena fungsi fitness algoritme De Falco bertujuan meminimumkan kesalahan klasifikasi. Oleh karena itu, semakin rendah fitness suatu individu (semakin sedikit kesalahan klasifikasinya) maka semakin optimal individu tersebut.
Dari grafik, terlihat bahwa setiap percobaan memberikan fitness akhir yang bervariasi. Hasil percobaan yang menggunakan jumlah populasi rendah cenderung memiliki fitness yang kurang optimal dibandingkan percobaan dengan jumlah populasi lebih besar. Hal ini disebabkan semakin banyaknya jumlah populasi, maka keragaman genetik pada populasi semakin besar sehingga dimungkinkan
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0 10 20 30 40 50 60 70 80 90 100 F itn ess m ak sim u m Generasi B1 B2 B3 B4 B5 B6 B7 B8 B9
20
adanya bahan genetik yang memberikan fitness yang lebih unggul. Selain itu, adanya operator mutation pada algoritme De Falco menyebabkan banyaknya variasi pada populasi. Hal ini dapat dilihat dari grafik fitness yang terkadang naik atau turun dan tidak konvergen dengan cepat. Jika jumlah generasi ditingkatkan, maka dimungkinkan akan didapatkan nilai fitness yang lebih baik.
Secara umum, pada generasi paling akhir nilai fitness paling optimal diperoleh dari percobaan F2 (peluang crossover 0.7, jumlah populasi 100) dengan nilai fitness 389.9. Percobaan F9 (peluang crossover 0.9, jumlah populasi 200) memberikan hasil yang tidak jauh berbeda sampai generasi ke-99, namun pada generasi ke-100 fitness-nya menurun.
Gambar 12 Grafik fitness algoritme De Falco
Algoritme Tan
Setiap percobaan dengan algoritme Tan (T1 sampai T9) diambil hasil yang memiliki nilai fitness terbaik dari lima kali ulangan. Grafik fitness maksimum per generasi dari algoritme Tan disajikan pada Gambar 13.
Gambar 13 Grafik fitness algoritme Tan
360 370 380 390 400 410 420 430 440 450 460 0 10 20 30 40 50 60 70 80 90 100 F itn ess m in im u m Generasi F1 F2 F3 F4 F5 F6 F7 F8 F9 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 10 20 30 40 50 60 70 80 90 100 Fitn es s m ak sim u m Generasi T1 T2 T3 T4 T5 T6 T7 T8 T9
21 Algoritme Tan menggunakan operator mutation di dalam optimasinya. Meskipun demikian, nilai-nilai fitness pada algoritme Tan cenderung stabil dan tidak fluktuatif seperti algoritme De Falco. Hal ini dapat disebabkan oleh adanya elitisme pada algoritme Tan yang mempertahankan individu dengan fitness terbaik sehingga tidak mengalami perubahan selama proses evolusi (Tan et al. 2000).
Seluruh percobaan pada algoritme Tan cenderung konvergen di atas generasi ke-20 dengan nilai fitness sekitar 0.815. Percobaan T9 dengan peluang crossover 0.5 dan jumlah generasi 200 memberikan nilai fitness akhir terbaik meskipun perbedaannya tidak signifikan dengan percobaan lain, yaitu nilai fitness sebesar 0.819.
Rule Set Hasil Optimasi
Rule set hasil optimasi GP dengan ketiga algoritme ditampilkan pada Tabel 5. Dari masing-masing algoritme, diambil percobaan yang memiliki nilai fitness terbaik. Dari rule yang dihasilkan, dapat dilihat bahwa tidak semua fitur yang digunakan untuk pelatihan (lihat Tabel 1) muncul di dalam rule. Hal ini menandakan bahwa dengan algoritme GP, secara implisit telah dilakukan proses seleksi fitur karena hanya sebagian fitur saja yang signifikan untuk membedakan true dan false SNP.
Tabel 5 Rule set hasil optimasi masing-masing algoritme Algoritme Percobaan Rule set
Bojarczuk B6 IF (max.qual.minor <= 58.990874) THEN (class = false)
ELSE IF (max.qual.minor > 58.990874) THEN (class = true)
ELSE (class = false)
De Falco F2 IF ((allele.balance IN [0.974, 0.156]) AND (max.qual.minor OUT [6.498, 63.871]) AND (total.depth <= 136.940)) THEN (class = true) ELSE IF ((allele.balance OUT [0.921, 0.170]) OR
(max.qual.minor <= 62.710)) THEN (class = false)
ELSE (class = false)
Tan T9 IF (NOT ((NOT (total.depth > 46.690)) AND (max.qual.minor OUT [4.400, 56.187]))) THEN (class = false)
ELSE IF ((NOT ((max.qual.minor > 8.191) AND (max.qual.minor IN [59.879, 13.588]))) AND (max.qual.minor OUT [38.760 13.588])) THEN (class = true)
ELSE IF ((NOT ((nearest.flank < 1304.846) AND (strand.bias IN [798.362, 1319.737]) AND (mean.nearby.qual > 37.335))) AND (allele.balance <= 0.115))
THEN (class = false) ELSE (class = true)
22
Rule yang dibentuk oleh algoritme GP merupakan gabungan operator logika (AND, OR, dan NOT) serta perbandingan aritmatika (misalnya kurang dari, lebih dari, IN yang berarti di dalam rentang, dan OUT yang berarti di luar rentang) antara fitur data dengan suatu nilai. Nilai yang dibandingkan ini merupakan nilai paling optimal yang dipilih secara acak oleh GP berdasarkan data pelatihan yang digunakan.
Masing-masing algoritme menghasilkan rule dengan karakteristik berbeda-beda yang dipengaruhi oleh fungsi internal (operator logika dan perbandingan aritmatika) dan fungsi fitness yang digunakan. Algoritme Bojarczuk menghasilkan rule yang sangat sederhana yang hanya terdiri atas satu kondisi per rule. Hal ini disebabkan oleh adanya faktor simplicity pada fungsi fitness-nya (lihat Tabel 2) yang membuat individu atau rule yang memiliki kompleksitas lebih kecil akan memiliki nilai fitness lebih tinggi. Dari hasil tersebut juga dapat dilihat bahwa fitur SNP yang paling optimal untuk klasifikasi berdasarkan algoritme Bojarczuk adalah max.qual.minor (maksimum kualitas alel minor).
Pada rule set hasil algoritme De Falco, dapat dilihat bahwa rule yang dihasilkan lebih kompleks, yaitu dua atau tiga kondisi per rule. Dari rule set tersebut, dapat dilihat terdapat beberapa fitur SNP lain selain max.qual.minor yang digunakan sebagai penentu hasil klasifikasi, misalnya allele.balance (keseimbangan alel) dan total.depth (kedalaman penjajaran).
Algoritme Tan menghasilkan rule set yang paling kompleks. Hal ini disebabkan algoritme Tan dapat membangkitkan lebih dari satu rule untuk setiap kelas, yang dapat dilihat dari hasil percobaan bahwa terdapat 2 rule untuk kelas false (selain bagian ELSE yang merupakan kelas default). Adanya lebih dari satu rule ini digunakan untuk mensimulasikan fungsi OR, karena algoritme Tan hanya menggunakan fungsi logika AND dan NOT di dalam rule yang dihasilkannya (Tan et al. 2002).
Selain karena adanya lebih dari satu rule untuk setiap kelas, fungsi fitness pada algoritme Tan juga tidak memasukkan unsur kompleksitas atau ukuran rule, sehingga ukuran individu rule dapat terus membesar atau dikenal dengan istilah bloating (Espejo et al. 2010). Namun demikian, pada library JCLEC yang digunakan telah ditetapkan ukuran rule maksimum individu yang dapat dibangkitkan sehingga ukuran individu tidak terlalu besar.
Rule hasil algoritme Tan juga memiliki redundansi, yaitu pada bagian ELSE IF pertama yang mengandung kondisi:
(max.qual.minor IN [59.879, 13.588]) AND (max.qual.minor OUT [38.760 13.588])
Kedua kondisi tersebut memiliki syarat yang beririsan sehingga dapat digabungkan menjadi (max.qual.minor IN [38.760, 59.879]). Selain itu, operator-operator NOT dapat diringkas dengan membalik operator-operator perbandingan (misalnya
„<‟ menjadi „>=‟) atau menerapkan hukum De Morgan untuk operator logika.
Perbandingan Waktu Eksekusi Algoritme
Perbandingan waktu eksekusi ketiga algoritme disajikan pada Gambar 14. Dari grafik tersebut, dapat dilihat bahwa algoritme Bojarczuk memiliki waktu eksekusi yang paling singkat, yaitu 30.8 menit. Hal ini disebabkan algoritme Bojarczuk melakukan optimasi pada seluruh kelas sekaligus. Sebaliknya,
23 algoritme yang melakukan optimasi pada masing-masing kelas secara terpisah (De Falco dan Tan), waktu eksekusinya lebih lama karena pada masing-masing kelas harus dilakukan optimasi untuk menemukan rule terbaik.
Algoritme Tan memiliki waktu eksekusi paling lama, yaitu 509.7 menit atau sekitar 8 jam. Hal ini disebabkan algoritme Tan perlu menentukan beberapa rule sekaligus untuk setiap kelas. Selain itu, terdapat mekanisme tambahan untuk seleksi individu yang disebut dengan token competition untuk memilih rule sedemikian rupa sehingga tidak ada rule yang redundan dari beberapa rule untuk suatu kelas tertentu (Tan et al. 2002).
Gambar 14 Perbandingan waktu eksekusi algoritme
Dari perbandingan hasil pembangkitan rule dan waktu eksekusi, dapat dilihat bahwa algoritme Bojarczuk memiliki waktu eksekusi paling singkat dan rule set paling sederhana, dan algoritme De Falco memiliki waktu eksekusi sedang dan rule set dengan kompleksitas sedang. Sementara itu, algoritme Tan memiliki waktu eksekusi paling lama sekaligus rule set yang paling kompleks.
Klasifikasi dengan Rule Hasil Optimasi GP Metrik Evaluasi
Evaluasi hasil klasifikasi dilakukan berdasarkan confusion matrix seperti pada Gambar 15. Seluruh kandidat SNP hasil klasifikasi dikelompokkan menjadi empat jenis: true positive, yaitu true SNP yang benar diidentifikasi sebagai true; false positive, yaitu false SNP namun diidentifikasi sebagai true; false negative, yaitu true SNP namun diidentifikasi sebagai false; dan true negative, yaitu false SNP yang benar diidentifikasi sebagai false.
Gambar 15 Confusion matrix untuk klasifikasi dua kelas
0 100 200 300 400 500 600
Tan De Falco Bojarczuk
Waktu eksekusi (menit)
Perbandingan Waktu Eksekusi
TP FN FP TN True False True False Kelas diprediksi Kela s ak tu al TP : true positive FP : false positive FN : false negative TN : true negative
24
Dari keempat kelompok tersebut, dapat diturunkan beberapa metrik untuk evaluasi hasil klasifikasi. Metrik-metrik yang digunakan sebagai berikut (He dan Garcia 2009):
1 Akurasi
Akurasi adalah perbandingan jumlah data yang diklasifikasikan benar dengan jumlah seluruh data. Metrik akurasi kurang baik untuk kasus distribusi kelas yang tidak seimbang. Akurasi dihitung dengan persamaan:
Akurasi= + ++ +
2 Sensitivity
Sensitivity, disebut juga recall atau true positive rate, adalah perbandingan jumlah kelas true yang diklasifikasikan benar dengan jumlah seluruh kelas true. Sensitivity dapat disebut juga sebagai akurasi untuk kelas true. Sensitivity dihitung dengan persamaan:
ens t v ty= +
3 Specificity
Specificity adalah perbandingan jumlah kelas false yang diklasifikasikan benar dengan jumlah seluruh kelas false. Specificity dapat disebut juga sebagai akurasi untuk kelas false. Specificity dihitung dengan persamaan:
ec f c ty= +
4 Precision
Precision, disebut juga positive predictive value (PPV), adalah perbandingan jumlah kelas true yang diklasifikasikan benar dengan jumlah seluruh data yang diklasifikasikan sebagai true. Precision dihitung dengan persamaan:
ec s n= + Algoritme Bojarczuk
Hasil evaluasi algoritme Bojarczuk pada seluruh percobaan dengan data pelatihan (Gm18) dan data pengujian (Gm01) disajikan pada Tabel 6. Dari tabel tersebut, diketahui bahwa akurasi keseluruhan berkisar antara 81–87%. Akurasi untuk kelas true (sensitivity) memiliki nilai berkisar antara 89–93%, yang cenderung lebih besar dari kelas false (specificity) yang berkisar antara 80–87%.
Hasil tersebut menunjukkan bahwa classifier mampu mengidentifikasi true SNP dengan cukup baik walaupun dengan rule yang sederhana. Sementara itu, nilai precision rendah, hanya berkisar antara 27–35%, yang berarti terdapat banyak false positive, yaitu false SNP yang diidentifikasi sebagai true SNP.
25 Tabel 6 Hasil klasifikasi dengan algoritme Bojarczuk
Percobaan Data evaluasi Metrik (%)
Akurasi Sensitivity Specificity Precision
B1 Gm18 84.65 90.43 84.09 35.78 Gm01 87.95 89.80 87.83 31.54 B2 Gm18 83.17 93.13 82.20 33.90 Gm01 86.51 92.62 86.13 29.42 B3 Gm18 82.47 93.97 81.34 33.05 Gm01 85.82 93.57 85.34 28.49 B4 Gm18 81.82 94.56 80.57 32.31 Gm01 85.16 94.19 84.60 27.63 B5 Gm18 82.47 93.97 81.34 33.05 Gm01 85.82 93.57 85.34 28.49 B6 Gm18 83.17 93.13 82.20 33.90 Gm01 86.51 92.62 86.13 29.42 B7 Gm18 82.47 93.97 81.34 33.05 Gm01 85.82 93.57 85.34 28.49 B8 Gm18 84.65 90.43 84.09 35.78 Gm01 87.95 89.80 87.83 31.54 B9 Gm18 83.17 93.13 82.20 33.90 Gm01 86.51 92.62 86.13 29.42 Algoritme De Falco
Hasil evaluasi algoritme De Falco pada seluruh percobaan dengan data pelatihan (Gm18) dan data pengujian (Gm01) disajikan pada Tabel 7. Jika dibandingkan dengan algoritme Bojarczuk, hasil dari algoritme De Falco memiliki akurasi keseluruhan yang lebih tinggi, yaitu sekitar 92% untuk data latih dan 95% untuk data uji.
Namun demikian, jika dilihat akurasi per kelas, didapati bahwa akurasi kelas true atau nilai sensitivity-nya rendah (berkisar antara 32–49%), sedangkan akurasi kelas false atau nilai specificity-nya tinggi (berkisar antara 97–98%). Hal ini disebabkan fungsi fitness pada algoritme De Falco yang hanya menghitung jumlah data yang diklasifikasikan dengan benar seperti halnya metrik akurasi, tanpa melihat keseimbangan distribusi kelasnya. Sebagai akibatnya, karena kelas false merupakan kelas mayoritas, maka classifier dari algoritme De Falco hanya baik hasilnya pada kelas false.
Nilai precision pada hasil algoritme De Falco lebih besar dari hasil algoritme Bojarczuk, yaitu berkisar antara 60–66%. Hal ini selaras dengan tingginya nilai specificity yang berarti jumlah false positive tidak terlalu banyak. Tetapi, rendahnya nilai sensitivity juga berarti bahwa banyak true SNP yang tidak berhasil diidentifikasi.
26
Tabel 7 Hasil klasifikasi dengan algoritme De Falco
Percobaan Data evaluasi Metrik (%)
Akurasi Sensitivity Specificity Precision
F1 Gm18 92.37 42.56 97.26 60.34 Gm01 95.05 38.64 98.57 62.74 F2 Gm18 92.56 49.83 96.75 60.08 Gm01 95.16 46.90 98.17 61.55 F3 Gm18 92.54 40.27 97.66 62.83 Gm01 95.11 36.55 98.77 64.95 F4 Gm18 92.40 42.31 97.32 60.72 Gm01 95.11 38.81 98.62 63.74 F5 Gm18 92.44 42.66 97.32 60.94 Gm01 95.08 38.92 98.59 63.22 F6 Gm18 92.46 36.65 97.93 63.43 Gm01 95.08 32.85 98.97 66.53 F7 Gm18 92.51 36.91 97.96 63.94 Gm01 95.13 35.28 98.87 66.08 F8 Gm18 92.45 42.84 97.32 61.01 Gm01 95.09 39.35 98.57 63.22 F9 Gm18 92.44 44.20 97.17 60.48 Gm01 95.08 40.28 98.50 62.66 Algoritme Tan
Hasil evaluasi algoritme Tan pada seluruh percobaan dengan data pelatihan (Gm18) dan data pengujian (Gm01) disajikan pada Tabel 8. Dapat dilihat bahwa hasil dari algoritme Tan secara umum mirip dengan hasil dari algoritme Bojarczuk, baik dalam hal akurasi keseluruhan (83–87%), sensitivity (90–94%), specificity (82–87%), serta precision (28–36%). Hal ini disebabkan kemiripan fungsi fitness pada kedua algoritme yang keduanya menggunakan faktor sensitivity dan specificity yang dimaksimumkan.
Hasil ini menunjukkan bahwa rule set yang dibangun dengan algoritme Tan mampu mengidentifikasi true SNP dengan cukup baik (sensitivity tinggi), namun masih terdapat banyak false SNP yang diidentifikasi sebagai true (precision rendah). Nilai precision 30% dapat diartikan bahwa dari seluruh SNP yang diidentifikasi sebagai true, hanya 30% yang benar-benar true, sedangkan sisanya sebanyak 70% merupakan false positive. Nilai precision yang rendah ini diakibatkan oleh distribusi kelas yang tidak seimbang.
Dari kemiripan hasil tersebut dapat dilihat juga bahwa pada kasus identifikasi SNP kedelai ini, kinerja dari rule set kompleks hasil algoritme Tan dapat didekati dengan rule set yang lebih sederhana seperti hasil algoritme Bojarczuk. Pada kasus demikian, prinsip cca ’s az dapat diterapkan dengan memilih model yang lebih sederhana (Espejo et al. 2010).
27 Tabel 8 Hasil klasifikasi dengan algoritme Tan
Percobaan Data evaluasi Metrik (%)
Akurasi Sensitivity Specificity Precision
T1 Gm18 83.10 93.20 82.10 33.80 Gm01 86.44 92.71 86.05 29.32 T2 Gm18 84.67 91.32 84.02 35.90 Gm01 87.70 90.67 87.51 31.19 T3 Gm18 84.15 92.60 83.32 35.25 Gm01 86.79 92.08 86.46 29.80 T4 Gm18 82.41 94.02 81.27 32.99 Gm01 85.77 93.64 85.28 28.42 T5 Gm18 83.77 91.98 82.96 34.61 Gm01 87.11 91.42 86.84 30.24 T6 Gm18 83.69 92.49 82.83 34.56 Gm01 87.03 91.95 86.73 30.19 T7 Gm18 84.45 92.00 83.71 35.63 Gm01 87.34 91.48 87.08 30.65 T8 Gm18 83.81 92.30 82.98 34.71 Gm01 87.15 91.78 86.86 30.36 T9 Gm18 85.02 92.30 84.30 36.57 Gm01 87.45 91.86 87.17 30.90
Sensitivity dan Specificity
Perbandingan sensitivity dan specificity dari seluruh percobaan dengan menggunakan data pengujian Gm01 digambarkan pada Gambar 16. Ukuran dari tiap lingkaran pada grafik tersebut menunjukkan precision dari tiap percobaan relatif terhadap percobaan lain.
Dari grafik tersebut, dapat dilihat bahwa algoritme Bojarczuk dan algoritme Tan memberikan hasil yang serupa dalam hal sensitivity dan specificity seperti yang telah disebutkan. Sementara itu, algoritme De Falco memberikan specificity yang lebih tinggi, namun sensitivity-nya jauh lebih rendah dari kedua algoritme yang lain. Nilai sensitivity yang rendah dapat berakibat pada banyaknya true SNP yang tidak berhasil diidentifikasi sehingga tidak dapat digunakan untuk analisis selanjutnya (untuk pemanfaatan SNP dalam studi genetika).
Dari segi precision, algoritme De Falco memiliki nilai precision sekitar dua kali lipat dari algoritme Bojarczuk dan Tan yang ditandai dengan ukuran lingkaran yang juga dua kali lipatnya. Hal ini terkait dengan algoritme De Falco yang kinerjanya hanya baik pada kelas false (kelas mayoritas) sehingga specificity serta precision-nya lebih tinggi.
28
Gambar 16 Plot sensitivity dan specificity dari seluruh percobaan
Modifikasi Fungsi Fitness
Algoritme De Falco menghasilkan rule yang tidak terlalu kompleks seperti algoritme Tan dan tidak terlalu sederhana seperti algoritme Bojarczuk. Namun demikian, fungsi fitness-nya membuat classifier yang dihasilkannya hanya baik dalam mengidentifikasi kelas false. Oleh karena itu, fungsi fitness algoritme De Falco dimodifikasi agar menghasilkan kinerja yang lebih baik.
Tabel 9 Kombinasi percobaan dengan fungsi fitness modifikasi Fungsi fitness Kode
percobaan Peluang crossover Jumlah populasi Sensitivity dan specificity FS1 0.7 50 FS2 0.7 100 FS3 0.7 200 FS4 0.8 50 FS5 0.8 100 FS6 0.8 200 FS7 0.9 50 FS8 0.9 100 FS9 0.9 200 Sensitivity dan precision FP1 0.7 50 FP2 0.7 100 FP3 0.7 200 FP4 0.8 50 FP5 0.8 100 FP6 0.8 200 FP7 0.9 50 FP8 0.9 100 FP9 0.9 200 80.00 84.00 88.00 92.00 96.00 100.00 0.00 20.00 40.00 60.00 80.00 100.00 S p ec if ic it y (%) Sensitivity (%) Bojarczuk De Falco Tan
29 Sama seperti percobaan-percobaan sebelumnya, pada percobaan dengan fungsi fitness baru diterapkan tiga jenis peluang crossover (0.7, 0.8, dan 0.9) serta tiga jenis jumlah populasi (50, 100, dan 200) dengan kombinasi seperti ditampilkan pada Tabel 9. Jumlah generasi maksimum yang digunakan sebanyak 100 generasi. Setiap percobaan dilakukan perulangan lima kali untuk diambil hasil fitness yang terbaik.
Fungsi Fitness Berbasis Sensitivity dan Specificity
Untuk menghasilkan sensitivity dan specificity yang tinggi, fungsi fitness dimodifikasi menjadi perkalian antara sensitivity dan specificity. Fungsi ini mirip dengan fungsi fitness algoritme Bojarczuk, namun tanpa adanya faktor simplicity. Fungsi tersebut didefinisikan sebagai berikut:
Maksimumkan Fss = Sensitivity × Specificity
Grafik nilai fitness disajikan pada Gambar 17. Berbeda dengan fungsi fitness asli algoritme De Falco, fungsi ini bertujuan memaksimumkan sehingga semakin besar nilainya maka semakin baik. Dari grafik tersebut, dapat dilihat bahwa seluruh percobaan konvergen menuju nilai fitness antara 0.76–0.77. Terdapat sedikit fluktuasi seperti algoritme De Falco pada Gambar 12, namun fitness dapat menuju kekonvergenan di sekitar generasi ke-60. Secara umum hasil terbaik didapatkan dari percobaan FS3 dengan nilai fitness akhir sebesar 0.777.
Gambar 17 Grafik nilai fitness algoritme De Falco dengan fungsi fitness sensitivity dan specificity
Fungsi Fitness Berbasis Sensitivity dan Precision
Karena pada percobaan-percobaan sebelumnya didapatkan nilai precision yang rendah, maka dibuat fungsi fitness baru dengan harapan dapat memaksimumkan nilai precision sekaligus sensitivity. Fungsi ini merupakan perkalian antara sensitivity dan precision yang didefinisikan sebagai berikut: Maksimumkan Fpr = Sensitivity × Precision
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 10 20 30 40 50 60 70 80 90 100 F itn ess m ak sim u m Generasi FS1 FS2 FS3 FS4 FS5 FS6 FS7 FS8 FS9
30
Gambar 18 Grafik nilai fitness algoritme De Falco dengan fungsi fitness sensitivity dan precision
Grafik nilai fitness disajikan pada Gambar 18. Dari seluruh percobaan, didapatkan bahwa nilai fitness tidak cepat konvergen dan lebih bervariasi dengan fitness akhir berada pada rentang 0.33–0.39. Nilai fitness akhir ini masih cukup rendah yang menunjukkan bahwa pada kasus klasifikasi SNP dengan distribusi kelas yang tidak seimbang ini, algoritme GP masih cukup sulit mendapatkan nilai precision yang tinggi. Secara umum hasil terbaik didapatkan oleh percobaan FP3 dengan nilai fitness akhir 0.390.
Rule Set Hasil Fungsi Fitness Modifikasi
Rule set yang dihasilkan dengan fungsi fitness yang dimodifikasi disajikan pada Tabel 10. Rule set yang ditampilkan hanya yang memiliki fitness terbaik dari masing-masing fungsi modifikasi, yaitu FS3 dan FP3. Rule set ini secara umum memiliki kompleksitas yang serupa dengan algoritme De Falco asli (lihat Tabel 5), namun dengan komposisi yang berbeda.
Tabel 10 Rule set algoritme De Falco dengan fungsi fitness modifikasi Percobaan Rule set
FS3 IF ((NOT ((total.depth >= 47.256) OR
(NOT (max.qual.minor >= 58.341)))) AND (max.qual.major >= 46.184)) THEN (class = true) ELSE IF (NOT ((max.qual.minor > 58.933) AND
(max.qual.major >= 48.921) AND (total.depth < 63.330))) THEN (class = false)
ELSE (class = false)
FP3 IF ((max.qual.minor > 59.699) AND (total.depth <= 82.149) AND (NOT (allele.balance < 0.067))) THEN (class = true) ELSE IF ((total.depth > 60.973) OR (max.qual.minor <=
60.101) OR (NOT (allele.balance IN [0.048, 0.930]))) THEN (class = false)
ELSE (class = false)
0 0.1 0.2 0.3 0.4 0.5 0.6 0 10 20 30 40 50 60 70 80 90 100 F it n ess m ak sim u m Generasi FP1 FP2 FP3 FP4 FP5 FP6 FP7 FP8 FP9
31
Hasil Klasifikasi dengan Fungsi Fitness Modifikasi
Fungsi fitness modifikasi yang digunakan memberi pengaruh pada hasil evaluasi klasifikasi. Hasil klasifikasi dengan menggunakan rule set yang dioptimasi dengan fungsi Fss memberikan nilai sensitivity rata-rata 91.43% dari seluruh percobaan, dan nilai specificity rata-ratanya sebesar 85.92%. Hasil evaluasi secara rinci untuk Fss dapat dilihat pada Tabel 11. Sementara itu, rule set yang dioptimasi dengan fungsi Fpr memberikan hasil yang berkebalikan, yaitu nilai sensitivity rata-rata sebesar 72.50% dan specificity 93.43%. Hasil evaluasi secara rinci untuk Fpr dapat dilihat pada Tabel 12. Nilai-nilai tersebut adalah hasil pengujian menggunakan data pengujian Gm01.
Tabel 11 Hasil klasifikasi dengan fungsi fitness Fss
Percobaan Data evaluasi Metrik (%)
Akurasi Sensitivity Specificity Precision
FS1 Gm18 85.75 90.34 85.30 37.60 Gm01 88.25 89.76 88.16 32.12 FS2 Gm18 83.92 93.08 83.02 34.96 Gm01 86.69 92.62 86.32 29.71 FS3 Gm18 84.58 92.84 83.77 35.93 Gm01 86.97 92.39 86.63 30.14 FS4 Gm18 83.17 93.13 82.20 33.90 Gm01 86.51 92.62 86.13 29.42 FS5 Gm18 85.22 91.73 84.59 36.85 Gm01 87.63 91.24 87.41 31.14 FS6 Gm18 84.51 92.98 83.68 35.84 Gm01 86.92 92.54 86.57 30.08 FS7 Gm18 88.77 86.64 88.98 43.53 Gm01 91.83 85.11 92.25 40.66 FS8 Gm18 85.13 91.80 84.47 36.70 Gm01 87.55 91.33 87.31 31.00 FS9 Gm18 84.27 93.06 83.41 35.49 Gm01 86.80 92.60 86.44 29.89
Dari hasil tersebut, dapat dilihat bahwa fungsi Fss memiliki akurasi yang cenderung lebih besar pada kelas true, sedangkan fungsi Fpr memiliki akurasi yang cenderung lebih besar pada kelas false.
Sementara itu, jika dilihat dari metrik precision, hasil yang menggunakan fungsi Fss memiliki nilai precision yang lebih rendah dibandingkan dengan hasil yang menggunakan fungsi Fpr, dengan rata-rata nilai precision masing-masing sebesar 34.16% dan 49.02%. Hal ini tergambar dari plot pada Gambar 19. Pada