Naive Bayes Yöntemi ile Spam Mail Teşhisi 2 17574006-Kübra KURNAZ Yıldız Teknik Üniversitesi, Elektrik-Elektronik Fakültesi, Bilgisayar Mühendisliği Bölümü, Tezsiz Yüksek Lisans Bilgi Teknolojileri Özet Spam mail teşhisi için kullanılan veritabanından [1] Naive Bayes, K-En Yakın Komşuluk, Destek Vektör Makineleri ve Yapay Sinir Ağları yöntemleri ile; verileri 10-fold cross validation, %40 eğitim-%60 test, %60 eğitim-%40 test verileri olmak üzere ayırarak açık kaynak kodlu bir sınıflandırma aracı olan WEKA aracı ile sınıflandırma yapılmış, test ve eğitim sayılarına ve yöntem çeşitliliğine göre başarı ölçütü çıkarılmaya çalışılmıştır. 1. Giriş Hayatta karşılaşılan zorlukları yenebilmek için geçmişteki tecrübelerimize, bilgi birikimlerimize ihtiyaç duyarız. Bu yüzden tarih boyunca bunları saklayacak ve gerektiğinde kullanmayı sağlayacak teknikler geliştirmeye çalışılmıştır. Geleneksel veri kaydetme aracı olan kâğıdın yerini gün geçtikçe hızlanan ve ucuzlayan elektronik kayıt ortamlarına bırakması ile birlikte, yeryüzünde çok büyük veriler oluşmaya başlamıştır. Yaşadığımız her saniye bu verilere yenileri eklenmektedir. Mevcut verilerden bilinmeyen verileri tahmin etme işlemi de günümüzde artık çok önemli rol oynamaktadır. Matematiksel ve istatistiksel yöntemler kullanarak mevcut verilerden çıkarımlar yapan, bu çıkarımlarla bilinmeyene dair tahminlerde bulunan yöntem paradigması da Makine Öğrenmesi adını alır. Makine Öğrenmesinde, eğitmenli öğrenme, eğitmensiz öğrenme ve ödül-ceza ile öğrenme yöntemleri mevuttur. Bu çalışmamızda, öğrenme modeli, bir eğitmen tarafından verilmiş örnek girdiler ve istenen çıktılarla temsil edilir ve amacı da girdileri çıktılara eşleştiren genel bir kuralı öğrenmektedir. Eğitmenli öğrenme yöntemlerinden Naive Bayes, K-En Yakın Komşuluk, Destek Vektör Makineleri ve Yapay Sinir Ağları yönemlerinin çalışmamızda kullanılması amaçlanmıştır. 2. Uygulama 2.1 Naive Bayes Sınıflandırması 1
Cross validation 10 için yapılan naive Bayes sınıflandırmasında başarı oranı %79.28 çıkmış, spam olan maillerin 1725 tanesi doğru sınıflanmış, spam olmayan maillerin de 1923 tanesi doğru sınıflanmıştır. Şekil 1. 10-fold Cross Validation ile Sınıflandırma Başarı Oranı Şekil 2.10-fold Cross Validation ile Confusion Matris Accuracy Precision Recall A 0.95 0.66 0.951 B 0.69 0.956 0.69 Tablo1.Accuracy, Precision, Recall Oranları Verilerin %40 ının eğitim, %60 ının test olarak kullanıldığı şekliyle sınıflandırma sonucunda %78.12 başarı elde edilmiştir. Şekil 3. %40 Eğitim %60 Test Veri Seti ile Sınıflandırma Başarı Oranı 2
Şekil 4. %40 Eğitim %60 Test Veri Seti Confusion Matris Accuracy Precision Recall A 0.93 0.648 0.93 B 0.68 0.937 0.69 Tablo2.Accuracy, Precision, Recall Oranları Verilerin %60 ının eğitim, %40 ının test olarak kullanıldığı şekliyle sınıflandırma sonucunda da %77.12 başarı elde edilmiştir. Şekil 5. %60 Eğitim %40 Test Veri Seti ile Sınıflandırma Başarı Oranı Şekil 6. %60 Eğitim %40 Test Veri Seti ile Confusion Matris Accuracy Precision Recall A 0.94 0.64 0.944 B 0.67 0.951 0.67 Tablo3.Accuracy, Precision, Recall Oranları 3
2.2 K-En Yakın Komşuluk Sınıflandırması K- En Yakım Komşuluk sınıflandırmasında k=1 alındığında cross validation 10 seçildiğindeki başarı yüzdesi %90.76 dır. Şekil 7. 10-fold Cross Validation ile Sınıflandırma Başarı Oranı ve Confusion Matris Accuracy Precision Recall A 0.86 0.884 0.863 B 0.92 0.912 0.926 Tablo 4.Accuracy, Precision, Recall Oranları 4
K=1 iken, verilerin %40 ının eğitim, %60 ının test olarak kullanıldığındaki başarı yüzdesi de confusion matrix de aşağıdaki gibidir. Şekil 8. %40 Eğitim %60 Test Veri Seti ile Sınıflandırma Başarı Oranı ve Confusion Matris K=1 iken, verilerin %60 ının eğitim, %40 ının test olarak kullanıldığındaki başarı yüzdesi de confusion matrix de aşağıdaki gibidir. Şekil 9. %60 Eğitim %40 Test Veri Seti ile Sınıflandırma Başarı Oranı ve Confusion Matris K=3 alındığında cross validation 10 seçildiğindeki başarı yüzdesi %90.11 dir. 5
Şekil 10. 10-fold Cross Validation ile ile Sınıflandırma Başarı Oranı ve Confusion Matris K=3 iken, verilerin %40 ının eğitim, %60 ının test olarak kullanıldığındaki başarı yüzdesi de confusion matrix de aşağıdaki gibidir. Şekil 11. %40 Eğitim %60 Test Veri Seti ile Sınıflandırma Başarı Oranı ve Confusion Matris Accuracy Precision Recall A 0.86 0.887 0.865 B 0.92 0.915 0.929 Tablo 5.Accuracy, Precision, Recall Oranları 6
K=3 iken, verilerin %60 ının eğitim, %40 ının test olarak kullanıldığındaki başarı yüzdesi de confusion matrix de aşağıdaki gibidir. Şekil 12. %60 Eğitim %40 Test Veri Seti ile Sınıflandırma Başarı Oranı ve Confusion Matris K=5 alındığında cross validation 10 seçildiğindeki başarı yüzdesi %90.11 dir. Şekil 13. 10-fold Cross Validation ile Sınıflandırma Başarı Oranı ve Confusion Matris 7
Accuracy Precision Recall A 0.86 0.88 0.86 B 0.92 0.91 0.92 Tablo 6.Accuracy, Precision, Recall Oranları K=5 iken, verilerin %40 ının eğitim, %60 ının test olarak kullanıldığındaki başarı yüzdesi de confusion matrix de aşağıdaki gibidir. Şekil 14. %40 Eğitim %60 Test Veri Seti ile Sınıflandırma Başarı Oranı ve Confusion Matris K=5 iken, verilerin %60 ının eğitim, %40 ının test olarak kullanıldığındaki başarı yüzdesi de confusion matrix de aşağıdaki gibidir. 8
Şekil 14. %60 Eğitim %40 Test Veri Seti ile Sınıflandırma Başarı Oranı ve Confusion Matris 2.3 Destek Vektör Makinaları (SVM) 2.3.1 Linear Destek Vektör Makinelerinin Linear Kernalı ile 10 cross validation ile sınıflandırma yapıldığında %88.93 başarı elde edilmiş, spam maillerden 1674 tanesi, spam olmayan maillerin ise 2418 tanesi doğru sınıflanmıştır. Şekil 15. 10-fold Cross Validation ile Sınıflandırma Başarı Oranı Şekil 16.10-fold Cross Validation ile Confusion Matris 9
Accuracy Precision Recall A 0.92 0.81 0.92 B 0.86 0.94 0.86 Tablo 7.Accuracy, Precision, Recall Oranları Verilerin %40 ının eğitim, %60 ının test olarak kullanılması ile de aşağıdaki sonuçlar elde edilmiştir. Şekil 17. %40 Eğitim %60 Test Veri Seti ile Sınıflandırma Başarı Oranı Şekil 18. %40 Eğitim %60 Test Veri Seti ile Confusion Matris Verilerin %60 ının eğitim, %40 ının test olarak kullanılması ile de aşağıdaki sonuçlar elde edilmiştir. Şekil 19. %60 Eğitim %40 Test Veri Seti ile ile Sınıflandırma Başarı Oranı Şekil 20. %60 Eğitim %40 Test Veri Seti ile Confusion Matris 10
2.3.2 Polynomial Destek Vektör Makinelerinin Polynomial Kernalı ile 10 cross validation ile sınıflandırma yapıldığında %47.09 başarı elde edilmiş, spam maillerden 1259 tanesi, spam olmayan maillerin ise 908 tanesi doğru sınıflanmıştır. Şekil 21. 10-fold Cross Validation ile Sınıflandırma Başarı Oranı Şekil 22. 10-fold Cross Validation ile Confusion Matris Accuracy Precision Recall A 0.69 0.40 0.691 B 0.32 0.62 0.32 Tablo 8.Accuracy, Precision, Recall Oranları Verilerin %40 ının eğitim, %60 ının test olarak kullanılması ile de aşağıdaki sonuçlar elde edilmiştir. Şekil 23. %40 Eğitim %60 Test Veri Seti ile Sınıflandırma Başarı Oranı 11
Şekil 24. %40 Eğitim %60 Test Veri Seti ile Confusion Matris Verilerin %60 ının eğitim, %40 ının test olarak kullanılması ile de aşağıdaki sonuçlar elde edilmiştir. Şekil 25. %60 Eğitim %40 Test Veri Seti ile Sınıflandırma Başarı Oranı Şekil 26. %60 Eğitim %40 Test Veri Seti ile Confusion Matris 2.3.3 Gaussian Destek Vektör Makinelerinin Gaussian Kernalı ile 10 cross validation ile sınıflandırma yapıldığında %83.65 başarı elde edilmiş, spam maillerden 1469 tanesi, spam olmayan maillerin ise 2380 tanesi doğru sınıflanmıştır. Şekil 27. 10-fold Cross Validation ile Sınıflandırma Başarı Oranı 12
Şekil 2. 10-fold Cross Validation ile Confusion Matris Accuracy Precision Recall A 0.81 0.73 0.81 B 0.85 0.87 0.85 Tablo 9.Accuracy, Precision, Recall Oranları Verilerin %40 ının eğitim, %60 ının test olarak kullanılması ile de aşağıdaki sonuçlar elde edilmiştir. Şekil 28. %40 Eğitim %60 Test Veri Seti ile Sınıflandırma Başarı Oranı Şekil 29. %60 Eğitim %40 Test Veri Seti ile Confusion Matris Verilerin %60 ının eğitim, %40 ının test olarak kullanılması ile de aşağıdaki sonuçlar elde edilmiştir. Şekil 30. %60 Eğitim %40 Test Veri Seti ile Sınıflandırma Başarı Oranı 13
Şekil 31. %60 Eğitim %40 Test Veri Seti ile Confusion Matris 2.4 Yapay Nöron Ağları (ANN) Yapay Sinir Ağlarında 3,5,7 nin hidden layer olarak seçildiği ve cross validation 10 seçildiği sınıflandırmada elde edilen başarı yüzdesi %91.24 tür. 1626 tane spam mail, 2572 tane spam olmayan mail doğru sınıflanmıştır. Şekil 32. 10-fold Cross Validation ile Sınıflandırma Başarı Oranı Şekil 33. 10-fold Cross Validation ile Confusion Matris Accuracy Precision Recall A 0.87 0.91 0.87 B 0.93 0.91 0.93 Tablo 10.Accuracy, Precision, Recall Oranları Verilerin %40 ının eğitim, %60 ının test olarak kullanıldığında elde edilen başarı sonucu ve confusion matrix aşağıdaki gibidir. 14
Şekil 34. %40 Eğitim %60 Test Veri Seti ile Sınıflandırma Başarı Oranı Şekil 35. %60 Eğitim %40 Test Veri Seti ile Confusion Matris Verilerin %60 ının eğitim, %40 ının test olarak kullanıldığında elde edilen başarı sonucu ve confusion matrix aşağıdaki gibidir. Şekil 36. %60 Eğitim %40 Test Veri Seti ile Sınıflandırma Başarı Oranı Şekil 37. %60 Eğitim %40 Test Veri Seti ile Confusion Matris 3. Sonuç Sınıflandırma TP FP Başarı (%) Naive Bayes Cross Validation 10-fold 3648 953 79.28 Naive Bayes Cross %40 Naive Bayes %60 2157 604 78.12 1434 406 77.93 15
K-NN k=1 Cross Validation 10-fold K-NN k=1 %40 K-NN k=1 %60 4176 406 90.76 2390 371 86.56 1630 210 88.57 K-NN k=3 Cross 4146 455 90.11 Validation 10-fold K-NN k=3 %40 2409 352 87.25 K-NN k=3 %60 1638 452 89.02 K-NN k=5 Cross 4157 444 90.34 Validation 10-fold K-NN k=5 %40 2513 251 89.02 K-NN k=5 %60 1639 201 89.07 ANN Cross 4189 412 91.09 Validation 10-fold ANN %40 2537 225 91.887 ANN %60 1709 131 92.88 SVM Linear Cross Validation 10-fold 3849 752 83.65 SVM Linear %40 2518 239 91 SVM Linear %60 1718 122 92 SVM Polynomial 2167 2434 47.09 Cross Validation 10- fold SVM Polynomial 1119 1649 40.52 %40 SVM Polynomial 706 1100 38.36 %60 SVM Gaussian 3849 752 83.65 Cross Validation 10- fold SVM Gaussian %40 2171 598 78.63 SVM Gaussian %60 1516 324 82.39 Tablo 11. Sınıflandırma Yöntemlerine Göre Sonuçlar 16
Spam maillerine ait veri setinin sınıflandırma oranlarını incelediğimizde, tablo 11 de yer alan karşılaştırmaya göre başarı yüzdesinin, cross validation, %40 eğitim- %60 test veri seti ve %60 eğitim- %40 test veri setinden ede edilen başarı %91 ile %92 arasında seyreden Yapay Sinir Ağları yöntemiyle elde edilen sınıflandırmanın daha iyi olduğu görülmektedir. Bunun yanı sıra Destek Vektör Makinelerinin(SVM) Linear kernalında da, aynı koşullarda %91-%92 lere varan başarı elde edilmiştir. Kaynakça [1]. http://archive.ics.uci.edu/ml/datasets/spambase 17