compute_sample_weight#

sklearn.utils.class_weight.compute_sample_weight(class_weight, y, *, indices=None)[Quellcode]#

Schätzt Stichprobengewichte nach Klasse für unausgeglichene Datensätze.

Parameter:
class_weightdict, Liste von dicts, “balanced”, oder None

Gewichte, die den Klassen zugeordnet sind, in der Form {class_label: weight}. Wenn nicht angegeben, wird angenommen, dass alle Klassen das Gewicht eins haben. Bei Multi-Output-Problemen kann eine Liste von dicts in der gleichen Reihenfolge wie die Spalten von y angegeben werden.

Beachten Sie, dass für Multi-Output (einschließlich Multilabel) Gewichte für jede Klasse jeder Spalte in einem eigenen Dict definiert werden sollten. Zum Beispiel sollten für eine Multilabel-Klassifizierung mit vier Klassen die Gewichte [{0: 1, 1: 1}, {0: 1, 1: 5}, {0: 1, 1: 1}, {0: 1, 1: 1}] statt [{1:1}, {2:5}, {3:1}, {4:1}] sein.

Der Modus "balanced" verwendet die Werte von y, um Gewichte umgekehrt proportional zu den Klassenhäufigkeiten in den Eingabedaten automatisch anzupassen: n_samples / (n_classes * np.bincount(y)).

Für Multi-Output werden die Gewichte jeder Spalte von y multipliziert.

y{array-like, sparse matrix} der Form (n_samples,) oder (n_samples, n_outputs)

Array von ursprünglichen Klassenlabels pro Stichprobe.

indicesarray-like mit der Form (n_subsample,), default=None

Array von Indizes, die in einer Teilstichprobe verwendet werden sollen. Kann kürzer als n_samples sein, im Falle einer Teilstichprobe, oder gleich n_samples im Falle einer Bootstrap-Teilstichprobe mit wiederholten Indizes. Wenn None, wird das Stichprobengewicht über die gesamte Stichprobe berechnet. Nur "balanced" wird für class_weight unterstützt, wenn dies angegeben ist.

Gibt zurück:
sample_weight_vectndarray mit der Form (n_samples,)

Array mit Stichprobengewichten, wie sie auf das ursprüngliche y angewendet werden.

Beispiele

>>> from sklearn.utils.class_weight import compute_sample_weight
>>> y = [1, 1, 1, 1, 0, 0]
>>> compute_sample_weight(class_weight="balanced", y=y)
array([0.75, 0.75, 0.75, 0.75, 1.5 , 1.5 ])