RegressorChain#

class sklearn.multioutput.RegressorChain(estimator=None, *, order=None, cv=None, random_state=None, verbose=False, base_estimator='deprecated')[source]#

Ein Multi-Label-Modell, das Regressionen zu einer Kette anordnet.

Jedes Modell macht eine Vorhersage in der durch die Kette spezifizierten Reihenfolge, wobei alle verfügbaren Features, die dem Modell übergeben werden, sowie die Vorhersagen von früheren Modellen in der Kette verwendet werden.

Lesen Sie mehr im Benutzerhandbuch.

Hinzugefügt in Version 0.20.

Parameter:
estimatorestimator

Der Basisschätzer, auf dem die Regressor-Kette aufgebaut ist.

orderarray-like mit Form (n_outputs,) oder ‘random’, Standard=None

Wenn None, wird die Reihenfolge durch die Reihenfolge der Spalten in der Label-Matrix Y bestimmt.

order = [0, 1, 2, ..., Y.shape[1] - 1]

Die Reihenfolge der Kette kann explizit durch Angabe einer Liste von Ganzzahlen festgelegt werden. Zum Beispiel für eine Kette der Länge 5.

order = [1, 3, 2, 4, 0]

bedeutet, dass das erste Modell in der Kette Vorhersagen für Spalte 1 in der Y-Matrix macht, das zweite Modell Vorhersagen für Spalte 3 usw. macht.

Wenn order ‘random’ ist, wird eine zufällige Reihenfolge verwendet.

cvint, Kreuzvalidierungsgenerator oder iterierbar, Standardwert=None

Bestimmt, ob Kreuzvalidierungs-Vorhersagen oder wahre Labels für die Ergebnisse früherer Schätzer in der Kette verwendet werden sollen. Mögliche Eingaben für cv sind

  • None, um wahre Labels beim Anpassen zu verwenden,

  • Integer, um die Anzahl der Folds in einem (Stratified)KFold anzugeben,

  • CV-Splitter,

  • Eine iterierbare Liste, die (Trainings-, Test-) Splits als Indizes-Arrays liefert.

random_stateint, RandomState-Instanz oder None, optional (Standard=None)

Wenn order='random', bestimmt die Zufallszahlengenerierung für die Kettenreihenfolge. Zusätzlich steuert es den Zufalls-Seed, der bei jeder base_estimator bei jeder Ketteniteration übergeben wird. Daher wird es nur verwendet, wenn base_estimator einen random_state exponiert. Übergeben Sie eine Ganzzahl für reproduzierbare Ausgaben über mehrere Funktionsaufrufe hinweg. Siehe Glossar.

verbosebool, default=False

Wenn True, wird der Fortschritt der Kette ausgegeben, sobald jedes Modell abgeschlossen ist.

Hinzugefügt in Version 1.2.

base_estimatorestimator, Standard=”deprecated”

Verwenden Sie stattdessen estimator.

Veraltet seit Version 1.7: base_estimator ist veraltet und wird in Version 1.9 entfernt. Verwenden Sie stattdessen estimator.

Attribute:
estimators_list

Eine Liste von Klonen des Basisschätzers.

order_list

Die Reihenfolge der Labels in der Klassifikationskette.

n_features_in_int

Anzahl der während des fit gesehenen Merkmale. Nur definiert, wenn der zugrunde liegende base_estimator ein solches Attribut beim Anpassen exponiert.

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.

Siehe auch

ClassifierChain

Äquivalent für Klassifikation.

MultiOutputRegressor

Lernt jeden Output unabhängig anstatt eine Kette zu bilden.

Beispiele

>>> from sklearn.multioutput import RegressorChain
>>> from sklearn.linear_model import LogisticRegression
>>> logreg = LogisticRegression(solver='lbfgs')
>>> X, Y = [[1, 0], [0, 1], [1, 1]], [[0, 2], [1, 1], [2, 0]]
>>> chain = RegressorChain(logreg, order=[0, 1]).fit(X, Y)
>>> chain.predict(X)
array([[0., 2.],
       [1., 1.],
       [2., 0.]])
fit(X, Y, **fit_params)[source]#

Passt das Modell an die Datenmatrix X und die Ziele Y an.

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

Die Eingabedaten.

Yarray-like mit Form (n_samples, n_classes)

Die Zielwerte.

**fit_paramsdict von String -> Objekt

Parameter, die bei jedem Schritt der Regressor-Kette an die fit-Methode übergeben werden.

Hinzugefügt in Version 0.23.

Gibt zurück:
selfobject

Gibt eine angepasste Instanz zurück.

get_metadata_routing()[source]#

Holt das Metadaten-Routing dieses Objekts.

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

Hinzugefügt in Version 1.3.

Gibt zurück:
routingMetadataRouter

Ein MetadataRouter, der die Routing-Informationen kapselt.

get_params(deep=True)[source]#

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)[source]#

Vorhersagen für die Datenmatrix X mit dem ClassifierChain-Modell.

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

Die Eingabedaten.

Gibt zurück:
Y_predarray-like mit Form (n_samples, n_classes)

Die vorhergesagten Werte.

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

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 Summe der quadrierten Gesamtabweichungen ((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 und dabei die Eingabemerkmale ignoriert, 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 beim Aufruf von score auf einem Regressor verwendet wird, benutzt multioutput='uniform_average' ab Version 0.23, um mit dem Standardwert von r2_score konsistent zu bleiben. Dies beeinflusst die score-Methode aller Multioutput-Regressoren (mit Ausnahme von MultiOutputRegressor).

set_params(**params)[source]#

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$') RegressorChain[source]#

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.