Skip to content

Kane-dylan/SpamShield

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 SpamShield: SMS Spam Detection

🔍 Predict Spam or Not in a Click!

📌 Overview

SpamShield is an AI-powered SMS spam detection model that analyzes incoming messages and predicts whether they are spam 🚨 or safe ✅. Built with Python & Machine Learning, this tool helps keep your inbox clean and spam-free!

🎯 What It Does:

  • Takes an SMS as input 📩
  • Predicts Spam or Not Spam instantly ⚡
  • Uses a robust Machine Learning model for accuracy 🎯
  • Hosted on the web using Streamlit 🌐

📢 Try the Live Demo 👉 SpamShield


🛠️ Tech Stack

🔹 Programming Language: Python 🐍
🔹 ML Libraries: Scikit-learn 🤖, Pandas 📊, NumPy 🔢
🔹 Web Deployment: Streamlit 🚀


Key Features

Data Collection & Preprocessing 🗂️
Exploratory Data Analysis (EDA) 📊
Machine Learning Model Selection 🤖
Web Interface for Predictions 🌍
Deployed & Ready to Use! 🎯


📊 Data Collection & Processing

📌 Dataset Source: Kaggle SMS Spam Collection
📌 5,500+ labeled SMS messages 📨
📌 Preprocessing Steps:

  • Handling missing & duplicate values 🧹
  • Label encoding the "type" column 🏷️
  • Tokenizing text ✂️
  • Removing special characters, stopwords & punctuation 🔍
  • Converting text to lowercase 🔡
  • Stemming words for better feature extraction 🌱

📈 Exploratory Data Analysis (EDA)

We analyzed the dataset using various techniques:
📊 Visualizations: Bar Charts 📊 | Pie Charts 🥧 | Heatmaps 🔥
📜 Word Frequency Analysis 📝
🌎 Word Cloud for Spam & Non-Spam Messages ☁️
📌 Message Length Analysis (Characters, Words, Sentences)


🏆 Machine Learning Model Selection

We tested multiple classifiers to find the best:
Naïve Bayes 🟢
Random Forest 🌳
K-Nearest Neighbors (KNN) 📌
Decision Tree 🌱
Logistic Regression 📉
ExtraTreesClassifier 🍃
Support Vector Classifier (SVC) 💻

🔥 Best Model: Achieved 100% Precision for spam detection!


🌐 Web Deployment

💡 Built with Streamlit for a smooth user experience!
📝 How It Works:
1️⃣ Enter an SMS message
2️⃣ Click Predict
3️⃣ Get instant results (Spam 🚨 or Not Spam ✅)

🔗 Live Demo: SpamShield


🛠️ Installation & Usage

Want to run SpamShield locally? Follow these steps:

1️⃣ Clone the Repository

git clone https://github.com/Kane-dylan/SpamShield.git
cd SpamShield

2️⃣ Install Dependencies

pip install -r requirements.txt

3️⃣ Run the App

streamlit run app.py

💡 Now open your browser and start detecting spam! 🚀


🤝 Contributions & Feedback

I ❤️ contributions! If you:

  • Found a bug 🐞
  • Have a feature request 🌟
  • Want to improve the model 📈

Feel free to open an issue or pull request at 👉 GitHub Repo

🚀 Let's build a spam-free future together!