Récapitulatif : filtre anti-spam
Fait partie de la section Apprentissage supervisé du Journey Machine Learning de Coddy. Leçon 20 sur 58.
Défi
MoyenConstruis 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.
- Réserve un quart des données pour le test (
random_state=0), standardise les lignes d'entraînement et ajuste uneLogisticRegression; affiche sa précision sur les données de test (3 décimales). - 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.
- 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é
1Votre premier modèle
Apprendre à partir d’exemplesJeux d’entraînement et de testAjuster et prédireÉvaluer un modèleRécapitulatif : trieur de graines4Régression logistique
Prédictions oui ou nonLe seuil de décisionLes poids comme indicesPlusieurs classesRécapitulatif : filtre anti-spam2Plus proches voisins
Comment k-NN prend ses décisionsChoisir kFrontières de décisionMettre les voisins à l’échelleRécapitulatif : voisins et vin5Évaluer les classificateurs
La matrice de confusionPrécision et rappelLe score F1Classes déséquilibréesCourbes ROCRécapitulatif : test de dépistage8Validation croisée
Validation K-foldComparer les modèles équitablementRecherche par grilleRécapitulatif : réparations de skateboard11Projet : espèces de manchots
À la rencontre des manchotsPréparer les donnéesChoisir un modèleOptimiser le modèle gagnantDéployer le modèle3Régression linéaire
Prédire des nombresPlusieurs caractéristiquesMesurer les erreursGraphiques des résidusRécapitulatif : locations de vélos6Arbres de décision
Les arbres posent des questionsLire un arbreProfondeur de l’arbreImportance des caractéristiquesRécapitulatif : décisions de prêtEntraînez-vous par vous-même : Compilateur Python en ligne