La régression linéaire est l'un des algorithmes les plus connus. Elle est toujours enseigné au lycée. Il permet de résoudre des problèmes de régression de type linéaire.
Il s’agit d’un algorithme de classification binaire de type linéaire. Un SVM cherche à maximiser la marge entre les classes.
Trouver la meilleure droite pour laquelle les points sont le plus éloignés possible. (deux dimensions).
Exemples:
Les variables explicatives sont désignées par X et la variable expliquée par Y. X est une matrice de taille (n, p), n étant la taille des données et p le nombre de variables.
L'erreur de prédiction sur la moyenne de la somme des carrées des erreurs. MAE
La solution du problème est obtenu graĉe à des solveurs
Scikit-learn implémente l'algorithme des séparateurs à vastes marges avec la classe sklearn.svm.LinearSV.
sklearn.svm.LinearSV
from sklearn.svm import LinearSV
Les variables n'ont pas la même échelle de grandeur et il faut corriger cela. Si l'algorithme utilisé est juste ie s'il ne s'agit pas d'un algorithme dont l'apprentissage est itératif, on peut bien garder les valeurs comme telles. Mais dans notre exemple ici, nous allons ramener toutes les variables à la même échelle de grandeur.
scaler = StandardScaler() scaler.fit(X_train) X_train_scaled = scaler.transform(X_train) X_train_scaled = pd.DataFrame(X_train_scaled, columns=list(X_train.columns))
Les algorithmes de machine learning ne consomment que des chiffres et des nombres, il est donc nécessaire de convertir les valeurs non numériques (catégorielles) en numérique.
Transformer les données pour qu’elles soient linéairement séparables
Les SVM peuvent être étendus à des problèmes de classification multi-classes
Une manière de le faire est d’entraîner autant de modèles que de classes. Ensuite on prédit la classe dont le modèle donne le plus grand score.
Il est également intéressant de convertir le score en probabilité. Une probabilité est plus facile à interpréter.
Ainsi les scores positifs ont une probabilité proche de 1 et les négatifs proches de 0.
Pour signaler un problème que vous avez rencontré durant l'exécution des cahiers, merci de créer une issue. Assurez-vous que vous avez les bonnes versions des packages*
issue