PolynomialFeatures#
- class sklearn.preprocessing.PolynomialFeatures(degree=2, *, interaction_only=False, include_bias=True, order='C')[Quelle]#
Generiert Polynom- und Interaktionsmerkmale.
Generiert eine neue Merkmalsmatrix, die aus allen Polynomkombinationen der Merkmale mit einem Grad kleiner oder gleich dem angegebenen Grad besteht. Wenn beispielsweise eine Eingabestichprobe zweidimensional ist und die Form [a, b] hat, sind die Polynommerkmale vom Grad 2 [1, a, b, a^2, ab, b^2].
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- degreeint oder Tupel (min_degree, max_degree), Standardwert=2
Wenn eine einzelne Ganzzahl angegeben wird, gibt sie den maximalen Grad der Polynommerkmale an. Wenn ein Tupel
(min_degree, max_degree)übergeben wird, istmin_degreeder Mindest- undmax_degreeder maximale Polynomgrad der generierten Merkmale. Beachten Sie, dassmin_degree=0undmin_degree=1äquivalent sind, da die Ausgabe des Terms vom Grad Null durchinclude_biasbestimmt wird.- interaction_onlybool, Standardwert=False
Wenn
True, werden nur Interaktionsmerkmale erzeugt: Merkmale, die Produkte von höchstensdegree*unterschiedlichen* Eingabemerkmalen sind, d. h. Terme mit einer Potenz von 2 oder höher des gleichen Eingabemerkmals sind ausgeschlossenenthalten:
x[0],x[1],x[0] * x[1], usw.ausgeschlossen:
x[0] ** 2,x[0] ** 2 * x[1], usw.
- include_biasbool, Standardwert=True
Wenn
True(Standard), wird eine Bias-Spalte hinzugefügt, das Merkmal, in dem alle Polynompotenzen Null sind (d. h. eine Spalte mit Einsen - wirkt als Achsenabschnitt in einem linearen Modell).- order{‘C’, ‘F’}, Standardwert=’C’
Reihenfolge des Ausgabe-Arrays im dichten Fall. Die Reihenfolge
'F'ist schneller zu berechnen, kann aber nachfolgende Schätzer verlangsamen.Hinzugefügt in Version 0.21.
- Attribute:
powers_ndarray der Form (n_output_features_, n_features_in_)Exponent für jeden der Eingaben in der Ausgabe.
- 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
XMerkmalnamen hat, die alle Zeichenketten sind.Hinzugefügt in Version 1.0.
- n_output_features_int
Die Gesamtzahl der Polynom-Ausgabemerkmale. Die Anzahl der Ausgabemerkmale wird berechnet, indem alle passend dimensionierten Kombinationen von Eingabemerkmalen durchlaufen werden.
Siehe auch
SplineTransformerTransformer, der univariante B-Spline-Basen für Merkmale generiert.
Anmerkungen
Beachten Sie, dass die Anzahl der Merkmale im Ausgabe-Array polynomial in der Anzahl der Merkmale des Eingabe-Arrays und exponentiell in der Potenz skaliert. Hohe Potenzen können zu Überanpassung führen.
Siehe examples/linear_model/plot_polynomial_interpolation.py
Beispiele
>>> import numpy as np >>> from sklearn.preprocessing import PolynomialFeatures >>> X = np.arange(6).reshape(3, 2) >>> X array([[0, 1], [2, 3], [4, 5]]) >>> poly = PolynomialFeatures(2) >>> poly.fit_transform(X) array([[ 1., 0., 1., 0., 0., 1.], [ 1., 2., 3., 4., 6., 9.], [ 1., 4., 5., 16., 20., 25.]]) >>> poly = PolynomialFeatures(interaction_only=True) >>> poly.fit_transform(X) array([[ 1., 0., 1., 0.], [ 1., 2., 3., 6.], [ 1., 4., 5., 20.]])
- fit(X, y=None)[Quelle]#
Berechnet die Anzahl der Ausgabemerkmale.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Daten.
- yIgnoriert
Nicht verwendet, hier zur API-Konsistenz durch Konvention vorhanden.
- Gibt zurück:
- selfobject
Gefitteter Transformer.
- fit_transform(X, y=None, **fit_params)[Quelle]#
An Daten anpassen, dann transformieren.
Passt den Transformer an
Xundymit optionalen Parameternfit_paramsan und gibt eine transformierte Version vonXzurück.- Parameter:
- Xarray-like der Form (n_samples, n_features)
Eingabestichproben.
- yarray-like der Form (n_samples,) oder (n_samples, n_outputs), Standardwert=None
Zielwerte (None für unüberwachte Transformationen).
- **fit_paramsdict
Zusätzliche Fit-Parameter. Nur übergeben, wenn der Estimator zusätzliche Parameter in seiner
fit-Methode akzeptiert.
- Gibt zurück:
- X_newndarray array der Form (n_samples, n_features_new)
Transformiertes Array.
- get_feature_names_out(input_features=None)[Quelle]#
Holt die Ausgabemerkmale für die Transformation.
- Parameter:
- input_featuresarray-like von str oder None, default=None
Eingabemerkmale.
Wenn
input_features ist None, werdenfeature_names_in_als Eingabemerkmalsnamen verwendet. Wennfeature_names_in_nicht definiert ist, werden folgende Eingabemerkmalsnamen generiert:["x0", "x1", ..., "x(n_features_in_ - 1)"].Wenn
input_featuresein Array-ähnliches Objekt ist, mussinput_featuresmitfeature_names_in_übereinstimmen, wennfeature_names_in_definiert ist.
- 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.
- 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.
- transform(X)[Quelle]#
Transformiert Daten in Polynommerkmale.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die zu transformierenden Daten, Zeile für Zeile.
Bevorzugen Sie CSR gegenüber CSC für sparse Eingaben (für Geschwindigkeit), aber CSC ist erforderlich, wenn der Grad 4 oder höher ist. Wenn der Grad kleiner als 4 ist und das Eingabeformat CSC ist, wird es in CSR konvertiert, seine Polynommerkmale werden generiert und dann wieder in CSC konvertiert.
Wenn der Grad 2 oder 3 beträgt, wird die in „Leveraging Sparsity to Speed Up Polynomial Feature Expansions of CSR Matrices Using K-Simplex Numbers“ von Andrew Nystrom und John Hughes beschriebene Methode verwendet, die wesentlich schneller ist als die Methode für CSC-Eingaben. Aus diesem Grund wird eine CSC-Eingabe in CSR konvertiert und die Ausgabe vor der Rückgabe wieder in CSC konvertiert, daher die Präferenz für CSR.
- Gibt zurück:
- XP{ndarray, sparse matrix} der Form (n_samples, NP)
Die Matrix der Merkmale, wobei
NPdie Anzahl der Polynommerkmale ist, die aus der Kombination von Eingaben generiert werden. Wenn eine sparse Matrix bereitgestellt wird, wird sie in eine sparsecsr_matrixkonvertiert.
Galeriebeispiele#
Visualisierung der probabilistischen Vorhersagen eines VotingClassifier
Poisson-Regression und nicht-normale Verlustfunktion
Klassifikationsgrenzen mit verschiedenen SVM-Kernen plotten