Menu
CoddyTech

Rückblick: Spamfilter

Teil des Abschnitts Überwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 20 von 58.

challenge icon

Aufgabe

Mittel

Erstelle den Spamfilter, mit dem dieses Kapitel begonnen hat. emails.csv enthält 200 E-Mails: links, exclaims, caps_words, from_contact (1 für einen bekannten Absender), words und spam. Das Programm liest einen Schwellenwert ein.

  1. Halte ein Viertel der Daten zum Testen zurück (random_state=0), skaliere die Trainingszeilen und trainiere eine LogisticRegression; gib ihre Testgenauigkeit aus (3 Dezimalstellen).
  2. Zähle beim Schwellenwert die Test-E-Mails, die als Spam eingestuft werden, die echten darunter und die durchgelassenen Spam-E-Mails.
  3. Gib den stärksten Hinweis auf Spam und sein Gewicht aus (2 Dezimalstellen).

Bei einem anderen Dienst und 0.7:

Test accuracy: 0.884
At 0.7: 15 emails to spam (1 of them real), 4 spam let through
Strongest spam evidence: links (1.38)

Probier es selbst

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

emails = pd.read_csv("emails.csv")
features = ["links", "exclaims", "caps_words", "from_contact", "words"]
threshold = float(input())

# Schreibe deinen Code unten

Alle Lektionen in Überwachtes Lernen

Übe selbstständig: Online-Python-Compiler