SVR#

class sklearn.svm.SVR(*, kernel='rbf', degree=3, gamma='scale', coef0=0.0, tol=0.001, C=1.0, epsilon=0.1, shrinking=True, cache_size=200, verbose=False, max_iter=-1)[Quelle]#

Epsilon-Support Vector Regression.

Die freien Parameter des Modells sind C und epsilon.

Die Implementierung basiert auf libsvm. Die Zeitkomplexität von `fit` ist größer als quadratisch in Bezug auf die Anzahl der Samples, was die Skalierung auf Datensätze mit mehr als einigen 10.000 Samples erschwert. Für große Datensätze sollten stattdessen LinearSVR oder SGDRegressor verwendet werden, möglicherweise nach einem Nystroem Transformer oder einer anderen Kernel-Approximation.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
kernel{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} oder aufrufbar, Standard=’rbf’

Gibt den zu verwendenden Kernel-Typ im Algorithmus an. Wenn keiner angegeben wird, wird 'rbf' verwendet. Wenn eine aufrufbare Funktion angegeben wird, wird diese zur Vorberechnung der Kernel-Matrix verwendet. Eine intuitive Visualisierung verschiedener Kernel-Typen finden Sie unter Support Vector Regression (SVR) mit linearen und nicht-linearen Kernels.

degreeint, Standard=3

Grad der Polynomkernfunktion (‘poly’). Muss nicht-negativ sein. Wird von allen anderen Kernels ignoriert.

gamma{‘scale’, ‘auto’} oder float, Standard=’scale’

Kernel-Koeffizient für ‘rbf’, ‘poly’ und ‘sigmoid’.

  • Wenn gamma='scale' (Standard) übergeben wird, wird 1 / (n_features * X.var()) als Wert für gamma verwendet,

  • wenn ‘auto’, wird 1 / n_features verwendet

  • Wenn float, muss nicht-negativ sein.

Geändert in Version 0.22: Der Standardwert von gamma wurde von ‘auto’ auf ‘scale’ geändert.

coef0float, Standard=0.0

Unabhängiger Term in der Kernelfunktion. Er ist nur in ‘poly’ und ‘sigmoid’ signifikant.

tolfloat, Standard=1e-3

Toleranz für das Abbruchkriterium.

Cfloat, Standardwert=1.0

Regularisierungsparameter. Die Stärke der Regularisierung ist umgekehrt proportional zu C. Muss strikt positiv sein. Die Strafe ist eine quadrierte L2-Norm. Eine intuitive Visualisierung der Auswirkungen der Skalierung des Regularisierungsparameters C finden Sie unter Skalierung des Regularisierungsparameters für SVCs.

epsilonfloat, default=0.1

Epsilon im Epsilon-SVR-Modell. Es gibt das Epsilon-Band an, innerhalb dessen keine Strafe für Punkte in der Trainingsverlustfunktion assoziiert wird, die innerhalb einer Distanz Epsilon vom tatsächlichen Wert vorhergesagt werden. Muss nicht-negativ sein.

shrinkingbool, Standard=True

Ob die „shrinking“-Heuristik verwendet werden soll. Siehe Benutzerhandbuch.

cache_sizefloat, Standard=200

Gibt die Größe des Kernel-Caches an (in MB).

verbosebool, default=False

Aktiviert ausführliche Ausgabe. Beachten Sie, dass diese Einstellung eine laufende Prozess-Einstellung in libsvm nutzt, die, wenn sie aktiviert ist, in einem Multithreading-Kontext möglicherweise nicht ordnungsgemäß funktioniert.

max_iterint, Standard=-1

Harte Obergrenze für Iterationen innerhalb des Solvers oder -1 für keine Obergrenze.

Attribute:
coef_ndarray der Form (1, n_features)

Gewichte, die den Merkmalen zugeordnet sind, wenn kernel="linear".

dual_coef_ndarray der Form (1, n_SV)

Koeffizienten der Support-Vektoren in der Entscheidungsfunktion.

fit_status_int

0, wenn korrekt angepasst, 1 andernfalls (löst eine Warnung aus)

intercept_ndarray of shape (1,)

Konstanten in der Entscheidungsfunktion.

n_features_in_int

Anzahl der während des fits gesehenen Merkmale.

Hinzugefügt in Version 0.24.

feature_names_in_ndarray mit Form (n_features_in_,)

Namen der während fit gesehenen Merkmale. Nur definiert, wenn X Merkmalnamen hat, die alle Zeichenketten sind.

Hinzugefügt in Version 1.0.

n_iter_int

Anzahl der Iterationen, die von der Optimierungsroutine zur Anpassung des Modells durchgeführt werden.

Hinzugefügt in Version 1.1.

n_support_ndarray der Form (1,), dtype=int32

Anzahl der Support-Vektoren pro Klasse.

shape_fit_tuple von int der Form (n_dimensions_of_X,)

Array-Dimensionen des Trainingsvektors X.

support_ndarray der Form (n_SV,)

Indizes der Support-Vektoren.

support_vectors_ndarray der Form (n_SV, n_features)

Support-Vektoren.

Siehe auch

NuSVR

Support Vector Machine für Regression, implementiert mit libsvm, mit einem Parameter zur Steuerung der Anzahl der Support-Vektoren.

LinearSVR

Skalierbare lineare Support Vector Machine für Regression, implementiert mit liblinear.

Referenzen

Beispiele

>>> from sklearn.svm import SVR
>>> from sklearn.pipeline import make_pipeline
>>> from sklearn.preprocessing import StandardScaler
>>> import numpy as np
>>> n_samples, n_features = 10, 5
>>> rng = np.random.RandomState(0)
>>> y = rng.randn(n_samples)
>>> X = rng.randn(n_samples, n_features)
>>> regr = make_pipeline(StandardScaler(), SVR(C=1.0, epsilon=0.2))
>>> regr.fit(X, y)
Pipeline(steps=[('standardscaler', StandardScaler()),
                ('svr', SVR(epsilon=0.2))])
