0Pricing
Learn AI with Python · Leçon

SVM pour la régression (SVR)

Tube epsilon de SVR, nu-SVR, comparaison de SVR avec la régression linéaire sur des données non linéaires.

SVM pour la régression (SVR) est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 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 Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Les SVM peuvent aussi effectuer des régressions

L'idée de marge s'étend à la régression. La régression par vecteurs de support (SVR) ajuste une fonction tout en maintenant les prédictions dans une bande de tolérance et en ignorant les petites erreurs.

Le tube insensible à epsilon

SVR trace un tube insensible à epsilon autour de la fonction prédite. Les points à l'intérieur du tube contribuent à une perte nulle ; seuls les points situés à l'extérieur sont pénalisés. Le modèle se concentre ainsi sur les erreurs significatives.

Pourquoi un tube est utile

En ignorant les écarts infimes, SVR résiste au surajustement du bruit et produit un ajustement plus lisse et plus robuste. Les petites ondulations à l'intérieur de la tolérance n'ont tout simplement aucun effet sur le modèle.

Utilisation de base de SVR

SVR fonctionne comme SVC et prend en charge les mêmes noyaux. RBF est le choix par défaut courant pour la régression non linéaire.

from sklearn.svm import SVR

model = SVR(kernel="rbf", C=100, epsilon=0.1, gamma="scale")
model.fit(Xtr, ytr)
print(model.score(Xte, yte))

Le paramètre epsilon

epsilon définit la largeur du tube. Une valeur d'epsilon plus grande produit une bande plus large, moins de vecteurs de support et un modèle plus simple. Une valeur plus petite ajuste les données plus étroitement.

from sklearn.svm import SVR

wide = SVR(epsilon=1.0)   # tolerant, simpler
tight = SVR(epsilon=0.01) # fits closely

Le paramètre C dans SVR

Comme en classification, C contrôle la pénalité appliquée aux points situés à l'extérieur du tube. Une valeur de C plus grande sanctionne davantage ces erreurs et force davantage l'ajustement ; une valeur plus petite renforce la régularisation pour obtenir une courbe plus lisse.

from sklearn.svm import SVR

flexible = SVR(C=1000)  # fits training closely
smooth = SVR(C=0.1)     # more regularized

epsilon et C : deux paramètres distincts

Retenez la distinction : epsilon contrôle la largeur du tube (la quantité d'erreur à ignorer), tandis que C contrôle la pénalité des erreurs qui se trouvent à l'extérieur du tube. Réglez les deux.

La mise à l'échelle est aussi importante pour SVR

Comme tous les SVM, SVR dépend des distances et est sensible à l'échelle. Standardisez toujours les caractéristiques et envisagez également de mettre la variable cible à l'échelle pour stabiliser l'entraînement.

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVR

pipe = make_pipeline(StandardScaler(), SVR(kernel="rbf"))
pipe.fit(Xtr, ytr)

Réglage de SVR

Effectuez une recherche sur grille pour C, gamma et epsilon afin de trouver le meilleur ajustement. Utilisez une métrique de régression, comme l'erreur quadratique moyenne négative, pour l'évaluation.

from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVR

param = {
    "C": [1, 10, 100],
    "gamma": [0.01, 0.1, 1],
    "epsilon": [0.01, 0.1, 0.5],
}
gs = GridSearchCV(SVR(), param, cv=5, scoring="neg_mean_squared_error")
gs.fit(Xtr, ytr)

La variante nu-SVR

NuSVR remplace epsilon par nu (compris entre 0 et 1). Ce paramètre contrôle directement la proportion de vecteurs de support et d'erreurs d'entraînement ; il s'agit d'une autre paramétrisation que certaines personnes trouvent plus facile à interpréter.

from sklearn.svm import NuSVR

model = NuSVR(nu=0.5, C=100, kernel="rbf")
model.fit(Xtr, ytr)

Quand utiliser SVR

SVR fonctionne bien sur les jeux de données petits à moyens présentant des motifs non linéaires et lorsque la robustesse au bruit est importante. Pour les volumes de données très importants, préférez les modèles linéaires ou le renforcement par gradient, qui passent mieux à l'échelle.

Vérification rapide

Évaluez vos connaissances sur SVR.

Récapitulatif

Récapitulatif : SVR ajuste une fonction à l'intérieur d'un tube insensible à epsilon, où les points intérieurs ont un coût nul. epsilon définit la largeur du tube (une valeur plus grande donne un modèle plus simple), tandis que C pénalise les points situés à l'extérieur. Mettez toujours les caractéristiques à l'échelle, réglez C/gamma/epsilon, et envisagez NuSVR comme autre paramétrisation.

Questions Fréquemment Posées

La leçon « SVM pour la régression (SVR) » est-elle gratuite ?

Oui — le texte complet de « SVM pour la régression (SVR) » 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 Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « SVM pour la régression (SVR) » ?

Tube epsilon de SVR, nu-SVR, comparaison de SVR avec la régression linéaire sur des données non linéaires. Tu pratiques Learn AI with Python 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 Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python 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 4 sur 4.

Combien de temps prend la leçon « SVM pour la régression (SVR) » ?

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 Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python 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

  1. Théorie des SVM : marges et vecteurs de support
  2. Astuce du noyau : RBF, polynomial et sigmoïde
  3. SVM pour la classification avec sklearn
  4. SVM pour la régression (SVR)
← Retour à Learn AI with Python