label_binarize#

sklearn.preprocessing.label_binarize(y, *, classes, neg_label=0, pos_label=1, sparse_output=False)[Quelle]#

Binarisiert Labels im One-vs-all-Verfahren.

In scikit-learn stehen mehrere Regressions- und binäre Klassifikationsalgorithmen zur Verfügung. Eine einfache Möglichkeit, diese Algorithmen auf den Multi-Class-Klassifikationsfall zu erweitern, ist die Verwendung des sogenannten One-vs-All-Schemas.

Diese Funktion ermöglicht die Berechnung dieser Transformation für einen festen Satz von Klassenbezeichnungen, die im Voraus bekannt sind.

Parameter:
yarray-like oder Sparse-Matrix

Sequenz von Integer-Labels oder Multilabel-Daten zum Kodieren.

classesarray-like der Form (n_classes,)

Enthält eindeutig das Label für jede Klasse.

neg_labelint, Standardwert=0

Wert, mit dem negative Labels kodiert werden müssen.

pos_labelint, Standardwert=1

Wert, mit dem positive Labels kodiert werden müssen.

sparse_outputbool, Standardwert=False,

Auf True setzen, wenn die binäre Ausgabematrix im CSR-Sparse-Format gewünscht wird.

Gibt zurück:
Y{ndarray, sparse matrix} von Form (n_samples, n_classes)

Die Form wird bei binären Problemen (n_samples, 1) sein. Die Sparse-Matrix wird im CSR-Format vorliegen.

Siehe auch

LabelBinarizer

Klasse, die verwendet wird, um die Funktionalität von label_binarize zu wrappen und das Anpassen an Klassen unabhängig von der Transformationsoperation zu ermöglichen.

Beispiele

>>> from sklearn.preprocessing import label_binarize
>>> label_binarize([1, 6], classes=[1, 2, 4, 6])
array([[1, 0, 0, 0],
       [0, 0, 0, 1]])

Die Klassenreihenfolge wird beibehalten

>>> label_binarize([1, 6], classes=[1, 6, 4, 2])
array([[1, 0, 0, 0],
       [0, 1, 0, 0]])

Binäre Ziele werden in einen Spaltenvektor transformiert

>>> label_binarize(['yes', 'no', 'no', 'yes'], classes=['no', 'yes'])
array([[1],
       [0],
       [0],
       [1]])