QuantileRegressor#

class sklearn.linear_model.QuantileRegressor(*, quantile=0.5, alpha=1.0, fit_intercept=True, solver='highs', solver_options=None)[Quelle]#

Lineares Regressionsmodell, das bedingte Quantile vorhersagt.

Der lineare QuantileRegressor optimiert den Pinball-Loss für ein gewünschtes quantile und ist robust gegenüber Ausreißern.

Dieses Modell verwendet eine L1-Regularisierung wie Lasso.

Lesen Sie mehr im Benutzerhandbuch.

Hinzugefügt in Version 1.0.

Parameter:
quantilefloat, Standard=0.5

Das Quantil, das das Modell zu prognostizieren versucht. Es muss strikt zwischen 0 und 1 liegen. Wenn 0.5 (Standardwert), prognostiziert das Modell das 50%-Quantil, d. h. den Median.

alphafloat, default=1.0

Regularisierungskonstante, die den L1-Strafterm multipliziert.

fit_interceptbool, Standardwert=True

Ob der Achsenabschnitt angepasst werden soll oder nicht.

solver{‘highs-ds’, ‘highs-ipm’, ‘highs’, ‘interior-point’, ‘revised simplex’}, Standard=’highs’

Methode, die von scipy.optimize.linprog zur Lösung der linearen Programmformulierung verwendet wird.

Es wird empfohlen, die Highs-Methoden zu verwenden, da sie die schnellsten sind. Die Solver „highs-ds“, „highs-ipm“ und „highs“ unterstützen spärliche Eingabedaten und konvertieren diese tatsächlich immer zu spärlichem csc.

Ab scipy>=1.11.0 ist „interior-point“ nicht mehr verfügbar.

Geändert in Version 1.4: Der Standardwert von solver wurde in Version 1.4 auf "highs" geändert.

solver_optionsdict, Standard=None

Zusätzliche Parameter, die als Optionen an scipy.optimize.linprog übergeben werden. Wenn None und wenn solver='interior-point', dann wird {"lstsq": True} zur Stabilität an scipy.optimize.linprog übergeben.

Attribute:
coef_array der Form (n_features,)

Geschätzte Koeffizienten für die Merkmale.

intercept_float

Der Achsenabschnitt des Modells, auch Bias-Term genannt.

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

Die tatsächliche Anzahl der vom Solver durchgeführten Iterationen.

Siehe auch

Lasso

Der Lasso ist ein lineares Modell, das spärliche Koeffizienten mit L1-Regularisierung schätzt.

HuberRegressor

Lineares Regressionsmodell, das robust gegenüber Ausreißern ist.

Beispiele

>>> from sklearn.linear_model import QuantileRegressor
>>> import numpy as np
>>> n_samples, n_features = 10, 2
>>> rng = np.random.RandomState(0)
>>> y = rng.randn(n_samples)
>>> X = rng.randn(n_samples, n_features)
>>> # the two following lines are optional in practice
>>> from sklearn.utils.fixes import sp_version, parse_version
>>> reg = QuantileRegressor(quantile=0.8).fit(X, y)
>>> np.mean(y <= reg.predict(X))
np.float64(0.8)
fit(X, y, sample_weight=None)[Quelle]#

Trainiert das Modell anhand der gegebenen Trainingsdaten.

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

Trainingsdaten.

yarray-like von Form (n_samples,)

Zielwerte.

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

Stichprobengewichte.

Gibt zurück:
selfobject

Gibt sich selbst zurück.

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]#

Vorhersage mit dem linearen Modell.

Parameter:
Xarray-like oder sparse matrix, Form (n_samples, n_features)

Stichproben.

Gibt zurück:
Carray, Form (n_samples,)

Gibt vorhergesagte Werte zurück.

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 totale Summe der quadrierten Abweichungen ((y_true - y_true.mean()) ** 2).sum() ist. Der bestmö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 Eingabemerkmalen, würde einen \(R^2\)-Score von 0.0 erzielen.

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 bei 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 bleiben. Dies beeinflusst die score-Methode aller Multi-Output-Regressoren (mit Ausnahme von MultiOutputRegressor).

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') QuantileRegressor[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$') QuantileRegressor[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.