This is the repository for the Machine Learning & Data Science 2 final Assignment. The goal is to create a spam filter for emails. The datasets are from the SpamAssassin Public Corpus and are in the 'Datasets' folder. The source code is in the 'main.py' file. The report with explanation of the code and decisions is in the 'Report_SpamFilter_Maximilian_Nachbaur.pdf' file.
For this project I used:
- python as programming language
- PDM for the
pythonpackage management since we also used this in the course
The Version is python 3.12.* for this project.
For the complete dependencies see pyproject.toml.
To install pdm run
curl -sSL https://pdm-project.org/install-pdm.py | python3 -The pdm project already exists so all you need to do is to run
pdm syncor
pdm installto initialize the project.
To start a script use
pdm run python <SCRIPT.py> <arguments>You can also start a python console via
pdm run pythonNote, that both will respect the .env file and load the variables accordingly.