Sommaire

L’algorithme SVM (Machine à vecteurs de supports) pour le classement de texte

Nous allons à présent utiliser l’ Algorithme SVMalgorithme SVM pour tenter de classifier notre texte. Cet algorithme commence à nous être familier, car les chapitres précédents nous ont permis de découvrir son fonctionnement et son optimisation.

Tout comme pour l’algorithme de Naive Bayes, nous allons utiliser un pipeline pour réaliser les différentes tâches d’analyse des messages avant leur apprentissage :

from sklearn.pipeline import Pipeline 
from sklearn.feature_extraction.text import CountVectorizer 
from sklearn.feature_extraction.text import TfidfTransformer 
from sklearn.svm import SVC 
etapes_apprentissage = Pipeline([(’frequence’,  
CountVectorizer()), 
                                 (’tfidf’, TfidfTransformer()), 
                                 (’algorithme’, 
SVC(kernel=’linear’, C=2))])

Réalisons à présent l’apprentissage :

modele = etapes_apprentissage.fit(X_train,y_train) 
from sklearn.metrics import classification_report 
print(classification_report(y_test, modele.predict(X_test),  
digits=4))

Précision

Recall

F1-score

F1-score

0

0.7514

0.6376

0.6898

218

1

0.8803

0.9266 ...