Das Vorhersageziel transformieren

Machine LearningMachine LearningBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Beim maschinellen Lernen ist es oft erforderlich, das Vorhersageziel vor dem Training eines Modells zu transformieren. Dies kann Aufgaben wie das Konvertieren von Mehrklassen-Labels in eine binäre Indikator-Matrix oder das Kodieren von nicht numerischen Labels in numerische Labels umfassen.

In diesem Lab werden wir die verschiedenen Techniken erkunden, die das Modul sklearn.preprocessing in scikit-learn bietet, um das Vorhersageziel zu transformieren.

VM-Tipps

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/DataPreprocessingandFeatureEngineeringGroup(["Data Preprocessing and Feature Engineering"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/DataPreprocessingandFeatureEngineeringGroup -.-> sklearn/preprocessing("Preprocessing and Normalization") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/preprocessing -.-> lab-71136{{"Das Vorhersageziel transformieren"}} ml/sklearn -.-> lab-71136{{"Das Vorhersageziel transformieren"}} end

Label-Binarisierung

Label-Binarisierung ist der Prozess der Konvertierung von Mehrklassen-Labels in eine binäre Indikator-Matrix. Dies kann mit der Klasse LabelBinarizer erreicht werden.

from sklearn import preprocessing

## Erstellen einer LabelBinarizer-Instanz
lb = preprocessing.LabelBinarizer()

## Anpassen der LabelBinarizer an eine Liste von Mehrklassen-Labels
lb.fit([1, 2, 6, 4, 2])

## Die von der LabelBinarizer gelernten Klassen abrufen
lb.classes_

## Transformieren einer Liste von Mehrklassen-Labels in eine binäre Indikator-Matrix
lb.transform([1, 6])

Mehrfachlabel-Binarisierung

Mehrfachlabel-Binarisierung ist der Prozess der Konvertierung einer Sammlung von Label-Sammlungen in ein Indikatorformat. Dies kann mit der Klasse MultiLabelBinarizer erreicht werden.

from sklearn.preprocessing import MultiLabelBinarizer

## Definieren einer Liste von Label-Sammlungen
y = [[2, 3, 4], [2], [0, 1, 3], [0, 1, 2, 3, 4], [0, 1, 2]]

## Erstellen einer MultiLabelBinarizer-Instanz und Anwenden von fit_transform auf die Liste der Sammlungen
MultiLabelBinarizer().fit_transform(y)

Label-Kodierung

Label-Kodierung ist der Prozess der Konvertierung von nicht numerischen Labels in numerische Labels. Dies kann mit der Klasse LabelEncoder erreicht werden.

from sklearn import preprocessing

## Erstellen einer LabelEncoder-Instanz
le = preprocessing.LabelEncoder()

## Anpassen der LabelEncoder an eine Liste von nicht numerischen Labels
le.fit(["paris", "paris", "tokyo", "amsterdam"])

## Die von der LabelEncoder gelernten Klassen abrufen
list(le.classes_)

## Transformieren einer Liste von nicht numerischen Labels in numerische Labels
le.transform(["tokyo", "tokyo", "paris"])

## Inverse Transformation numerischer Labels zurück in nicht numerische Labels
list(le.inverse_transform([2, 2, 1]))

Zusammenfassung

In diesem Lab haben wir gelernt, wie man das Vorhersageziel mit Hilfe verschiedener Techniken des Moduls sklearn.preprocessing in scikit-learn transformieren kann. Zu diesen Techniken gehörten die Label-Binarisierung, die Mehrfachlabel-Binarisierung und die Label-Kodierung.