Menu
CoddyTech

Récapitulatif : filtre anti-spam

Fait partie de la section Apprentissage supervisé du Journey Machine Learning de Coddy. Leçon 20 sur 58.

challenge icon

Défi

Moyen

Construis le filtre anti-spam présenté au début de ce chapitre. emails.csv contient 200 e-mails : links, exclaims, caps_words, from_contact (1 pour un expéditeur connu), words et spam. Le programme lit un seuil.

  1. Réserve un quart des données pour le test (random_state=0), standardise les lignes d'entraînement et ajuste une LogisticRegression ; affiche sa précision sur les données de test (3 décimales).
  2. Au seuil indiqué, compte les e-mails de test envoyés dans les spams, ceux qui sont légitimes parmi eux et les spams qui passent le filtre.
  3. Affiche le facteur indiquant le plus fortement qu'un e-mail est un spam, ainsi que son poids (2 décimales).

Pour un autre service et 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)

Essayez vous-même

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())

# Écrivez votre code ci-dessous

Toutes les leçons de Apprentissage supervisé

Entraînez-vous par vous-même : Compilateur Python en ligne