Возможно, это слишком затянуто. Простой вопрос о случайном лесу sklearn:Может ли sklearn Random Forest классификатор отрегулировать размер выборки по дереву, чтобы справиться с дисбалансом класса?
Для проблемы истинной/ложной классификации существует ли способ в случайном лесу sklearn указать размер выборки, используемый для обучения каждому дереву, а также отношение истинности к ложным наблюдениям?
подробнее ниже:
В реализации R случайного леса, называемый RandomForest, есть вариант sampsize()
. Это позволяет сбалансировать выборку, используемую для обучения каждого дерева на основе результата.
Например, если вы пытаетесь предсказать, является ли результат истинным или ложным, а 90% результатов в наборе обучения являются ложными, вы можете установить sampsize(500, 500)
. Это означает, что каждое дерево будет обучено случайной выборке (с заменой) из набора тренировок с 500 истинными и 500 ложными наблюдениями. В этих ситуациях я обнаружил, что модели работают намного лучше, предсказывая истинные результаты при использовании 50% отсечки, что дает гораздо более высокие каппы.
Не похоже, что в реализации sklearn есть опция.
- Есть ли способ имитировать эту функциональность в sklearn?
- Было бы просто оптимизировать отсечку, основанную на статистике Каппы, добиться аналогичного результата или что-то потерянное в этом подходе?