Заставить классификатор случайных лесов использовать все входные функции? - PullRequest
0 голосов
/ 25 марта 2020

Для выполнения бинарного предсказания у меня есть 5 функций, которые я хочу использовать для своего классификатора случайных лесов, и две из них вообще не используются. Я понимаю, что весь смысл машинного обучения состоит в том, чтобы выбирать только полезные функции, но другие три функции могли иметь искаженные данные, и я хочу убедиться, что все мои функции используются с одинаковым весом для запуска моего классификатора. Я не могу найти прямой ответ на этот вопрос. Я использую sklearn в python для этой работы. Любые комментарии / предложения будут с благодарностью.

1 Ответ

0 голосов
/ 25 марта 2020

Вы можете запросить все функции, рассматриваемые в каждом разделении в классификаторе случайного леса, установив max_features = None.

Из документов :

max_features: int, float, string или None, необязательно (по умолчанию = "auto")

Количество элементов, которые следует учитывать при поиске наилучшего разделения:

Если int, тогда учитывайте max_features элементов при каждом разделении.

Если float, тогда max_features - это дробь, и int(max_features * n_features) объекты рассматриваются при каждом разбиении.

Если «auto», то max_features=sqrt(n_features).

Если «sqrt», то max_features=sqrt(n_features) (аналогично «авто»).

Если «log2», то max_features=log2(n_features).

Если нет, то max_features=n_features.

Ответ в Почему Случайный Лес с одним деревом намного лучше, чем классификатор Дерева Решений? может помочь в объяснении и предоставлении некоторого контекста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...