Skip to main content
PPPhishPondPhishing Tradecraft Intelligence

Attack · Detection · Validation

CampaignTradecraftInfrastructureDetectionResearchRadarNewsroomAboutSubscribe
CampaignTradecraftInfrastructureDetectionResearchRadarNewsroomAboutSubscribe

Research Desk

PhishPond

Phishing tradecraft research desk covering campaign analysis, adversary infrastructure, detection engineering, and validation workflows.

High signal for security teams who need tradecraft, not recycled filler.

Navigate

  • Home
  • Newsroom
  • Research
  • Subscribe

Signals

  • editorial@phishpond.dev
  • Research Mission & Ethics
  • Intel Brief
  • RSS Feed
  • Submit Research Tip
© 2026 PhishPond. Authorized security research use only.

GitHub RadarBlue team tool

dharshiyan/Multiclass-Spam-and-Phishing-Message-Detection-

Multiclass spam, ham and phishing message detection system using NLP, TF-IDF and Logistic Regression with Streamlit deployment. Primary language: Jupyter Notebook. 9 stars.

Jupyter Notebook9 stars0 forkspushed Jul 27, 2026MIT

Project links:Open GitHub projectBack to radar

README Preview

Fetched from GitHub

InboxSentinel

Multiclass Spam & Phishing Message Detection using Natural Language Processing and Machine Learning
An end-to-end Machine Learning solution that classifies SMS and text messages into Ham, Spam, and Phishing using NLP techniques and Logistic Regression.

---

📌 Project Overview

This project implements a multiclass text classification system to classify messages into:

  • Ham (Normal messages)
  • Spam (Unwanted/Promotional messages)
  • Phishing (Fraudulent/Scam messages)

The system uses Natural Language Processing (NLP) techniques and Machine Learning to preprocess text, extract features using TF-IDF, and classify messages using a Logistic Regression model. A Streamlit web application is also developed for real-time predictions.

---

✨ Project Highlights

  • End-to-End NLP Pipeline
  • Multiclass Classification
  • 515,000+ Message Dataset
  • TF-IDF Feature Engineering
  • Logistic Regression Classifier
  • 95.8% Classification Accuracy
  • Streamlit Web Application
  • Kaggle Dataset & Model Published

---

🎯 Problem Statement

Spam and phishing messages pose significant risks in communication systems. This project aims to build a robust machine learning model that can automatically detect and classify such messages to improve security and filtering systems.

---

🧠 Solution Approach

The project follows a complete NLP pipeline:

  • Data collection from multiple sources
  • Text preprocessing (cleaning, stopword removal)
  • Feature extraction using TF-IDF
  • Model training using Logistic Regression
  • Model evaluation using classification metrics
  • Model deployment using Streamlit

---

⚙️ Machine Learning Pipeline

Raw Data → Preprocessing → TF-IDF → Model Training → Evaluation → Model Saving → Deployment

---

🚀 Key Features

✔ Text Cleaning

✔ Tokenization

✔ Stopword Removal

✔ TF-IDF Vectorization

✔ Multiclass Classification

✔ Real-time Prediction

✔ Model Serialization

✔ Interactive Streamlit Interface ---

📊 Model Performance

  • Accuracy: ~95.8%

| Class | Precision | Recall | F1-Score | | -------- | --------- | ------ | -------- | | Ham | 0.99 | 0.98 | 0.98 | | Spam | 0.97 | 0.96 | 0.97 | | Phishing | 0.87 | 0.90 | 0.88 |

The model achieves strong performance across all classes with effective phishing detection.

---

🔗 Project Resources (Kaggle Integration)

  • 📊 Dataset:

https://kaggle.com/My_Dataset-Link

  • 🤖 Trained Model:

https://kaggle.com/My_Model-Link

  • 📒 Training Notebook:

https://kaggle.com/My-Notebook-Link

These resources ensure full reproducibility of the project.

---

📊 Dataset

  • Dataset Size: 515,000+ labelled messages
  • Classes: 3
  • Ham
  • Spam
  • Phishing

---

🛠 Technologies Used

Programming Language
  • Python
Machine Learning
  • Scikit-learn
  • Logistic Regression
Natural Language Processing
  • NLTK
  • TF-IDF Vectorizer
Deployment
  • Streamlit
Utilities
  • Pandas
  • NumPy
  • Pickle

---

📁 Project Structure

spam-phishing-detection/
│
├── app.py
├── train.py
├── requirements.txt
├── README.md
│
├── models/
│   ├── model.pkl
│   └── vectorizer.pkl
│
├── data/
│   └── dataset_sample.csv
│
├── assets/
│   └── confusion_matrix.png
│
└── .gitignore

---

🚀 How to Run the Project

1️⃣ Clone the Repository
git clone https://github.com/dharshiyan/spam-phishing-detection.git
cd spam-phishing-detection
2️⃣ Install Dependencies
pip install -r requirements.txt
3️⃣ Run the Application
streamlit run app.py

---

💡 Example Predictions

| Message | Prediction | | ----------------------------------------------- | ---------- | | "Congratulations! You won a free iPhone" | Spam | | "Let's meet tomorrow at 5 PM" | Ham | | "Verify your bank account password immediately" | Phishing |

---

📈 Results

The final Logistic Regression model achieved excellent performance on the test dataset with an overall accuracy of 95.8%, demonstrating strong generalization capability across all three message categories.

The model successfully distinguishes phishing attempts from legitimate messages while maintaining high precision and recall. ---

📈 Future Improvements

  • Implement deep learning models (LSTM / BERT)
  • Add URL-based phishing detection features
  • Improve dataset balance
  • Deploy API using Flask or FastAPI
  • Dockerize the application

---

👨‍💻 Author

Developed by

DHARSHIYAN

Artificial Intelligence & Data Science Undergraduate

Machine Learning | Deep Learning | Computer Vision | NLP

---

📜 License

This project is licensed under the MIT License.