compute_class_weight#
- sklearn.utils.class_weight.compute_class_weight(class_weight, *, классы, y, sample_weight=None)[источник]#
Оценить веса классов для несбалансированных наборов данных.
- Параметры:
- class_weightdict, "balanced" или None
Если "balanced", веса классов будут заданы
n_samples / (n_classes * np.bincount(y))или их взвешенный эквивалент, еслиsample_weightпредоставлено. Если задан словарь, ключи являются классами, а значения — соответствующими весами классов. ЕслиNoneуказан, веса классов будут равномерными.- классыndarray
Массив классов, встречающихся в данных, как указано в
np.unique(y_org)сy_orgисходные метки классов.- yarray-like формы (n_samples,)
Массив исходных меток классов для каждого образца.
- sample_weightarray-like формы (n_samples,), по умолчанию=None
Массив весов, которые назначаются отдельным образцам. Используется только когда
class_weight='balanced'.
- Возвращает:
- class_weight_vectndarray формы (n_classes,)
Массив с
class_weight_vect[i]вес для i-го класса.
Ссылки
Эвристика "balanced" вдохновлена статьей "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])