fit(X, y, sample_weight=None)[Quelle]#

Passt das SVM-Modell an die gegebenen Trainingsdaten an.

Parameter:
X{array-artig, spärs matrix} der Form (n_samples, n_features) oder (n_samples, n_samples)

Trainingsvektoren, wobei n_samples die Anzahl der Samples und n_features die Anzahl der Merkmale ist. Für kernel="precomputed" hat X die erwartete Form (n_samples, n_samples).

yarray-like von Form (n_samples,)

Zielwerte (Klassenlabels bei Klassifizierung, reelle Zahlen bei Regression).

sample_weightarray-like der Form (n_samples,), Standardwert=None

Gewichte pro Sample. Skaliert C pro Sample neu. Höhere Gewichte zwingen den Klassifikator, mehr Betonung auf diese Punkte zu legen.

Gibt zurück:
selfobject

Angepasster Schätzer.

Anmerkungen

Wenn X und y nicht C-geordnete und zusammenhängende Arrays von np.float64 sind und X keine scipy.sparse.csr_matrix ist, können X und/oder y kopiert werden.

Wenn X ein dichtes Array ist, unterstützen die anderen Methoden keine spärlichen Matrizen als Eingabe.

get_metadata_routing()[Quelle]#

Holt das Metadaten-Routing dieses Objekts.

Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.

Gibt zurück:
routingMetadataRequest

Ein MetadataRequest, der Routing-Informationen kapselt.

get_params(deep=True)[Quelle]#

Holt Parameter für diesen Schätzer.

Parameter:
deepbool, default=True

Wenn True, werden die Parameter für diesen Schätzer und die enthaltenen Unterobjekte, die Schätzer sind, zurückgegeben.

Gibt zurück:
paramsdict

Parameternamen, zugeordnet ihren Werten.

predict(X)[Quelle]#

Führt Regression auf den Samples in X durch.

Bei einem One-Class-Modell wird +1 (inlier) oder -1 (outlier) zurückgegeben.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Für kernel="precomputed" hat X die erwartete Form (n_samples_test, n_samples_train).

Gibt zurück:
y_predndarray von Form (n_samples,)

Die vorhergesagten Werte.

score(X, y, sample_weight=None)[Quelle]#

Gibt den Bestimmtheitskoeffizienten auf Testdaten zurück.

Der Bestimmtheitskoeffizient, \(R^2\), ist definiert als \((1 - \frac{u}{v})\), wobei \(u\) die Summe der quadrierten Residuen ((y_true - y_pred)** 2).sum() und \(v\) die gesamte Summe der quadrierten Abweichungen vom Mittelwert ((y_true - y_true.mean()) ** 2).sum() ist. Der beste mögliche Score ist 1.0 und er kann negativ sein (da das Modell beliebig schlechter sein kann). Ein konstantes Modell, das immer den Erwartungswert von y vorhersagt, unabhängig von den Eingabefeatures, würde einen \(R^2\)-Score von 0.0 erhalten.

Parameter:
Xarray-like der Form (n_samples, n_features)

Teststichproben. Für einige Schätzer kann dies eine vorab berechnete Kernelmatrix oder eine Liste von generischen Objekten sein, stattdessen mit der Form (n_samples, n_samples_fitted), wobei n_samples_fitted die Anzahl der für die Anpassung des Schätzers verwendeten Stichproben ist.

yarray-like der Form (n_samples,) oder (n_samples, n_outputs)

Wahre Werte für X.

sample_weightarray-like der Form (n_samples,), Standardwert=None

Stichprobengewichte.

Gibt zurück:
scorefloat

\(R^2\) von self.predict(X) bezogen auf y.

Anmerkungen

Der \(R^2\)-Score, der beim Aufruf von score auf einem Regressor verwendet wird, nutzt ab Version 0.23 multioutput='uniform_average', um konsistent mit dem Standardwert von r2_score zu sein. Dies beeinflusst die score-Methode aller Multi-Output-Regressoren (mit Ausnahme von MultiOutputRegressor).

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') SVR[Quelle]#

Konfiguriert, ob Metadaten für die fit-Methode angefordert werden sollen.

Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit enable_metadata_routing=True aktiviert ist (siehe sklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.

Die Optionen für jeden Parameter sind

  • True: Metadaten werden angefordert und, falls vorhanden, an fit übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an fit.

  • None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.

  • str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.

Der Standardwert (sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.

Hinzugefügt in Version 1.3.

Parameter:
sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter sample_weight in fit.

Gibt zurück:
selfobject

Das aktualisierte Objekt.

set_params(**params)[Quelle]#

Setzt die Parameter dieses Schätzers.

Die Methode funktioniert sowohl bei einfachen Schätzern als auch bei verschachtelten Objekten (wie Pipeline). Letztere haben Parameter der Form <component>__<parameter>, so dass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.

Parameter:
**paramsdict

Schätzer-Parameter.

Gibt zurück:
selfestimator instance

Schätzer-Instanz.

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') SVR[Quelle]#

Konfiguriert, ob Metadaten für die score-Methode angefordert werden sollen.

Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit enable_metadata_routing=True aktiviert ist (siehe sklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.

Die Optionen für jeden Parameter sind

  • True: Metadaten werden angefordert und, falls vorhanden, an score übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an score.

  • None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.

  • str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.

Der Standardwert (sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.

Hinzugefügt in Version 1.3.

Parameter:
sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter sample_weight in score.

Gibt zurück:
selfobject

Das aktualisierte Objekt.