Find my work on kaggle : Kaggle link
This application leverages multiple machine learning models to accurately classify SMS messages as either spam or ham (non-spam). The application provides an interactive interface for users to input SMS text to receive instant predictions. It also includes a detailed analysis section showcasing the performance metrics of each deployed model.
- Spam Prediction: Users can input an SMS text and get predictions on whether the message is spam or ham.
- Model Performance: Displays detailed performance metrics for each model, including accuracy, classification reports, and confusion matrices.
- Logistic Regression
- Support Vector Machine (SVM)
- Random Forest Classifier
- Gradient Boosting Classifier
- Multinomial Naive Bayes
To set up and run this application locally, follow the steps below:
git clone https://github.com/junioralive/sms-spam-detection.git
cd sms-spam-detection
For Windows:
python -m venv venv
venv\Scripts\activate
For macOS and Linux:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Before running the application, download the required NLTK resources by executing the following Python commands:
import nltk
nltk.download('wordnet')
nltk.download('stopwords')
To run the app, use the following command in the project directory:
streamlit run app.py
Visit http://localhost:8501
in your web browser to interact with the application.
Contributions are welcome! Here are a few ways you can help improve the project:
- Report bugs.
- Propose new features.
- Submit pull requests for bug fixes or new functionalities.
- Improve documentation.
This project is licensed under the MIT License - see the LICENSE.md file for details.