Classifying Spams Using Spark MLlib

 

Given the Spam data set for classifying an e-mail is either spam (label 1) or not (label 0). The dataset can be downloaded from . Compare three ML algorithms: logistic regression, decision tree, and random forest for this binary classification problem. Collect screenshots of critical parts for each question. Type all answers. Submit a pdf report. Use Databrick notebook. The final notebook should be fully documented and uploaded to Canvas as well as the pdf report.

1. (30 points) Find the best model for each ML algorithms. Compute precision, recall, and F1 scores based on ALL data points.  Identify the best ML algorithm based on the statistics computed.

2. (30 points) Use 5 fold (70/30) cross-validation method to find the best model for each ML algorithm using the default ROC criterion. Compare these three ML algorithms and pick the best overall model. Discuss how you reach this conclusion.

3. (20 points) Based on your best model in Q2, identify the most significant features. Discuss how you can take advantage of this finding. 

4. (10 points) Discuss why the best ML algorithm is better than the other two from a theoretical point of view. 

5. (10 points) Does the best model provide a satisfactory classification outcome? Explain. Is there another ML model that may be used to better this result? Discuss and provide the sources of your analysis.