Ответ 1
RandomForests построены на деревьях, которые очень хорошо документированы. Проверьте, как деревья используют взвешивание образцов:
- Руководство пользователя на деревьях решений - точно определяет, какой алгоритм используется
- API дерева решений - объясняет, как sample_weight используется деревьями (что для случайных лесов, как вы определили, является продуктом class_weight и sample_weight).
Что касается разницы между class_weight
и sample_weight
: многое может быть определено просто по характеру их типов данных. sample_weight
- это 1D массив длины n_samples
, присваивающий явный вес каждому примеру, используемому для обучения. class_weight
- это либо словарь каждого класса для равномерного веса для этого класса (например, {1:.9, 2:.5, 3:.01}
), либо строка, сообщающая sklearn, как автоматически определять этот словарь.
Таким образом, вес обучения для данного примера является продуктом его явно названного sample_weight
(или 1
если sample_weight
не предоставлен), а class_weight
(или 1
если class_weight
не предоставлен).