Как рассчитывается уменьшение примеси для расщепления в случае, если у нас есть несколько выходов, используя RandomForestRegressor из библиотеки Scikit-Learn - PullRequest
0 голосов
/ 06 июня 2018

Я использую класс RandomForestRegressor библиотеки scikit-learn (python 3.x), и мне известно, что функцией измерения качества разделения в дереве решений является уменьшение дисперсии (mse).Учитывая, что класс RandomForestRegressor поддерживает множественный вывод, мой вопрос: как вычисляется качество разбиения в случае множественных выходов в этом конкретном классе?

Из чтения исходного кода класса, определяющего критерий разделения, я бы сказал, что уменьшение примеси в расчете на дерево рассчитывается как среднее уменьшение примеси по всем выходным переменным.И, следовательно, только одна модель строится с учетом нескольких выходов.Является ли это способом по умолчанию в scikit-learn классу RandomForestRegressor?Я надеялся, что кто-то может взглянуть на меня, потому что я не совсем уверен, верны ли мои утверждения!

Большое спасибо заранее!

https://github.com/scikit-learn/scikit-learn/blob/a24c8b464d094d2c468a16ea9f8bf8d42d949f84/sklearn/tree/_criterion.pyx#L695

1 Ответ

0 голосов
/ 06 июня 2018

Один из авторов соответствующего класса scikit-learn (Жиль Луппе) был достаточно любезен, чтобы ответить на мой вопрос: приведенное выше понимание верно.Уменьшение дисперсии вычисляется для каждого класса и затем усредняется для получения окончательного результата.

...