Dies sind nur Convenience-Funktionen, die auf natürliche Weise in die Art und Weise fallen, wie diese beiden Bibliotheken Dinge tun. Der erste "kondensiert" die Information, indem er die Dinge in Ganzzahlen umwandelt, und der zweite "erweitert" die Dimensionen, um (möglicherweise) einen bequemeren Zugang zu ermöglichen.
sklearn.preprocessing.LabelEncoder
einfach wandelt Daten aus beliebiger Domäne, so dass seine Domain 0, ..., k - 1, wo k die Anzahl der Klassen ist.
So zum Beispiel
["paris", "paris", "tokyo", "amsterdam"]
[0, 0, 1, 2]
pandas.get_dummies
nimmt auch eine Serie mit Elementen von einigen Domain werden könnte, sondern erweitert es in einen Datenrahmen, deren Spalten mit den Einträgen entsprechen in der Serie, und die Werte sind 0 oder 1, je nachdem, was sie ursprünglich waren. So zum Beispiel die gleiche
["paris", "paris", "tokyo", "amsterdam"]
würde ein Datenrahmen mit Etiketten
["paris", "tokyo", "amsterdam"]
und deren "paris"
Eintrag wäre die Serie
[1, 1, 0, 0]
Der Hauptvorteil der Die erste Methode ist, dass es Platz spart. Umgekehrt kann das Kodieren von Dingen als Integer den Eindruck erwecken (für Sie oder einen maschinellen Lernalgorithmus), dass die Reihenfolge etwas bedeutet. Ist "amsterdam" nur wegen der Integer-Codierung näher an "tokyo" als an "paris"? wahrscheinlich nicht. Die zweite Darstellung ist etwas klarer.
Das Äquivalent von 'get_dummies' ist [' OneHotEncoder'] (http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html) übrigens. – ayhan