{"id":30848352,"url":"https://github.com/arijit-7612/sms-spam-detection","last_synced_at":"2026-04-12T15:33:08.962Z","repository":{"id":311388695,"uuid":"1043555732","full_name":"arijit-7612/SMS-SPAM-DETECTION","owner":"arijit-7612","description":"A deep learning–based SMS Spam Detector built with BiLSTM and Keras TextVectorization. The model classifies messages as Spam or Ham with high accuracy and is deployed on Streamlit for real-time text classification with a clean and interactive user interface.","archived":false,"fork":false,"pushed_at":"2025-08-24T06:03:56.000Z","size":19067,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-24T13:16:30.330Z","etag":null,"topics":["pandas","python","scikit-learn","seaborn","streamlit","tensorflow"],"latest_commit_sha":null,"homepage":"https://sms-spam-detection-tldmyekysdwgdruuxj6rfe.streamlit.app/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arijit-7612.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-24T05:37:55.000Z","updated_at":"2025-08-24T06:04:00.000Z","dependencies_parsed_at":"2025-08-24T13:28:55.751Z","dependency_job_id":null,"html_url":"https://github.com/arijit-7612/SMS-SPAM-DETECTION","commit_stats":null,"previous_names":["arijit-7612/sms-spam-detection"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/arijit-7612/SMS-SPAM-DETECTION","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arijit-7612%2FSMS-SPAM-DETECTION","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arijit-7612%2FSMS-SPAM-DETECTION/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arijit-7612%2FSMS-SPAM-DETECTION/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arijit-7612%2FSMS-SPAM-DETECTION/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arijit-7612","download_url":"https://codeload.github.com/arijit-7612/SMS-SPAM-DETECTION/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arijit-7612%2FSMS-SPAM-DETECTION/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273990252,"owners_count":25203307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pandas","python","scikit-learn","seaborn","streamlit","tensorflow"],"created_at":"2025-09-07T03:08:53.406Z","updated_at":"2026-04-12T15:33:08.911Z","avatar_url":"https://github.com/arijit-7612.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📱 SMS Spam Detection System\n\n🚨 **Detect fraudulent SMS messages in real-time** using **Machine Learning** and **Deep Learning**.  \nThis project compares classical ML models (Logistic Regression, SVM, Random Forest, Naive Bayes) with advanced Deep Learning (BiLSTM) to classify SMS messages as **Ham (legit)** or **Spam (fraudulent)**.\n\nBuilt with **Python, Scikit-learn, TensorFlow, and Streamlit**.\n\n---\n\n## ✨ Features\n\n* 📊 **Model Comparison**: Logistic Regression, SVM, Random Forest, Naive Bayes, BiLSTM  \n* ⚡ **Real-time Prediction App** (Streamlit)  \n* 🧠 **Deep Learning with BiLSTM** (captures sequential word patterns)  \n* 🔍 **Explainable Spam Indicators** (urgency words, prize mentions, ALL CAPS, etc.)  \n* 🤝 **Ensemble Predictions** (combine ML + DL for better accuracy)  \n* 📈 **Performance Metrics**: Accuracy, Precision, Recall, F1-score  \n\n---\n\n## 🚀 Demo (App UI)\n\n### Spam Example:\n\nCONGRATULATIONS! You've won $1000! Call now to claim your prize!\n\n\n➡️ Prediction: **🚨 SPAM (98% confidence)**\n\n### Ham Example:\n\n\n\nHey, are we still meeting for lunch tomorrow?\n\n\n➡️ Prediction: **✅ HAM (99% confidence)**\n\n\n---\n\n\n## 🛠️ Tech Stack\n\n* **Programming Language**: Python  \n* **Libraries**: Numpy, Pandas, Scikit-learn, TensorFlow, Streamlit  \n* **Visualization**: Matplotlib, Seaborn  \n* **Deployment**: Streamlit (local or cloud)  \n\n---\n\n## 📊 Model Performance\n\n| Model               | Accuracy  | Precision | Recall | F1-score  |\n| ------------------- | --------- | --------- | ------ | --------- |\n| Logistic Regression | 95.2%     | 96.5%     | 64.1%  | 76.9%     |\n| SVM (Linear)        | 97.4%     | 97.2%     | 81.2%  | 88.5%     |\n| Random Forest       | 96.7%     | 98.0%     | 75.0%  | 84.9%     |\n| **BiLSTM**          | **98.4%** | 97.5%     | 89.8%  | **93.5%** |\n\n✅ **BiLSTM is the best performing model.**\n\n---\n\n## ⚙️ Installation \u0026 Usage\n\n1. Clone the repo:\n\n```bash\ngit clone https://github.com/yourusername/sms-spam-detection.git\ncd sms-spam-detection\n```\n\n2. Install dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\n3.Run Streamlit app:\n``` \nstreamlit run app.py\n```\n\n## 🧠 Methodology\n\n* Data Preprocessing: clean text (lowercasing, removing punctuation, stopwords)\n\n* Feature Engineering: TF-IDF for ML models, TextVectorization + Embeddings for BiLSTM\n\n* Model Training: Logistic Regression, SVM, Random Forest, Naive Bayes, BiLSTM\n\n* Evaluation: Accuracy, Precision, Recall, F1-score\n\n* Deployment: Streamlit app for real-time predictions\n\n## 🔮 Future Improvements\n\n\n* 📲 Extend system to WhatsApp/Email Spam Detection\n\n* 🔍 Add SHAP/LIME explainability for model decisions\n\n* ⚡ Optimize BiLSTM with pre-trained embeddings (GloVe/FastText)\n\n  ---\n\n## 🌐 Live Demo\n\n🚀 Try out the app here: [SMS Spam Detection App](https://sms-spam-detection-tldmyekysdwgdruuxj6rfe.streamlit.app/)  \n\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farijit-7612%2Fsms-spam-detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farijit-7612%2Fsms-spam-detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farijit-7612%2Fsms-spam-detection/lists"}