scikit-learn CountVectorizer n-grammes
objectif
Expliquer et montrer comment vectoriser du texte en sacs de mots et n-grammes.
code minimal
from sklearn.feature_extraction.text import CountVectorizer
docs = ["Bonjour le monde", "Bonjour data science", "Le monde des données"]
vec = CountVectorizer(ngram_range=(1,2), lowercase=True, stop_words=None)
X = vec.fit_transform(docs)
print(X.shape, list(vec.vocabulary_.items())[:5])
utilisation
# transformer de nouveaux documents
X_new = vec.transform(["bonjour le monde des data"])
X_new.toarray()
variante(s) utile(s)
# limiter à top mots par fréquence
vec2 = CountVectorizer(max_features=10)
notes
- Utilisez ngram_range pour capter des expressions.
- Pensez à la normalisation (TF-IDF) selon le modèle.