Нужен ли для регрессии случаного леса неизмененный ряд, который нужно предсказать

Давно интересуют вопросы:

1.Если при классификации RandomForestClassifier, GradientBoostingClassifier используются нормированные данные, то как быть при регрессии, а конкретно нужен ли исходный не измененный ряд в качестве обучающих данных(прошлые значения, на основе, которых делаются предсказания. К примеру котировки ценных бумаг)?

2.Так же видел, что в обучающие данные подмешивают шум, для чего это делается?

3.Есть ли какие принципиальные отличия в обучении при классификации и регрессии?


Ответы (2 шт):

Автор решения: CrazyElf
  1. Вопрос не очень понятен. Если вы спрашиваете про предсказание будущих данных по прошлым, то это называется "временные ряды" и является отдельной задачей, не сводящейся к чистой регрессии. Если же рассматривать только регрессию, то совершенно не важно, что вы делаете с данными для обучения, главное делать это всегда одинаково. То есть если вы обучили модель на изменённых определённым методом данных, то и при использовании этой модели для предсказания нужно обработать входные данные тем же самым способом, чтобы получить релевантный ответ. И если вы каким-то образом меняете целевую переменную на которой учится модель, то опять же, после использования этой модели для предсказания, вам придётся проделать с полученным предсказанием преобразование, обратное тому, которое вы делали с целевой переменной при обучении. Ну то есть если вы, к примеру, взяли логарифм от целевой переменной при обучении, то от предсказания вам нужно будет взять экспоненту, чтобы получить корректные данные.

  2. Видимо, чтобы снизить переобучение, повысить генерализацию модели, что бывает полезно в случае сложных моделей, склонных к переобучению. Хотя этого можно добиться и другими способами, см. тот же случайный лес, который сэмплирует случайным образом фичи и сэмплы.

  3. Зависит от типа модели. Для каких-то моделей всё различие заключается в том, что при классификации результат предсказания регрессии каким-то образом бинаризируется, а какие-то модели в принципе нельзя использовать для другого типа задач, а только для того, для которого они предназначены. Но в общем случае иногда даже специально используют регрессию как часть сложной модели классификации, и наоборот - используют классификацию на каких-то этапах сложной модели регрессии. На том же Каггле чего только не бывает.

→ Ссылка
Автор решения: passant

"Есть ли какие принципиальные отличия в обучении при классификации и регрессии?"

  • "принципиальные различия" между регрессией и классификацией заключаются в том, что регрессия в основном предназначена для прогнозирования непрерывного выходного значения по непрерывным же зависимым переменным, а классификация - для того, чтобы предсказать, какому классу (по сути номинальному показателю) соответствуют входные данные, которые так же могут измеряться в любых шкалах - от дихотомических, номинальных, ранговых - до количественных. Кстати, деревья применяются и для решения обоих типов задач (хотя, конечно, для классификации они подходят на много лучше). А то что называется "лес" - это уже надстройка, ансамбль методов, и он наследует решения только тех задач, которые решают его базовые алгоритмы.

Так же видел, что в обучающие данные подмешивают шум, для чего это делается?

  • В частности для того, что бы на этапе использования построенных моделей они оказались более устойчивыми к шумам.

"при регрессии, а конкретно нужен ли исходный не измененный ряд в качестве обучающих данных"

-Странный вопрос. Не имея исходных данных - как вы будете регрессионную модель строить? Надо или нет нормировать входные данные при этом - другой вопрос. Ответ зависит от конкретной задачи. Нормируют данные, например, при мультирегрессии (но не всегда). Более того, иногда применяют и гораздо более сложные предобразования независимых переменных для получения получения адекватных моделей - и логарифмическое, и Бокса-Кокса и другие.

→ Ссылка