KNNImputer#
- class sklearn.impute.KNNImputer(*, missing_values=nan, n_neighbors=5, weights='uniform', metric='nan_euclidean', copy=True, add_indicator=False, keep_empty_features=False)[Quelle]#
Imputation zur Vervollständigung fehlender Werte mittels k-Nächste Nachbarn.
Die fehlenden Werte jedes Musters werden mit dem Mittelwert von
n_neighborsnächsten Nachbarn im Trainingsdatensatz imputiert. Zwei Muster sind nah beieinander, wenn die Merkmale, die für keines von beiden fehlen, nah beieinander liegen.Lesen Sie mehr im Benutzerhandbuch.
Hinzugefügt in Version 0.22.
- Parameter:
- missing_valuesint, float, str, np.nan oder None, Standard=np.nan
Der Platzhalter für die fehlenden Werte. Alle Vorkommen von
missing_valueswerden imputiert. Für Pandas-DataFrames mit nullable Integer-Datentypen mit fehlenden Werten solltemissing_valuesauf np.nan gesetzt werden, dapd.NAin np.nan konvertiert wird.- n_neighborsint, Standard=5
Anzahl der benachbarten Muster, die für die Imputation verwendet werden.
- weights{‘uniform’, ‘distance’} oder aufrufbar, Standard=’uniform’
Gewichtsfunktion, die bei der Vorhersage verwendet wird. Mögliche Werte
‘uniform’ : gleichmäßige Gewichte. Alle Punkte in jedem Nachbarschaftsbereich werden gleich gewichtet.
‘distance’ : Punkte werden nach dem Kehrwert ihrer Entfernung gewichtet. In diesem Fall haben nähere Nachbarn eines Anfragepunkts mehr Einfluss als weiter entfernte Nachbarn.
aufrufbar: Eine benutzerdefinierte Funktion, die ein Array von Distanzen entgegennimmt und ein Array derselben Form mit den Gewichten zurückgibt.
- metric{‘nan_euclidean’} oder aufrufbar, Standard=’nan_euclidean’
Distanzmetrik zur Suche nach Nachbarn. Mögliche Werte
‘nan_euclidean’
aufrufbar: Eine benutzerdefinierte Funktion, die der Definition von
func_metric(x, y, *, missing_values=np.nan)entspricht.xundyentsprechen einer Zeile (d.h. 1D-Arrays) vonXbzw.Y. Die aufrufbare Funktion sollte einen skalaren Distanzwert zurückgeben.
- copybool, Standard=True
Wenn True, wird eine Kopie von X erstellt. Wenn False, erfolgt die Imputation, wo immer möglich, direkt (in-place).
- add_indicatorbool, Standardwert=False
Wenn True, wird ein
MissingIndicator-Transformationsmodul an die Ausgabe des Transformators des Imputers angehängt. Dies ermöglicht es einem prädiktiven Schätzer, fehlende Werte trotz Imputation zu berücksichtigen. Wenn ein Merkmal zur Trainingszeit keine fehlenden Werte aufweist, erscheint das Merkmal im fehlenden Indikator nicht, auch wenn zur Testzeit fehlende Werte vorhanden sind.- keep_empty_featuresbool, Standardwert=False
Wenn True, werden Merkmale, die bei Aufruf von
fitausschließlich aus fehlenden Werten bestehen, bei Aufruf vontransformin den Ergebnissen zurückgegeben. Der imputierte Wert ist immer0.Hinzugefügt in Version 1.2.
- Attribute:
- indicator_
MissingIndicator Indikator, der zum Hinzufügen binärer Indikatoren für fehlende Werte verwendet wird.
None, wenn add_indicator False ist.- 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.
- indicator_
Siehe auch
SimpleImputerUnivariater Imputer zur Vervollständigung fehlender Werte mit einfachen Strategien.
IterativeImputerMultivariater Imputer, der Werte zur Imputation für jedes Merkmal mit fehlenden Werten aus allen anderen Merkmalen schätzt.
Referenzen
Beispiele
>>> import numpy as np >>> from sklearn.impute import KNNImputer >>> X = [[1, 2, np.nan], [3, 4, 3], [np.nan, 6, 5], [8, 8, 7]] >>> imputer = KNNImputer(n_neighbors=2) >>> imputer.fit_transform(X) array([[1. , 2. , 4. ], [3. , 4. , 3. ], [5.5, 6. , 5. ], [8. , 8. , 7. ]])
Ein detaillierteres Beispiel finden Sie unter Fehlende Werte vor dem Aufbau eines Schätzers imputieren.
- fit(X, y=None)[Quelle]#
Den Imputer an X anpassen.
- Parameter:
- Xarray-ähnlich, Form (n_samples, n_features)
Eingabedaten, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Merkmale ist.- yIgnoriert
Nicht verwendet, hier zur API-Konsistenz durch Konvention vorhanden.
- Gibt zurück:
- selfobject
Die angepasste Instanz der Klasse
KNNImputer.
- 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_featuresNoneist, werdenfeature_names_in_als Merkmalnamen verwendet. Wennfeature_names_in_nicht definiert ist, werden die folgenden 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]#
Imputiere alle fehlenden Werte in X.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Die Eingabedaten, die vervollständigt werden sollen.
- Gibt zurück:
- Xarray-ähnlich der Form (n_samples, n_output_features)
Der imputierte Datensatz.
n_output_featuresist die Anzahl der Merkmale, die währendfitnicht immer fehlen.
Galeriebeispiele#
Fehlende Werte imputieren, bevor ein Schätzer erstellt wird