CCA#

class sklearn.cross_decomposition.CCA(n_components=2, *, scale=True, max_iter=500, tol=1e-06, copy=True)[Quelle]#

Kanonische Korrelationsanalyse, auch bekannt als "Modus B" PLS.

Einen Vergleich mit anderen Kreuzzerlegungsalgorithmen finden Sie unter Vergleich von Kreuzzerlegungsmethoden.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
n_componentsint, Standard=2

Anzahl der zu behaltenden Komponenten. Sollte in [1, min(n_samples, n_features, n_targets)] liegen.

scalebool, Standard=True

Ob X und y skaliert werden sollen.

max_iterint, Standard=500

Die maximale Anzahl von Iterationen der Potenzmethode.

tolfloat, Standard=1e-06

Die Toleranz, die als Konvergenzkriterium in der Potenzmethode verwendet wird: Der Algorithmus stoppt, sobald die quadrierte Norm von u_i - u_{i-1} kleiner als tol ist, wobei u dem linken singulären Vektor entspricht.

copybool, Standard=True

Ob X und y vor der Zentrierung und möglicherweise Skalierung kopiert werden sollen. Wenn False, werden diese Operationen inplace durchgeführt, wodurch beide Arrays modifiziert werden.

Attribute:
x_weights_ndarray von der Form (n_features, n_components)

Die linken singulären Vektoren der Kreuzkovarianzmatrizen jeder Iteration.

y_weights_ndarray von der Form (n_targets, n_components)

Die rechten singulären Vektoren der Kreuzkovarianzmatrizen jeder Iteration.

x_loadings_ndarray von der Form (n_features, n_components)

Die Ladungen von X.

y_loadings_ndarray von der Form (n_targets, n_components)

Die Ladungen von y.

x_rotations_ndarray von der Form (n_features, n_components)

Die Projektionsmatrix, die zum Transformieren von X verwendet wird.

y_rotations_ndarray von der Form (n_targets, n_components)

Die Projektionsmatrix, die zum Transformieren von y verwendet wird.

coef_ndarray von der Form (n_targets, n_features)

Die Koeffizienten des linearen Modells, so dass y als y = X @ coef_.T + intercept_ angenähert wird.

intercept_ndarray von der Form (n_targets,)

Die Achsenabschnitte des linearen Modells, so dass y als y = X @ coef_.T + intercept_ angenähert wird.

Hinzugefügt in Version 1.1.

n_iter_Liste der Form (n_components,)

Anzahl der Iterationen der Potenzmethode für jede Komponente.

n_features_in_int

Anzahl der während des fits gesehenen Merkmale.

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

PLSCanonical

Partial Least Squares Transformer und Regressor.

PLSSVD

Partial Least Square SVD.

Beispiele

>>> from sklearn.cross_decomposition import CCA
>>> X = [[0., 0., 1.], [1.,0.,0.], [2.,2.,2.], [3.,5.,4.]]
>>> y = [[0.1, -0.2], [0.9, 1.1], [6.2, 5.9], [11.9, 12.3]]
>>> cca = CCA(n_components=1)
>>> cca.fit(X, y)
CCA(n_components=1)
>>> X_c, y_c = cca.transform(X, y)
fit(X, y)[Quelle]#

Modell an Daten anpassen.

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

Trainingsvektoren, wobei n_samples die Anzahl der Stichproben und n_features die Anzahl der Prädiktoren ist.

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

Zielvektoren, wobei n_samples die Anzahl der Stichproben und n_targets die Anzahl der Antwortvariablen ist.

Gibt zurück:
selfobject

Angepasstes Modell.

fit_transform(X, y=None)[Quelle]#

Lernt und wendet die Dimensionsreduktion auf die Trainingsdaten an.

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

Trainingsvektoren, wobei n_samples die Anzahl der Stichproben und n_features die Anzahl der Prädiktoren ist.

yarray-ähnlich der Form (n_samples, n_targets), Standard=None

Zielvektoren, wobei n_samples die Anzahl der Stichproben und n_targets die Anzahl der Antwortvariablen ist.

Gibt zurück:
selfndarray von der Form (n_samples, n_components)

Gibt x_scores zurück, wenn y nicht angegeben ist, andernfalls (x_scores, y_scores).

get_feature_names_out(input_features=None)[Quelle]#

Holt die Ausgabemerkmale für die Transformation.

Die Feature-Namen werden mit dem kleingeschriebenen Klassennamen präfixiert. Wenn der Transformer z.B. 3 Features ausgibt, dann sind die Feature-Namen: ["klassenname0", "klassenname1", "klassenname2"].

