label-encoder-Kodierung fehlende Werte
Ich bin mit label-encoder zum konvertieren von kategorischen Daten in numerische Werte.
Wie funktioniert LabelEncoder behandelt fehlende Werte?
from sklearn.preprocessing import LabelEncoder
import pandas as pd
import numpy as np
a = pd.DataFrame(['A','B','C',np.nan,'D','A'])
le = LabelEncoder()
le.fit_transform(a)
Ausgabe:
array([1, 2, 3, 0, 4, 1])
Für das oben genannte Beispiel, label encoder geändert NaN-Werte zu einer Kategorie. Wie würde ich wissen, welche Kategorie steht für fehlende Werte?
InformationsquelleAutor saurabh agarwal | 2016-04-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht verwenden
LabelEncoder
mit fehlenden Werten. Ich weiß nicht, welche version vonscikit-learn
Sie verwenden, aber in 0.17.1 dein code wirftTypeError: unorderable types: str() > float()
.Wie Sie sehen können in der Quelle es nutzt
numpy.unique
gegen die Daten zu Kodieren, was wirftTypeError
wenn die fehlenden Werte gefunden werden. Wenn du encodieren willst, fehlende Werte, zuerst ändern Sie den Typ in einen string:InformationsquelleAutor dukebody
Hallo, ein wenig Rechenleistung hack habe ich zu meiner eigenen Arbeit:
fit_by
ist eine Liste, Listen, die nicht über ein.apply()
Methode, bitte korrigierenInformationsquelleAutor Kerem T
Füllen Sie die na ' s von Wert und später ändern Sie das dataframe Spalte Typ auf string.
InformationsquelleAutor raghu nanden
Dies ist meine Lösung, weil ich war nicht zufrieden mit den Lösungen, die hier gepostet. Ich brauchte eine LabelEncoder hält, dass meine fehlende Werte als " NaN " aus, um eine Imputer danach. So ich geschrieben habe, meine eigenen LabelEncoder Klasse. Sie arbeiten mit DataFrames.
Können Sie einen DataFrame, der nicht nur ein 1-dim-Serie. mit col können Sie wählen die Spalten aus, die codiert werden sollten.
Ich würde gerne hier ein feedback.
newdf = LabelEncoderByCol(df)
- nun, wie wandle ich es um pandas?InformationsquelleAutor Niclas von Caprivi
können Sie auch eine Maske verwenden, ersetzen den ursprünglichen Daten-frame nach Kennzeichnung
InformationsquelleAutor ulrich
Ich vor dem gleichen problem, aber keine der oben genannten für mich gearbeitet. Also ich habe eine neue Zeile mit den Trainingsdaten, bestehend nur "nan"
InformationsquelleAutor silent_dev
Folgenden encoder-Adressen Keine Werte in jeder Kategorie.
Verwendet Beispiel
InformationsquelleAutor Ashok Kumar Pant
Dies ist, wie ich es gemacht habe:
und bei der Anwendung neuer test-Daten:
InformationsquelleAutor muon