Skip to content

This project focuses on building a machine learning model to classify emails as spam or not spam using a Support Vector Machine (SVM) classifier.

License

Notifications You must be signed in to change notification settings

ravindran-dev/SpamZero-ML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SpamZero - Email Spam Detection using Support Vector Machines

Project Overview

This project focuses on building a machine learning model to classify emails as spam or not spam using a Support Vector Machine (SVM) classifier. The dataset contains features extracted from email text content, and the model is trained to effectively distinguish between spam and legitimate emails.

Project Structure

├── Email Spam Detection - Vector machines.ipynb
├── README.md
├── data/
│   └── spam_dataset.csv (or relevant dataset)
├── models/
│   └── svm_model.pkl

Technologies Used

  • Python

  • Jupyter Notebook

  • Scikit-learn

  • NumPy

  • Pandas

  • Matplotlib / Seaborn (for visualization)

Dataset

  • The dataset includes features derived from email contents such as:

  • Frequency of specific keywords

  • Capital letter usage

  • Special character frequency

  • Each email is labeled as:

    • 1 → Spam

    • 0 → Not Spam

How to Run

  • Clone the Repository
git clone https://github.com/RAVINDRAN-S/Email_Spam_Detection_using_vector_machines
cd email-spam-detection-svm
  • Install Dependencies
pip install -r requirements.txt
Run the Notebook
  • Open Email Spam Detection - Vector machines.ipynb in Jupyter Notebook and run all cells.

Model Summary

  • Algorithm: Support Vector Machine (SVM)

  • Kernel Used: Linear

  • Evaluation Metrics:

  • Accuracy : 99%

  • Precision : 0.99

  • Recall : 1.00

  • F1-Score : 1.00

Results

  • The SVM model achieved high accuracy in detecting spam emails.

  • Confusion matrix and classification report are used to interpret model performance.

Key Learnings

  • How to preprocess and clean text data for ML tasks.

  • Implementing SVM for binary classification.

  • Evaluating model using various performance metrics.

  • Visualizing results for better interpretation.


Future Improvements

  • Use more advanced NLP techniques (e.g., TF-IDF, Word2Vec).

  • Test with other classifiers (e.g., Naive Bayes, Random Forest).

  • Build a web interface for real-time email classification.


Author - Ravindran S

Developer • ML Enthusiast • Neovim Customizer • Linux Power User

Hi! I'm Ravindran S, an engineering student passionate about:

  • Linux & System Engineering
  • AIML (Artificial Intelligence & Machine Learning)
  • Full-stack Web Development
  • Hackathon-grade project development

🔗 Connect With Me

You can reach me here:

Socials

Contact

About

This project focuses on building a machine learning model to classify emails as spam or not spam using a Support Vector Machine (SVM) classifier.

Topics

Resources

License

Stars

Watchers

Forks