NLP Academy · Lektion

Einen Spamfilter erstellen

Mit gekennzeichneten Nachrichten trainieren

Lektion 2 von 413 Schritte

Einen Spamfilter erstellen ist eine kostenlose NLP Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des NLP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der NLP Academy-Kurs umfasst insgesamt 4 Lektionen.

Ihr erstes echtes Modell

Zeit, etwas Nützliches zu bauen: einen Spamfilter. Sie trainieren einen Klassifikator mit gelabelten Nachrichten und lassen ihn völlig neue Nachrichten beurteilen.

Beginnen Sie mit gelabelten Daten

Jedes überwachte Modell benötigt Beispiele mit bekannten Antworten. Hier enthält jede Nachricht ein Label für Spam oder Ham – die freundliche Bezeichnung für Nicht-Spam.

messages = ["win cash now", "lunch at noon?", "free prize click"]
labels = ["spam", "ham", "spam"]
print(len(messages), len(labels))

Text in Zahlen umwandeln

Das Modell kann rohe Wörter nicht lesen, also zählen Sie sie zuerst. Ein CountVectorizer wandelt jede Nachricht in eine Zeile mit Wortzählungen um.

from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer()
X = vec.fit_transform(messages)

Lernen Sie MultinomialNB kennen

Für Wortzählungen ist MultinomialNB das passende Werkzeug: die auf Zählungen basierende Variante von Naive Bayes, die direkt in scikit-learn enthalten ist.

from sklearn.naive_bayes import MultinomialNB
model = MultinomialNB()

Das Modell fitten

Das Training besteht aus einer Zeile: Übergeben Sie dem Modell Ihre Merkmale und Labels. Der Aufruf fit zählt die Wörter pro Klasse und speichert die Wahrscheinlichkeiten.

model.fit(X, labels)
print("trained on", X.shape[0], "messages")

Neue E-Mails vorhersagen

Um eine neue Nachricht zu beurteilen, vektorisieren Sie sie auf dieselbe Weise und rufen predict auf. Das Modell gibt seine beste Vermutung für Spam oder Ham zurück.

new = vec.transform(["free cash prize"])
print(model.predict(new))

Verwenden Sie den Vectorizer wieder

Neue Texte müssen dasselbe Vokabular verwenden, das das Modell gelernt hat. Rufen Sie immer transform auf, niemals erneut fit, sonst stimmen die Spalten nicht überein.

Werfen Sie einen Blick auf die Sicherheit

Neben dem Label kann das Modell angeben, wie sicher es ist. Die Methode predict_proba liefert eine Wahrscheinlichkeit für jede mögliche Klasse.

print(model.predict_proba(new))

Halten Sie ein Testset zurück

Bewerten Sie ein Modell niemals anhand der Daten, mit denen es trainiert wurde. Teilen Sie ein Testset ab, um seine Leistung bei unbekannten Nachrichten zu messen.

Bewerten Sie den Filter

Führen Sie Vorhersagen für die zurückgehaltenen Nachrichten aus und vergleichen Sie sie mit der Wahrheit. Diese Genauigkeit zeigt, ob Ihr Spamfilter tatsächlich funktioniert. 📬

Durch Iteration verbessern

Mehr saubere Daten und eine bessere Vorverarbeitung verbessern die Ergebnisse schnell. Betrachten Sie diesen Filter als Baseline, die Sie stetig verfeinern können, nicht als fertiges Produkt.

Schnelltest

Wie sollten Sie eine neue Nachricht vorbereiten, bevor Sie eine Vorhersage dafür treffen?

Zusammenfassung

Sie haben Nachrichten vektorisiert, MultinomialNB trainiert und Spam in neuen Texten vorhergesagt. Wenn Sie den gefitteten Vectorizer wiederverwenden, bleiben Ihre Merkmale aufeinander abgestimmt. ✅

Kostenlos starten

Lerne Python mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Einen Spamfilter erstellen“ kostenlos?

Ja — der vollständige Text von „Einen Spamfilter erstellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des NLP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der NLP Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Einen Spamfilter erstellen“?

Mit gekennzeichneten Nachrichten trainieren Du übst NLP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um NLP Academy zu starten?

Keine Vorkenntnisse erforderlich. NLP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Einen Spamfilter erstellen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser NLP Academy-Lektion Code schreiben und ausführen?

Ja. Jede NLP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Die Intuition hinter Naive Bayes
  2. Einen Spamfilter erstellen
  3. Multinomiale und Bernoulli-Modelle
  4. Die Vorhersagen des Modells lesen
← Zurück zu NLP Academy