У меня есть практический вопрос о проектировании функций ... скажем, я хочу прогнозировать цены на жилье с помощью логистической регрессии и использовал множество функций, включая почтовый индекс. Затем, проверив важность функции, я понял, что zip - довольно хорошая функция, поэтому я решил добавить еще несколько функций на основе zip - например, я иду в бюро переписей и получаю средний доход, население, количество школ и число больниц каждого почтового индекса. Благодаря этим четырем новым функциям я считаю, что производительность модели теперь лучше. Поэтому я добавляю еще больше функций, связанных с почтовыми индексами ... И этот цикл продолжается и продолжается. В конце концов, в модели будут доминировать эти функции, связанные с почтовым индексом, верно?
Мои вопросы:
- Имеет ли смысл делать это в первую очередь?
- Если да, как я узнаю, когда подходящее время, чтобы остановить этот цикл?
- Если нет, то почему нет?
Обычно, чем богаче черты, тем лучше.
Однако следует помнить одну вещь: регрессии, как правило, плохо работают с сильно коррелированными данными (мультиколлинеарность). Когда вы расширяете свои возможности таким образом, вы должны иметь это в виду.
На эту тему есть много информации (и потенциальных путей смягчения), только регрессия Google и мультиколлинеарность.
Короче говоря,
источник
Особенности информации вашей модели. Чем больше информации, тем лучше она сможет выполнять и прогнозировать. Чем меньше его, тем сложнее прогнозировать ценности. Так что короткий насер да. Всегда стоит иметь как можно больше возможностей. Это всегда есть предел, так как информационная перегрузка может также сжечь ваш процессор, поэтому будьте осторожны с тем, сколько функций разрабатывается. Кроме того, ненужные функции только увеличивают выгорание, поэтому всегда рекомендуется очищать определенные функции. На этом вся фаза предварительной обработки данных.
Первый ответ имеет несколько хороших деталей об этом. Что касается остановки цикла, то есть несколько мер и факторов, о которых вам необходимо знать, чтобы проверить, где ваша модель перестала работать лучше, и это такие меры, как RMSE. Простым примером будет использование
xgboost
регрессии на ваших данных и указание количества циклов. Запустите модель, и вы получите СКО для каждого цикла. Он уменьшится до предела, после которого вы сможете сделать вывод, что модель вышла на плато после определенного цикла. Так работает настройка и оптимизация модели.источник