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
Xundyskaliert 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 alstolist, wobeiudem linken singulären Vektor entspricht.- copybool, Standard=True
Ob
Xundyvor 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
Xverwendet wird.- y_rotations_ndarray von der Form (n_targets, n_components)
Die Projektionsmatrix, die zum Transformieren von
yverwendet wird.- coef_ndarray von der Form (n_targets, n_features)
Die Koeffizienten des linearen Modells, so dass
yalsy = X @ coef_.T + intercept_angenähert wird.- intercept_ndarray von der Form (n_targets,)
Die Achsenabschnitte des linearen Modells, so dass
yalsy = 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
XMerkmalnamen hat, die alle Zeichenketten sind.Hinzugefügt in Version 1.0.
Siehe auch
PLSCanonicalPartial Least Squares Transformer und Regressor.
PLSSVDPartial 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_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Prädiktoren ist.- yarray-like der Form (n_samples,) oder (n_samples, n_targets)
Zielvektoren, wobei
n_samplesdie Anzahl der Stichproben undn_targetsdie 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_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Prädiktoren ist.- yarray-ähnlich der Form (n_samples, n_targets), Standard=None
Zielvektoren, wobei
n_samplesdie Anzahl der Stichproben undn_targetsdie Anzahl der Antwortvariablen ist.
- Gibt zurück:
- selfndarray von der Form (n_samples, n_components)
Gibt
x_scoreszurück, wennynicht 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
fitgesehenen 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_samplesdie Anzahl der Stichproben undn_componentsdie Anzahl der PLS-Komponenten ist.- yarray-ähnlich von der Form (n_samples,) oder (n_samples, n_components)
Neues Ziel, wobei
n_samplesdie Anzahl der Stichproben undn_componentsdie 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, wennyangegeben 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
Xkopiert 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 vonyvorhersagt, 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), wobein_samples_fitteddie 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 aufy.
Anmerkungen
Der \(R^2\)-Score, der beim Aufruf von
scorefür einen Regressor verwendet wird, nutztmultioutput='uniform_average'ab Version 0.23, um konsistent mit dem Standardwert vonr2_scorezu bleiben. Dies beeinflusst diescore-Methode aller Multioutput-Regressoren (außerMultiOutputRegressor).
- 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
transformundfit_transform."default": Standardausgabeformat eines Transformers"pandas": DataFrame-Ausgabe"polars": Polars-AusgabeNone: 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=Trueaktiviert ist (siehesklearn.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, anpredictweitergegeben. Die Anforderung wird ignoriert, wenn keine Metadaten bereitgestellt werden.False: Metadaten werden nicht angefordert und die Meta-Schätzung übergibt sie nicht anpredict.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
copyinpredict.
- 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=Trueaktiviert ist (siehesklearn.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, anscoreübergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht anscore.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_weightinscore.
- 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=Trueaktiviert ist (siehesklearn.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, antransformweitergegeben. Die Anforderung wird ignoriert, wenn keine Metadaten bereitgestellt werden.False: Metadaten werden nicht angefordert und die Meta-Schätzung übergibt sie nicht antransform.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
copyintransform.
- 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
Xundykopiert oder inplace normalisiert werden sollen.
- Gibt zurück:
- x_scores, y_scoresarray-ähnlich oder Tupel von array-ähnlich
Gibt
x_scoreszurück, wennynicht angegeben ist, andernfalls(x_scores, y_scores).