{"id":26707241,"url":"https://github.com/machinelearningprodigy/sms-spam-classiifer","last_synced_at":"2025-04-13T15:34:59.281Z","repository":{"id":252719344,"uuid":"841244094","full_name":"machinelearningprodigy/sms-spam-classiifer","owner":"machinelearningprodigy","description":"This Email/SMS Spam Classifier is a machine learning-powered application built with Python and Streamlit to detect spam messages using Natural Language Processing (NLP) techniques. It preprocesses text, transforms it into numerical format, and predicts whether a message is Spam or Not Spam with a trained model. 🚀","archived":false,"fork":false,"pushed_at":"2025-02-21T16:41:45.000Z","size":88,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T06:32:20.819Z","etag":null,"topics":["alogorithms","embeddings","machine-learning","nlp-parsing","pip","python"],"latest_commit_sha":null,"homepage":"https://spam-classiifer-24.streamlit.app/","language":"Python","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/machinelearningprodigy.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}},"created_at":"2024-08-12T02:32:41.000Z","updated_at":"2025-02-27T19:15:50.000Z","dependencies_parsed_at":"2025-02-13T18:21:37.766Z","dependency_job_id":"5abc1a92-734f-4237-9251-4868a93b2cce","html_url":"https://github.com/machinelearningprodigy/sms-spam-classiifer","commit_stats":null,"previous_names":["machinelearningprodigy/sms-spam-classiifer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machinelearningprodigy%2Fsms-spam-classiifer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machinelearningprodigy%2Fsms-spam-classiifer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machinelearningprodigy%2Fsms-spam-classiifer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machinelearningprodigy%2Fsms-spam-classiifer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/machinelearningprodigy","download_url":"https://codeload.github.com/machinelearningprodigy/sms-spam-classiifer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248736877,"owners_count":21153661,"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","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":["alogorithms","embeddings","machine-learning","nlp-parsing","pip","python"],"created_at":"2025-03-27T06:28:17.180Z","updated_at":"2025-04-13T15:34:59.247Z","avatar_url":"https://github.com/machinelearningprodigy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ✉️📱 Email/SMS Spam Classifier  \n\nA **Machine Learning-powered** Email and SMS spam classification app built using **Python** and **Streamlit**. 🚀  \n\n## 🔍 Overview  \n\nThis project classifies messages as either **\"Spam\"** or **\"Not Spam\"** based on their content. It utilizes **Natural Language Processing (NLP)** techniques to preprocess text before making predictions using a pre-trained model.  \n\n## 📂 Project Structure  \n\nThe project consists of the following key components:  \n\n- **🎨 Streamlit Application** – A user-friendly interface for entering and classifying messages.  \n- **📝 Text Preprocessing** – Cleans and processes input text using NLP techniques.  \n- **🤖 Machine Learning Model** – A trained model that predicts whether a message is spam or not.  \n- **📊 Vectorizer** – Converts text data into a numerical format (Bag of Words) for processing.  \n\n## ⚙️ How It Works  \n\n1. **📝 Input:** The user enters a message (SMS or Email) into the provided text box in the Streamlit app.  \n2. **🔄 Preprocessing:** The text undergoes:  \n   - Lowercasing  \n   - Tokenization  \n   - Removal of non-alphanumeric characters \u0026 stopwords  \n   - Stemming using the **Porter Stemmer**  \n3. **🔢 Vectorization:** The cleaned text is transformed into a numerical format using a **pre-trained CountVectorizer**.  \n4. **🤖 Prediction:** The vectorized text is fed into the model, which classifies it as either:  \n   - **📩 Spam** – The message is likely spam.  \n   - **✅ Not Spam** – The message is not spam.  \n5. **📌 Output:** The result is displayed on the Streamlit app.  \n\n## 🚀 Example Usage  \n\n1. **Run the Streamlit app:**  \n   ```bash\n   streamlit run app.py\n   ```  \n2. Enter a message in the provided text area.  \n3. Click the **\"Predict\"** button to check if the message is spam or not.  \n\n### ✨ Try These Example Messages:  \n\n✅ `\"Hey, are we still on for dinner tonight?\"`  \n📩 `\"Congratulations! You've won a free ticket to the Bahamas. Call now!\"`  \n\n## 📦 Dependencies  \n\nTo install required dependencies, run:  \n\n```bash\npip install streamlit scikit-learn nltk\n```  \n\nAdditionally, NLTK data packages `punkt` and `stopwords` need to be downloaded.  \n\n## 📁 Files  \n\n- **`app.py`** – The main script that runs the Streamlit app.  \n- **`model.pkl`** – The pre-trained machine learning model for spam classification.  \n- **`vectorizer.pkl`** – The pre-trained CountVectorizer for text transformation.  \n\n## 🎯 Model Training  \n\nThe model was trained on a labeled dataset of SMS messages using common text classification techniques, including:  \n\n- **Text Preprocessing** – Cleaning, tokenization, and stemming.  \n- **Vectorization** – Converting text into a numerical format using **Bag of Words**.  \n- **Model Selection** – A machine learning classifier was trained and optimized for accurate predictions.  \n\n## 🎉 Conclusion  \n\nThis project showcases the power of **NLP** and **machine learning** in identifying spam messages. The **Streamlit app** provides a simple interface for testing the classifier with real-world examples.  \n\n💡 **Feel free to explore, contribute, or extend this project. Happy coding!**  \n\n## 📜 License  \n\nThis project is licensed under the **MIT License** – see the `LICENSE` file for details.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachinelearningprodigy%2Fsms-spam-classiifer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmachinelearningprodigy%2Fsms-spam-classiifer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachinelearningprodigy%2Fsms-spam-classiifer/lists"}