A machine learning model to predict whether a message is spam or not in a domain configured for SMTP using AWS. The system upon receipt of an email message will automatically flag it as spam or not, based on the prediction obtained from the machine learning model.
- Make sure you have a verified domain in SES.
- Run the following commands to create a Layer used by lambda function.
Running the above commands should create a
cd layer sh make-layer.sh
lambda.zip
file in the folder. Create a new layer using this calledSpamClassifierLayer
. - Run the following command to create a zip for the lambda functions that will be used in this application.
Running the above command should create two zips. Please upload the zips to a S3 bucket and note the name of the bucket.
sh make-lambda-zips.sh
- Now create a role in IAM console of AWS for CloudFormation with the following permissions.
- IAMFullAccess
- AmazonS3FullAccess
- AmazonSESFullAccess
- AmazonEventBridgeFullAccess
- AWSCloudFormationFullAccess
- AWSLambda_FullAccess
- Implement a Machine Learning model for predicting whether an SMS message is spam or not.
- Follow the following AWS tutorial on how to build and train a spam filter machine learning model using Amazon SageMaker: Link
- The resulting model should perform well on emails as well, which is what the rest of the assignment will focus on.
- Deploy the resulting model to an endpoint (E1).