|
|
from joblib import load |
|
|
import sys |
|
|
clf_loaded = load('./QuietML.joblib') |
|
|
|
|
|
|
|
|
|
|
|
def detect_spam(email_text): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
prediction = clf_loaded.predict([email_text]) |
|
|
probabilities = clf_loaded.predict_proba([email_text]) |
|
|
|
|
|
|
|
|
spam_probability = probabilities[0][1] |
|
|
|
|
|
|
|
|
ham_probability = probabilities[0][0] |
|
|
|
|
|
|
|
|
if prediction == 0: |
|
|
output_message = "This is a Ham Email!" |
|
|
else: |
|
|
output_message = "This is a Spam Email!" |
|
|
|
|
|
output_message += f"\nProbability (Ham): {ham_probability:.4f}" |
|
|
output_message += f"\nProbability (Spam): {spam_probability:.4f}" |
|
|
|
|
|
return output_message |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
if len(sys.argv) < 2: |
|
|
print("Please provide an email text to classify.") |
|
|
sys.exit(1) |
|
|
|
|
|
email_input = sys.argv[1] |
|
|
result = detect_spam(email_input) |
|
|
print(result) |
|
|
|