📩 SMS Spam Detection with NLP
Bu projede, SMS mesajlarının spam olup olmadığını sınıflandıran bir makine öğrenmesi modeli geliştirildi.
Model, temel metin ön işleme adımlarını, TF-IDF vektörleştirme yöntemini ve Naive Bayes algoritmasını kullanmaktadır.
📊 Kullanılan Veri Seti
- SMS Spam Collection Dataset
spam.csvdosyası, projenin kök dizininde yer almaktadır.
⚙️ Proje Adımları
Veri Yükleme ve Temizleme
- Gereksiz sütunlar çıkarıldı.
- Mesajlar temizlendi ve küçük harfe çevrildi.
Özellik Çıkarımı
- Metinler TF-IDF ile vektörleştirildi.
Model Eğitimi
- Naive Bayes algoritması ile eğitim yapıldı.
- Model, %95 doğruluk oranına ulaştı.
Tahmin Uygulaması (Streamlit)
- Kullanıcıdan SMS alınıp modelle sınıflandırma yapıldı.
Anahtar Kelime Çıkarımı
- Mesajlardan en sık geçen anahtar kelimeler tespit edildi ve görselleştirildi.
✅ Sonuçlar
- Model doğruluk oranı: %95
- En sık geçen anahtar kelimeler grafiklerle gösterildi.
- Basit ve hızlı çalışan bir web arayüz ile kullanıcı mesajları test edebilir.
🚀 Nasıl Çalıştırılır?
- Gerekli kütüphaneleri yükleyin:
pip install -r requirements.txt
Streamlit uygulamasını başlatın: streamlit run app.py Açılan web arayüzden SMS mesajınızı girin ve sınıflandırmayı görün.
🔐 Örnek SPAM Mesajları Aşağıdaki mesajlar büyük ihtimalle "SPAM" olarak sınıflandırılacaktır:
"Congratulations! You've won a free ticket to Bahamas. Text WIN to 12345 now!"
"Claim your free prize now by clicking this link: www.scamlink.com"
"URGENT! You have won a $1000 gift card. Call now!"
"Get cheap loans instantly. Apply now without any credit check!"
"Free ringtone offer just for you! Send 'TONE' to 55555!"
🧰 Kullanılan Kütüphaneler pandas
numpy
scikit-learn
joblib
streamlit
matplotlib
seaborn
🤖 Model Paylaşımı Eğitimli modeli Hugging Face üzerinde incelemek ve kullanmak için aşağıdaki bağlantıyı ziyaret edebilirsiniz:
🔗 Hugging Face – yazodi/sms-spam-detector
📝 Notlar Proje eğitim amaçlıdır.
Farklı modeller ve ön işleme teknikleri denenerek geliştirme yapılabilir.