Créer un détecteur de spam
L’entraîner sur des messages annotés
Créer un détecteur de spam est une leçon NLP Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage NLP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours NLP Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Your First Real Model
Time to build something useful: a spam filter. You will train a classifier on labeled messages and let it judge brand-new ones.
Start With Labeled Data
Every supervised model needs examples with answers. Here each message comes with a label of spam or ham, the friendly name for not-spam.
messages = ["win cash now", "lunch at noon?", "free prize click"]
labels = ["spam", "ham", "spam"]
print(len(messages), len(labels))Turn Text Into Numbers
The model cannot read raw words, so you count them first. A CountVectorizer converts each message into a row of word counts.
from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer()
X = vec.fit_transform(messages)Meet MultinomialNB
For word counts, the right tool is MultinomialNB, the count-based flavor of Naive Bayes built right into scikit-learn.
from sklearn.naive_bayes import MultinomialNB
model = MultinomialNB()Fit the Model
Training is one line: hand the model your features and labels. The fit call counts words per class and stores the probabilities.
model.fit(X, labels)
print("trained on", X.shape[0], "messages")Predict New Mail
To judge a fresh message, vectorize it the same way and call predict. The model returns its best guess for spam or ham.
new = vec.transform(["free cash prize"])
print(model.predict(new))Reuse the Vectorizer
New text must use the same vocabulary the model learned. Always call transform, never fit again, or the columns will not line up.
Peek at the Confidence
Beyond the label, the model can report how sure it is. The predict_proba method gives a probability for each possible class.
print(model.predict_proba(new))Hold Out a Test Set
Never grade a model on the data it trained on. Split off a test set so you can measure how it does on unseen messages.
Score the Filter
Run predictions on the held-out messages and compare to the truth. That accuracy tells you whether your spam filter actually works. 📬
Iterate to Improve
More clean data and better preprocessing lift results fast. Treat this filter as a baseline you can steadily refine, not a finished product.
Quick Check
How should you prepare a new message before predicting on it?
Recap
You vectorized messages, trained MultinomialNB, and predicted spam on new text. Reusing the fitted vectorizer keeps your features aligned. ✅
Questions Fréquemment Posées
La leçon « Créer un détecteur de spam » est-elle gratuite ?
Oui — le texte complet de « Créer un détecteur de spam » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours NLP Academy, passe à CoddyKit PRO. Le cours NLP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Créer un détecteur de spam » ?
L’entraîner sur des messages annotés Tu pratiques NLP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer NLP Academy ?
Aucune expérience préalable n'est requise. NLP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Créer un détecteur de spam » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon NLP Academy ?
Oui. Chaque leçon NLP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- L’intuition derrière Naive Bayes
- Créer un détecteur de spam
- Modèles multinomial et Bernoulli
- Lire les prédictions du modèle