Estimate class weights for unbalanced datasets.
If “balanced”, class weights will be given by n_samples / (n_classes * np.bincount(y)). If a dictionary is given, keys are classes and values are corresponding class weights. If None is given, the class weights will be uniform.
Array of the classes occurring in the data, as given by np.unique(y_org) with y_org the original class labels.
Array of original class labels per sample.
Array with class_weight_vect[i] the weight for i-th class.
The “balanced” heuristic is inspired by Logistic Regression in Rare Events Data, King, Zen, 2001.
>>> 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])
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.utils.class_weight.compute_class_weight.html