Parameter:
input_featuresarray-like von str oder None, default=None

Wird nur verwendet, um die Feature-Namen mit den in fit gesehenen Namen zu validieren.

Gibt zurück:
feature_names_outndarray von str-Objekten

Transformierte Merkmalnamen.

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.

inverse_transform(X, y=None)[Quelle]#

Daten zurück in ihren ursprünglichen Raum transformieren.

Parameter:
Xarray-ähnlich von der Form (n_samples, n_components)

Neue Daten, wobei n_samples die Anzahl der Stichproben und n_components die Anzahl der PLS-Komponenten ist.

yarray-ähnlich von der Form (n_samples,) oder (n_samples, n_components)

Neues Ziel, wobei n_samples die Anzahl der Stichproben und n_components die Anzahl der PLS-Komponenten ist.

Gibt zurück:
X_originalndarray von der Form (n_samples, n_features)

Gibt die rekonstruierten X-Daten zurück.

y_originalndarray von der Form (n_samples, n_targets)

Gibt das rekonstruierte X-Ziel zurück. Nur zurückgegeben, wenn y angegeben ist.

Anmerkungen

Diese Transformation ist nur exakt, wenn n_components=n_features.

predict(X, copy=True)[Quelle]#

Ziele der gegebenen Stichproben vorhersagen.

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

Stichproben.

copybool, Standard=True

Ob X kopiert oder inplace normalisiert werden soll.

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

Gibt vorhergesagte Werte zurück.

Anmerkungen

Dieser Aufruf erfordert die Schätzung einer Matrix der Form (n_features, n_targets), was in hochdimensionalen Räumen ein Problem darstellen kann.

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 Residuenquadratsumme ist ((y_true - y_pred)** 2).sum() und \(v\) die gesamte Summe der Quadrate ist ((y_true - y_true.mean()) ** 2).sum(). Der beste mögliche Score ist 1.0 und 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 für einen Regressor verwendet wird, nutzt multioutput='uniform_average' ab Version 0.23, um konsistent mit dem Standardwert von r2_score zu bleiben. Dies beeinflusst die score-Methode aller Multioutput-Regressoren (außer MultiOutputRegressor).

set_output(*, transform=None)[Quelle]#

Ausgabecontainer festlegen.

Siehe Einführung in die set_output API für ein Beispiel zur Verwendung der API.

Parameter:
transform{“default”, “pandas”, “polars”}, default=None

Konfiguriert die Ausgabe von transform und fit_transform.

  • "default": Standardausgabeformat eines Transformers

  • "pandas": DataFrame-Ausgabe

  • "polars": Polars-Ausgabe

  • None: Die Transformationskonfiguration bleibt unverändert

Hinzugefügt in Version 1.4: Die Option "polars" wurde hinzugefügt.

Gibt zurück:
selfestimator instance

Schätzer-Instanz.

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_predict_request(*, copy: bool | None | str = '$UNCHANGED$') CCA[Quelle]#

Konfiguriert, ob Metadaten für die predict-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 predict weitergegeben. Die Anforderung wird ignoriert, wenn keine Metadaten bereitgestellt werden.

  • False: Metadaten werden nicht angefordert und die Meta-Schätzung übergibt sie nicht an predict.

  • 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:
copystr, True, False oder None, Standard=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter copy in predict.

Gibt zurück:
selfobject

Das aktualisierte Objekt.

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

set_transform_request(*, copy: bool | None | str = '$UNCHANGED$') CCA[Quelle]#

Konfiguriert, ob Metadaten für die transform-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 transform weitergegeben. Die Anforderung wird ignoriert, wenn keine Metadaten bereitgestellt werden.

  • False: Metadaten werden nicht angefordert und die Meta-Schätzung übergibt sie nicht an transform.

  • 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:
copystr, True, False oder None, Standard=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter copy in transform.

Gibt zurück:
selfobject

Das aktualisierte Objekt.

transform(X, y=None, copy=True)[Quelle]#

Wendet die Dimensionsreduktion an.

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

Zu transformierende Stichproben.

yarray-ähnlich der Form (n_samples, n_targets), Standard=None

Zielvektoren.

copybool, Standard=True

Ob X und y kopiert oder inplace normalisiert werden sollen.

Gibt zurück:
x_scores, y_scoresarray-ähnlich oder Tupel von array-ähnlich

Gibt x_scores zurück, wenn y nicht angegeben ist, andernfalls (x_scores, y_scores).