Взвешенный случайный лес
Я собираюсь сделать предикацию на основе метода Random Forest. Как правило, случайный лес учитывает равенство всех точек данных и делает предикаты, основываясь на этом, однако я хочу назначить больше весов некоторым моим точкам данных. Чтобы быть более понятным, для каждой точки данных у меня есть вес, поэтому я хочу, чтобы RF был смещен к точке данных с большим весом.
Я думаю, что есть способ увеличить вероятность выбора точек данных с помощью RF. Т.е. когда РФ делает выборку, у точки с большим весом больше шансов выбрать и, как результат, скорее всего, повлиять на результат предикации. Тем не менее, я не уверен, как его использовать? Это что-то уже существует в РФ Pyhton / R?
Спасибо амир
2 ответа
В scikit-learn вы можете задавать веса выборки для функции подгонки RandomForestClassifier в виде массива длины n_samples, как описано в руководстве.
В этом ответе есть еще немного информации.
Вы можете сделать это с sklearn.emsemble.RandomForestClassifier
, Установить параметр class_weight
"balanced"
или ваш пользовательский словарь.
clf = RandomForestClassifier(n_estimators=100, class_weight="balanced")
Смотрите официальные документы, если вы хотите узнать больше.