email spam filtering using python and naive bayse algorithm

write the code in Anaconda Jupyter for Email Spam filtering using Naive bayes classifier and use the dataset SBAMBASE from USI this link  https://archive.ics.uci.edu/ml/datasets/Spambase

requirements:  

1. write the code and from each line of code explain the code , why you write it and for what with details

2 Data Preprocessing 

3. Feature Extraction and  which way you will use it and why   

4 apply Naive Bayes and chick the performance 

5  give me the  Precision , Recall and  accuracy 

and visualizations