compute_class_weight#

sklearn.utils.class_weight.compute_class_weight(class_weight, *, classes, y, sample_weight=None)[Quellcode]#

Schätzt Klassengewichte für unausgeglichene Datensätze.

Parameter:
class_weightdict, “balanced” oder None

Wenn „balanced“, werden die Klassengewichte gegeben durch n_samples / (n_classes * np.bincount(y)) oder deren gewichtete Entsprechung, wenn sample_weight bereitgestellt wird. Wenn ein Wörterbuch gegeben wird, sind die Schlüssel Klassen und die Werte die entsprechenden Klassengewichte. Wenn None gegeben wird, sind die Klassengewichte einheitlich.

classesndarray

Array der Klassen, die in den Daten vorkommen, wie gegeben durch np.unique(y_org) mit y_org den ursprünglichen Klassenbezeichnungen.

yarray-like von Form (n_samples,)

Array der ursprünglichen Klassenbezeichnungen pro Stichprobe.

sample_weightarray-like der Form (n_samples,), Standardwert=None

Array von Gewichten, die einzelnen Stichproben zugewiesen werden. Wird nur verwendet, wenn class_weight='balanced'.

Gibt zurück:
class_weight_vectndarray der Form (n_classes,)

Array mit class_weight_vect[i] dem Gewicht für die i-te Klasse.

Referenzen

Die „balanced“-Heuristik ist inspiriert von Logistic Regression in Rare Events Data, King, Zen, 2001.

Beispiele

>>> import numpy as np
>>> from sklearn.utils.class_weight import compute_class_weight
>>> y = [1, 1, 1, 1, 0, 0]
>>> compute_class_weight(class_weight="balanced", classes=np.unique(y), y=y)
array([1.5 , 0.75])