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, ist min_degree der Mindest- und max_degree der maximale Polynomgrad der generierten Merkmale. Beachten Sie, dass min_degree=0 und min_degree=1 äquivalent sind, da die Ausgabe des Terms vom Grad Null durch include_bias bestimmt wird.

interaction_onlybool, Standardwert=False

Wenn True, werden nur Interaktionsmerkmale erzeugt: Merkmale, die Produkte von höchstens degree *unterschiedlichen* Eingabemerkmalen sind, d. h. Terme mit einer Potenz von 2 oder höher des gleichen Eingabemerkmals sind ausgeschlossen

  • enthalten: 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 X Merkmalnamen 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

SplineTransformer

Transformer, 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 X und y mit optionalen Parametern fit_params an und gibt eine transformierte Version von X zurü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, werden feature_names_in_ als Eingabemerkmalsnamen verwendet. Wenn feature_names_in_ nicht definiert ist, werden folgende Eingabemerkmalsnamen generiert: ["x0", "x1", ..., "x(n_features_in_ - 1)"].

  • Wenn input_features ein Array-ähnliches Objekt ist, muss input_features mit feature_names_in_ übereinstimmen, wenn feature_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 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.

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 NP die Anzahl der Polynommerkmale ist, die aus der Kombination von Eingaben generiert werden. Wenn eine sparse Matrix bereitgestellt wird, wird sie in eine sparse csr_matrix konvertiert.