(ID3, C4.5, C5.0), Nave Bayes, SVM dan kNN untuk klasifikasi email Spam dan Non-Spam
Wawan M. Hendayun
UNIVERSITAS LANGLANGBUANA BANDUNG 2013 The geographical distribution of spam sources - in August 2013 Source: www.securelist.com/en/analysis/204792306/Spam_in_August_2013 Spam Statistics for Week ending November 10, 2013 Source: www.trustwave.com/support/labs/spam_statistics.asp Data -------------- ---------------- -------------- ---------------- Selection Preprocessing Transformation Data Mining Interprelation/ Evaluatin Knowledge Target Data Preprocessed Data Transformed Data Patterns Data mining sebagai salah satu tahapan dalam proses Knowledge Discovery Proses Knowledge Discovery in Databases (KDD) Persiapan data/Data Selection, source: UCI Machine Learning Repository http://www.ics.uci.edu/~mlearn/MLRepository.html Pre-processing/ Cleaning: membuang duplikasi data, memeriksa data yang inkonsisten, dan memperbaiki kesalahan pada data. Transformasi Data: mengubahdata kedalam bentuk yang sesuai untuk data mining yaitu merubah dari bentuk numerik menjadi kategori. Analisa data dengan alat bantu Weka 3.6, modul yang digunakan adalah Classify. Perbandingan keenam Algoritma Pengambilan kesimpulan dan evaluasi Kerangka Kerja Studi Literatur Analisis Data Preprocessing penyesuaian data mempelajari kategori Data Penelitian Data Testing ID3 C4.5 Decision Tree Aturan Probabilitas Pengklasifikasian Hasil Klasifikasi Data Klasifikasi Ambil data Transformasi Data WEKA Kesimpulan Analisis Kinerja kNN Cluster C5.0 SVM Statistik Nave Bayes Alat Bantu Studi & Data Set Database spam mail : UCI Machine Learning Repository http://www.ics.uci.edu/~ mlearn/MLRepository.html (sumbangan dari George Forman dari laboratorium Hewlett-Packard (HP). 4601 email, dimana 1813 (39,4 %) adalah spam dan 2788 (60.6 % ) non spam. Langkah Pengujian Pengelompokan data menjadi 10 bagian persentase 25%, 50%, 60%, 65,5%, 70%, 80%, 85,5%, 90%, 95% dan 97,5% den gan jumlah data 1150, 2300, 2761, 3014, 3221, 3682, 3934, 4141, 4371 dan 4486. Pembentukan Confusion Matrix atau tabel penilaian yang digunakan untuk menghitung Precision, Recall dan Accuracy. Dari hasil Precision dan Recall, diperoleh nilai f-Measure dari setiap Algoritma Confusion Matrix Recall Precision berfungsi menghitung persentase false positive dan false negative untuk menemukan informasi didalamnya. Precision (p) jumlah sampel berkatagori positif diklasifikasi benar dibagi dengan total sampel yang diklasisfikasi sebagai sample positif Recall (r) jumlah sampel diklasifikasi positif dibagi dibagi total sampel dalam testing set berkatagori positif. F-measure (f 1 ) adalah harmonic mean dari precision dan recall Accuracy merupakan jumlah yang diklasifikasi secara benar dibagi total sampel testing yang diuji Precision dari Algoritma Jumlah Data Algoritma ID3 C 4.5 C 5.0 Nave Bayes SVM kNN 1150 88.84% 90.47% 91.70% 65.96% 91.87% 86.43% 2300 88.10% 89.98% 91.52% 65.44% 92.24% 83.70% 2761 92.78% 91.10% 91.66% 65.69% 93.13% 82.78% 3014 91.01% 86.10% 90.08% 65.55% 92.62% 82.87% 3221 93.12% 89.98% 91.49% 66.41% 92.37% 83.20% 3681 92.83% 85.66% 88.19% 66.80% 92.14% 82.72% 3934 90.38% 87.30% 91.85% 67.09% 92.15% 83.23% 4141 89.16% 85.45% 88.02% 68.38% 92.51% 81.20% 4371 90.37% 88.36% 91.06% 69.09% 91.14% 77.49% 4486 81.63% 77.99% 81.96% 69.07% 86.35% 74.05% Rata -rata 89.82% 87.24% 89.75% 66.95% 91.65% 81.77%
Kinerja Algoritma - Precision 0,00% 10,00% 20,00% 30,00% 40,00% 50,00% 60,00% 70,00% 80,00% 90,00% 100,00% 1150 2300 2761 3014 3221 3681 3934 4141 4371 4486 P e r s e n t a s e
Jumlah Data Algoritma ID3 C 4.5 C 5.0 Nave Bayes SVM kNN 1150 88.84% 89.28% 89.50% 95.84% 81.62% 86.43% 2300 86.61% 87.85% 88.64% 93.93% 81.55% 84.93% 2761 86.29% 89.51% 89.97% 93.01% 79.85% 83.16% 3014 87.35% 87.19% 87.44% 93.05% 79.90% 82.24% 3221 85.70% 87.66% 87.34% 93.75% 76.56% 82.03% 3681 81.96% 83.39% 84.89% 92.72% 73.38% 78.22% 3934 86.70% 85.31% 83.91% 93.13% 73.22% 76.72% 4141 83.83% 83.47% 82.49% 92.74% 72.30% 74.86% 4371 83.53% 82.08% 81.21% 92.37% 75.49% 70.23% 4486 82.14% 72.85% 65.80% 89.18% 74.48% 65.92% Rata - rata 85.30% 84.86% 84.12% 92.97% 76.84% 78.47% Kinerja Algoritma - Recall 0,00% 20,00% 40,00% 60,00% 80,00% 100,00% 120,00% 1150 2300 2761 3014 3221 3681 3934 4141 4371 4486 P e r s e n t a s e
Recall Algoritma ID3 Algoritma C4.5 Algoritma C5.0 Algoritma Nave Bayes Algoritma SVM Algoritma kNN Accuracy Jumlah Data Algoritma ID3 C 4.5 C 5.0 Nave Bayes SVM kNN 1150 91.13% 92.00% 92.61% 81.62% 89.83% 89.22% 2300 90.30% 91.52% 92.43% 78.48% 90.22% 87.78% 2761 91.96% 92.43% 92.83% 78.12% 89.75% 86.56% 3014 91.57% 89.35% 91.21% 77.87% 89.52% 86.23% 3221 91.80% 91.21% 91.74% 78.67% 88.17% 86.28% 3681 90.27% 87.80% 89.43% 78.70% 86.88% 84.79% 3934 91.00% 89.17% 90.59% 79.00% 86.81% 84.52% 4141 89.57% 87.83% 88.63% 80.15% 86.72% 83.19% 4371 89.96% 88.63% 89.41% 80.62% 87.39% 80.14% 4486 85.62% 81.12% 80.74% 79.92% 85.24% 77.37% Rata - rata 90.32% 89.11% 89.96% 79.32% 88.05% 84.61% Kinerja Algoritma Accuracy Grafik f-measure Kinerja Berdasarkan Use Training Set Kinerja Algoritma - Cross Validation Evaluasi Klasifikasi kinerja berdasarkan Training Set Evaluasi Kinerja Berdasarkan Cross Validation Kinerja Berdasarkan Training Set Kinerja Berdasarkan Cross Validation Klasifikasi Waktu Membangun Model Algoritma
KESIMPULAN DAN SARAN Berdasarkan jumlah data dan cross validation, untuk Decision tree khusus Algoritma ID3 dan C5.0 mempunyai kinerja keseluruhan yang sangat bagus dan lebih dalam melakukan akurasi klasifikasi data, dilihat dari nilai Recall ataupun Accuracy. Algoritma ID3 merupakan algoritma yang terbaik dan akurat dibandingkan kelima algoritma yang lain. Rata rata keberhasilan algoritma Decision Tree (ID3,C4.5, C5.0), SVM dan kNN dalam melaku kan klasifikasi data mencapai akurasi di atas 90%, terkecuali Algoritma Nave Bayes dibawah 80%. KESIMPULAN DAN SARAN Algoritma kNN lebih baik di bandingkan dengan keempat algoritma yang lainya dari segi nilai Precision, Recall, dan Accuracy, dan memiliki waktu yang singkat dalam membangun. Analisis kinerja sebuah algoritma dilakukan berdasarkan kriteria antara lain akurasi, kecepatan komputasi, robustness, skalabilitas dan Interoperabilitas. Pada studi ini hanya menggunakan dua kriteria yaitu berdasarkan akurasi dan kecepatan komputasi. Untuk kelengkapan studi dapat dilanjutkan dengan menggunakan tool yang lain misalnya Rapidminer dan Clementine.