Так как RF может обрабатывать нелинейность, но не может предоставить коэффициенты, было бы разумно использовать случайный лес для сбора наиболее важных признаков, а затем включить эти объекты в модель множественной линейной регрессии для получения их коэффициентов?
regression
machine-learning
feature-selection
random-forest
regression-strategies
Скрытая Марковская Модель
источник
источник
Ответы:
Я интерпретирую вопрос, состоящий из одного предложения OP, что он хочет понять желательность следующего конвейера анализа:
Я не думаю, что этот конвейер будет выполнять то, что вы хотели бы. Переменные, которые важны в случайном лесу, не обязательно имеют какую-либо линейно-аддитивную связь с результатом. Это замечание не должно удивлять: именно это делает случайный лес настолько эффективным для обнаружения нелинейных отношений.
Вот пример. Я создал задачу классификации с 10 характеристиками шума, двумя «сигнальными» характеристиками и круговой границей решения.
И когда мы применяем модель RF, мы не удивляемся, обнаружив, что эти функции легко выбираются моделью как важные. (NB: эта модель не настроен на всех .)
Но когда мы выбираем только эти две полезные функции, получающаяся линейная модель ужасна.
Важной частью резюме является сравнение остаточного отклонения и нулевого отклонения. Мы можем видеть, что модель в принципе ничего не делает, чтобы «сдвинуть» отклонение. Более того, оценки коэффициентов практически равны нулю.
Чем объясняется дикая разница между двумя моделями? Ну, ясно, что граница принятия решения, которую мы пытаемся выучить, не является линейной функцией двух «сигнальных» характеристик. Очевидно, что если бы вы знали функциональную форму границы решения до оценки регрессии, вы могли бы применить некоторое преобразование для кодирования данных таким способом, который регрессия могла бы затем обнаружить ... (Но я никогда не знал формы предстоящей границы времени в любой реальной проблеме.) Поскольку в данном случае мы работаем только с двумя сигнальными функциями, синтетическим набором данных без шума в метках классов, эта граница между классами очень очевидна на нашем графике. Но это менее очевидно при работе с реальными данными в реалистичном количестве измерений.
Более того, в общем случае случайный лес может соответствовать разным моделям разных подмножеств данных. В более сложном примере совершенно не очевидно, что происходит с одним сюжетом, а построить линейную модель с аналогичной предсказательной силой будет еще сложнее.
Поскольку нас интересуют только два измерения, мы можем создать поверхность прогноза. Как и ожидалось, случайная модель узнает, что соседство вокруг источника важно.
Как следует из нашего плачевного выхода модели, поверхность предсказания для модели логистической регрессии с уменьшенной переменной в основном плоская.
HongOoi отмечает, что членство в классе не является линейной функцией функций, но что линейная функция находится в процессе преобразования. Поскольку граница принятия решения равна если мы возведем эти квадраты в квадрат, мы сможем построить более полезную линейную модель. Это намеренно. В то время как модель RF может найти сигнал в этих двух функциях без преобразования, аналитик должен быть более конкретным, чтобы получить аналогичные полезные результаты в GLM. Возможно, этого достаточно для OP: найти полезный набор преобразований для 2 объектов проще, чем 12. Но я хочу сказать, что даже если преобразование даст полезную линейную модель, важность RF-функции сама по себе не предполагает преобразование.1=x21+x22,
источник
Ответ @Sycorax фантастический. В дополнение к этим полностью описанным аспектам проблемы, связанной с подгонкой модели, есть еще одна причина не проводить многоэтапный процесс, такой как запуск случайных лесов, лассо или эластичной сети, чтобы «узнать», какие функции следует использовать для традиционной регрессии. Обычная регрессия не будет знать о пенализации , что правильно поступила в процессе развития случайного леса или других метод, и будет соответствовать unpenalized эффектов, которые плохо предпочтения оказаться слишком сильными для прогнозирования . Это ничем не отличается от пошагового выбора переменных и представления окончательной модели без учета того, как она появилась.Y
источник
Правильно выполненный случайный лес, примененный к проблеме, которая более «подходит для случайного леса», может работать как фильтр для удаления шума и получения результатов, которые более полезны в качестве входных данных для других инструментов анализа.
Отказ от ответственности:
Я должен дать «крик» моим «писк», которые сделали «Паук». ( ссылка ) Их примерная проблема определила мой подход. ( ссылка ) Мне также нравятся оценки Тейл-Сена, и я хотел бы дать реквизит Тейлу и Сену.
Мой ответ не о том, как сделать это неправильно, а о том, как это может работать, если вы правильно поняли. Хотя я использую «тривиальный» шум, я хочу, чтобы вы думали о «нетривиальном» или «структурированном» шуме.
Одной из сильных сторон случайного леса является то, насколько хорошо он применим к многомерным задачам. Я не могу показать 20-тысячные столбцы (20-мерное пространство) в чистом визуальном виде. Это не простая задача. Тем не менее, если у вас есть проблема в 20k, случайный лес может быть хорошим инструментом, когда большинство других не справляются со своими «лицами».
Это пример удаления шума из сигнала с использованием случайного леса.
Позвольте мне описать, что здесь происходит. Это изображение ниже показывает данные тренировки для класса «1». Класс "2" является равномерным случайным образом для одного и того же домена и диапазона. Вы можете видеть, что «информация» «1» в основном спиральная, но была искажена материалом из «2». Повреждение 33% ваших данных может стать проблемой для многих подходящих инструментов. Theil-Sen начинает ухудшаться примерно на 29%. ( ссылка )
Теперь мы выделяем информацию, только имея представление о том, что такое шум.
Вот подходящий результат:
Мне это очень нравится, потому что оно может показать сильные и слабые стороны достойного метода в сложной ситуации одновременно. Если вы посмотрите близко к центру, вы увидите, как меньше фильтрации. Геометрический масштаб информации невелик, и в случайном лесу этого нет. Это говорит кое-что о количестве узлов, количестве деревьев и плотности выборки для класса 2. Также есть «разрыв» рядом (-50, -50) и «джеты» в нескольких местах. Однако в целом фильтрация приличная.
Сравните с SVM
Вот код, позволяющий сравнивать с SVM:
Это приводит к следующему изображению.
Это приличный SVM. Серый - это домен, связанный с классом «1» SVM. Синие точки - это образцы, связанные с классом «1» РФ. Фильтр на основе RF работает сопоставимо с SVM без явно навязанной основы. Видно, что «точные данные» вблизи центра спирали гораздо более «жестко» разрешаются РФ. Есть также «островки» в направлении «хвоста», где РФ находит ассоциацию, которой нет у SVM.
Я развлекаюсь. Не имея опыта, я сделал одну из первых вещей, которую также сделал очень хороший участник в этой области. Оригинальный автор использовал «справочную рассылку» ( ссылка , ссылка ).
РЕДАКТИРОВАТЬ:
Примените случайный FOREST к этой модели:
хотя у user777 есть хорошая мысль о том, что CART является элементом случайного леса, предпосылка случайного леса - это «ансамблевая агрегация слабых учеников». КОРЗИНА - известный слабый ученик, но это далеко не «ансамбль». «Ансамбль», хотя и в случайном лесу, предназначен «в пределах большого количества выборок». В ответе пользователя 777 на диаграмме рассеяния используется не менее 500 выборок, что говорит о читабельности человека и размерах выборки в этом случае. Человеческая зрительная система (сама по себе группа учащихся) представляет собой удивительный датчик и процессор данных, и она считает, что этого значения достаточно для простоты обработки.
Если мы возьмем даже настройки по умолчанию для инструмента случайного леса, мы можем наблюдать поведение ошибки классификации, увеличивающейся для первых нескольких деревьев, и не достигает уровня одного дерева, пока не будет около 10 деревьев. Первоначально ошибка растет, уменьшение ошибки становится стабильным около 60 деревьев. Я имею в виду стабильный
Который дает:
Если вместо того, чтобы смотреть на «минимально слабого ученика», мы посмотрим на «минимально слабый ансамбль», предложенный очень краткой эвристикой для настройки инструмента по умолчанию, результаты будут несколько иными.
Обратите внимание, я использовал «линии», чтобы нарисовать круг, обозначающий границу в приближении. Вы можете видеть, что он несовершенен, но гораздо лучше, чем качество одного ученика.
Оригинальная выборка имеет 88 «интерьерных» образцов. Если размеры выборки увеличиваются (что позволяет применять ансамбль), качество аппроксимации также улучшается. Одинаковое количество учеников с 20 000 образцов делает потрясающе лучше.
Гораздо более качественная входная информация также позволяет оценить соответствующее количество деревьев. Проверка сходимости показывает, что 20 деревьев является минимально достаточным числом в этом конкретном случае, чтобы хорошо представлять данные.
источник