0Pricing
Learn AI with Python · Lektion

SVMs zur Regression (SVR)

Epsilon-Röhre bei SVR, nu-SVR, Vergleich von SVR und linearer Regression bei nichtlinearen Daten.

SVMs zur Regression (SVR) ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

SVMs können auch Regression

Die Idee der Marge lässt sich auf die Regression übertragen. Support Vector Regression (SVR) passt eine Funktion an und hält die Vorhersagen dabei innerhalb eines Toleranzbereichs, wobei kleine Fehler ignoriert werden.

Der epsilon-unempfindliche Toleranzbereich

SVR legt einen epsilon-unempfindlichen Toleranzbereich um die vorhergesagte Funktion. Punkte innerhalb dieses Bereichs verursachen keinen Verlust; nur Punkte außerhalb werden bestraft. Dadurch konzentriert sich das Modell auf relevante Fehler.

Warum ein Toleranzbereich hilft

Indem SVR winzige Abweichungen ignoriert, widersteht es einer Überanpassung an Rauschen und erzeugt eine glattere, robustere Anpassung. Kleine Schwankungen innerhalb der Toleranz beeinflussen das Modell einfach nicht.

Grundlegende Verwendung von SVR

SVR funktioniert ähnlich wie SVC und unterstützt dieselben Kernel. RBF ist die gängige Standardeinstellung für nichtlineare Regression.

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))

Der epsilon-Parameter

epsilon legt die Breite des Toleranzbereichs fest. Ein größerer Epsilon-Wert bedeutet einen breiteren Bereich, weniger Stützvektoren und ein einfacheres Modell. Ein kleinerer Epsilon-Wert passt das Modell enger an die Daten an.

from sklearn.svm import SVR

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

Der C-Parameter in SVR

Wie bei der Klassifikation steuert C die Strafe für Punkte außerhalb des Toleranzbereichs. Ein größeres C bestraft diese Fehler stärker und führt zu einer engeren Anpassung; ein kleineres C sorgt für mehr Regularisierung und eine glattere Kurve.

from sklearn.svm import SVR

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

epsilon vs. C: Zwei verschiedene Stellschrauben

Merken Sie sich den Unterschied: epsilon steuert die Breite des Toleranzbereichs (wie viel Fehler ignoriert wird), während C die Strafe für Fehler außerhalb des Toleranzbereichs steuert. Stimmen Sie beide Parameter ab.

Skalierung ist auch für SVR wichtig

Wie alle SVMs hängt SVR von Distanzen ab und reagiert empfindlich auf unterschiedliche Skalen. Standardisieren Sie die Merkmale immer und ziehen Sie auch eine Skalierung des Zielwerts für ein stabiles Training in Betracht.

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)

SVR abstimmen

Führen Sie eine Rastersuche über C, gamma und epsilon durch, um die beste Anpassung zu finden. Verwenden Sie für die Bewertung eine Regressionsmetrik wie den negativen mittleren quadratischen Fehler.

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)

Die nu-SVR-Variante

NuSVR ersetzt epsilon durch nu (zwischen 0 und 1). Dieser Parameter steuert den Anteil der Stützvektoren und der Trainingsfehler direkt – eine alternative Parametrisierung, die sich für manche leichter nachvollziehen lässt.

from sklearn.svm import NuSVR

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

Wann Sie SVR verwenden sollten

SVR eignet sich gut für kleine bis mittelgroße Datensätze mit nichtlinearen Mustern und wenn Robustheit gegenüber Rauschen wichtig ist. Für sehr große Datenmengen sind lineare Modelle oder Gradient Boosting vorzuziehen, da sie besser skalieren.

Schnelltest

Testen Sie Ihr Wissen über SVR.

Zusammenfassung

Zusammenfassung: SVR passt eine Funktion innerhalb eines epsilon-unempfindlichen Toleranzbereichs an, in dem Punkte innerhalb des Bereichs keine Kosten verursachen. epsilon legt die Breite des Toleranzbereichs fest (größer = einfacher), während C Punkte außerhalb des Bereichs bestraft. Skalieren Sie die Merkmale immer, stimmen Sie C/gamma/epsilon ab und ziehen Sie NuSVR als alternative Parametrisierung in Betracht.

Häufig gestellte Fragen

Ist die Lektion „SVMs zur Regression (SVR)“ kostenlos?

Ja — der vollständige Text von „SVMs zur Regression (SVR)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „SVMs zur Regression (SVR)“?

Epsilon-Röhre bei SVR, nu-SVR, Vergleich von SVR und linearer Regression bei nichtlinearen Daten. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „SVMs zur Regression (SVR)“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. SVM-Theorie: Margins und Support-Vektoren
  2. Kernel-Trick: RBF, polynomialer Kernel und Sigmoid
  3. SVMs zur Klassifikation mit sklearn
  4. SVMs zur Regression (SVR)
← Zurück zu Learn AI with Python