Как добиться регрессионной модели без подгонки или переоснащения - PullRequest
0 голосов
/ 20 марта 2020

У меня есть университетский проект, и мне дают dataset, что почти все функции имеют очень слабую (только 1 функция имеет умеренную корреляцию с целью) корреляцию с целью. Это распределение тоже ненормально. Я уже пытался применить простую модель линейной регрессии, это вызвало underfitting, затем я применил simple random forest regressor, но это вызвало overfitting, но когда я применил random forest regressor с оптимизацией с помощью randomsearchcv, это заняло много времени. Есть ли способ получить достойную модель с не очень хорошим dataset без подгонки или переоснащения? или это просто невозможно вообще?

1 Ответ

3 голосов
/ 20 марта 2020

Ну, скажем прямо, если бы вы могли подогнать модель без подгонки или переоснащения, вы бы полностью решили ИИ.

Однако есть некоторые предложения:

Переплет по случайным лесам

  • Лично я бы попытался взломать этот маршрут, поскольку вы упоминаете, что ваши данные не сильно коррелированы. Как правило, легче исправить переоснащение, чем недостаточно, поэтому это тоже помогает.

  • Попробуйте взглянуть на результаты своего дерева. Если вы используете python, sci-kit learn export_graphviz может быть полезным.

  • Попробуйте уменьшить максимальную глубину деревьев.

  • Попробуйте увеличить максимальное количество сэмплов, которое должно иметь дерево для разделения (или аналогично, минимальное количество сэмплов, которое должно иметь лист).

  • Попробуйте увеличить количество деревьев в РФ.

Подгонка при линейной регрессии

  • Добавьте больше параметров. Если у вас есть переменные a, b, ... et c. добавление их полиномиальных признаков, то есть a ^ 2, a ^ 3 ... b ^ 2, b ^ 3 ... et c. может помочь Если вы добавите достаточное количество полиномиальных функций, вы сможете уместить их - хотя это не обязательно означает, что он будет хорошо вписываться в набор поездов (среднеквадратическое значение).

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

  • Знаете ли вы что-нибудь о данных? Возможно, переменная, которая является кратным, или деление между двумя переменными может быть хорошим индикатором.

  • Если вы регуляризируете (или если программное обеспечение автоматически применяет) вашу регрессию, попробуйте уменьшить параметр регуляризации.

...