Detecting Spam and Ham in SMS messages using state-of-the-art Natural Language Processing (NLP) techniques. This project employs machine learning models to sift through messages and identify potential spam, ensuring your SMS inbox remains secure.
With the rise of spam messages, it becomes crucial to have a reliable system that can differentiate between genuine messages (ham) and unwanted spam. This project addresses this challenge by building a robust SMS classifier.
- Dataset: Explored a dataset containing 5,574 messages in English, classifying them as ham or spam.
- Feature Engineering: Created new features, identified outliers, and preprocessed data for effective modeling.
- Punctuation and Numbers Removal: Extracted alphabetic characters for cleaner text.
- Lowercasing: Ensured uniformity by converting all characters to lowercase.
- Tokenization: Broke down text into words for better analysis.
- Stopword Removal: Eliminated common and less informative words.
- Lemmatization: Simplified words to their base form.
- TF-IDF Vectorization: Converted processed text into numerical vectors.
- Model Pipeline: Developed a comprehensive pipeline with NaΓ―ve Bayes, RandomForest, KNeighbors, and Support Vector Machines.
- Cross-Validation: Ensured model reliability through cross-validation on the training set, assessing accuracy and overall performance.
The project name "SMS Guardian" with emojis to visually communicate its purpose and theme. π¬βοΈπ€
- Clone the repository:
git clone https://github.com/Sooraj-dsa/SMS-Guardian.git
- Navigate to the project directory:
cd SMS-Guardian
- Install dependencies:
pip install -r requirements.txt
- Run the Jupyter Notebook or Python script for the complete project.
Check out the full analysis notebook on Kaggle!
Contributions are welcome! Feel free to submit issues, feature requests, or pull requests.
This project is licensed under the MIT License.
- Special thanks to NLTK Library for providing essential NLP tools.
- Emoji art by Emojipedia.