This repository contains a binary logistic regression classifier designed to discern spam emails from non-spam (ham) emails. It was developed as part of the DATA 100 course at UC Berkeley, showcasing the practical application of machine learning techniques.
- Implement a binary logistic regression model for spam detection.
- Employ feature engineering to extract meaningful attributes from email text data.
- Utilize Scikit-learn for model building, training, and validation.
- Apply cross-validation to ensure model robustness and minimize overfitting.
- Generate precision-recall curves to evaluate the classifier's performance.
- Python: The primary programming language used for analysis within Jupyter notebooks.
- Scikit-learn: A machine learning library for Python, used for model fitting and evaluation.
- Seaborn & Matplotlib: Visualization libraries employed for creating precision-recall curves and other data visualizations.
projB1.ipynb: Initial exploration and model development notebook.projB2.ipynb: Advanced modeling and evaluation notebook.
This spam classification project illustrates the use of advanced data science techniques to address the real-world issue of email filtering. The successful deployment of this classifier has the potential to significantly improve email management and security.
For a deeper dive into the code and methodology, please refer to the Jupyter notebooks in this repository.