Rückblick: Spamfilter
Teil des Abschnitts Überwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 20 von 58.
Aufgabe
MittelErstelle 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.
- Halte ein Viertel der Daten zum Testen zurück (
random_state=0), skaliere die Trainingszeilen und trainiere eineLogisticRegression; gib ihre Testgenauigkeit aus (3 Dezimalstellen). - Zähle beim Schwellenwert die Test-E-Mails, die als Spam eingestuft werden, die echten darunter und die durchgelassenen Spam-E-Mails.
- 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
1Dein erstes Modell
Aus Beispielen lernenTrainings- und TestdatensätzeAnpassen und VorhersagenEin Modell bewertenRückblick: Saatgutsortierer4Logistische Regression
Ja-Nein-VorhersagenDie EntscheidungsschwelleGewichte als IndizienMehrere KlassenRückblick: Spamfilter2Nächste Nachbarn
So entscheidet k-NNk wählenEntscheidungsgrenzenSkalierung für NachbarnRückblick: Wein-Nachbarn5Klassifikatoren bewerten
Die KonfusionsmatrixPräzision und TrefferquoteDer F1-ScoreUnausgewogene KlassenROC-KurvenRückblick: Screeningtest3Lineare Regression
Zahlen vorhersagenMehrere MerkmaleFehler messenResiduenplotsZusammenfassung: Fahrradverleih6Entscheidungsbäume
Bäume stellen FragenEinen Baum lesenBaumtiefeMerkmalswichtigkeitRückblick: Kreditentscheidungen9Ensembleverfahren
Random ForestsWarum Random Forests funktionierenGradient BoostingRückblick: Förster des Waldes12Abschließende Herausforderungen
Diabetes-FortschrittKreditgenehmigungHandgeschriebene ZiffernKundenabwanderungÜbe selbstständig: Online-Python-Compiler