От чего зависит глубина дерева решений? - PullRequest
0 голосов
/ 05 октября 2018

Ниже приведен параметр для DecisionTreeClassifier: max_depth

http://scikit -learn.org / стабильный / modules / создан / sklearn.tree.DecisionTreeClassifier.html

max_depth : int or None, optional (default=None)

    The maximum depth of the tree. If None, then nodes are expanded until all leaves are pure or until all leaves contain less than min_samples_split samples.

Я всегда думал, что глубина дерева решений должна быть равна или меньше, чем количество признаков (атрибутов) данного набора данных.Что если мы найдем чистые классы перед указанным входом для этого параметра?Прекращается ли разделение или происходит дальнейшее разделение до упомянутого ввода?

Возможно ли использовать один и тот же атрибут на двух разных уровнях дерева решений при разделении?

1 Ответ

0 голосов
/ 07 октября 2018

Если для дерева решений количество функций очень велико, оно может стать очень очень большим.Чтобы ответить на ваш вопрос, да, он остановится, если найдет чистую переменную класса.Это еще одна причина, по которой DecisionTrees склонны выполнять переобучение.

Вы хотели бы использовать параметр max_depth при использовании Случайного леса, который не выбирает все функции для какого-либо конкретного дерева, поэтому не ожидается, что все деревья вырастут домаксимально возможная глубина, которая в свою очередь потребует обрезки.Деревья решений - слабые ученики, и в RandomForest вместе с max_depth они участвуют в голосовании.Более подробную информацию об этих отношениях между РФ и ДТ можно легко найти в Интернете.Опубликован целый ряд статей.

Итак, обычно вы хотели бы использовать max_depth, когда у вас большое количество функций.Кроме того, в реальных реализациях вы хотели бы использовать RandomForest, а не только DecisionTree.

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