compute_sample_weight#
- sklearn.utils.class_weight.compute_sample_weight(class_weight, y, *, индексы=None)[источник]#
Оценить веса образцов по классам для несбалансированных наборов данных.
- Параметры:
- class_weightdict, list of dicts, "balanced" или None
Weights associated with classes in the form
{class_label: weight}. Если не задано, предполагается, что все классы имеют вес один. Для многомерных задач можно предоставить список словарей в том же порядке, что и столбцы y.Обратите внимание, что для многомерного вывода (включая многометочную классификацию) веса должны быть определены для каждого класса каждого столбца в своем собственном словаре. Например, для четырехклассовой многометочной классификации веса должны быть
[{0: 1, 1: 1}, {0: 1, 1: 5}, {0: 1, 1: 1}, {0: 1, 1: 1}]вместо[{1:1}, {2:5}, {3:1}, {4:1}].The
"balanced"режим использует значения y для автоматической настройки весов обратно пропорционально частотам классов во входных данных:n_samples / (n_classes * np.bincount(y)).Для многомерного выхода веса каждого столбца y будут умножены.
- y{array-like, разреженная матрица} формы (n_samples,) или (n_samples, n_outputs)
Массив исходных меток классов для каждого образца.
- индексыarray-like формы (n_subsample,), по умолчанию=None
Массив индексов для использования в подвыборке. Может иметь длину меньше, чем
n_samplesв случае подвыборки, или равноn_samplesв случае бутстрап-подвыборки с повторяющимися индексами. ЕслиNone, вес выборки будет рассчитан по всей выборке. Только"balanced"поддерживается дляclass_weightесли это предоставлено.
- Возвращает:
- sample_weight_vectndarray формы (n_samples,)
Массив с весами выборок, применёнными к исходному
y.
Примеры
>>> 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 ])