Tengo una pregunta práctica sobre la ingeniería de características ... digamos que quiero predecir los precios de la vivienda mediante el uso de regresión logística y utilicé un montón de características, incluido el código postal. Luego, al verificar la importancia de la función, me doy cuenta de que zip es una función bastante buena, así que decidí agregar algunas funciones más basadas en zip: por ejemplo, voy a la oficina del censo y obtengo el ingreso promedio, la población, el número de escuelas y el número de hospitales de cada zip. Con estas cuatro nuevas características, encuentro que el rendimiento del modelo es mejor ahora. Así que agrego aún más funciones relacionadas con zip ... Y este ciclo sigue y sigue. Eventualmente, el modelo estará dominado por estas características relacionadas con zip, ¿verdad?
Mis preguntas:
- ¿Tiene sentido hacer esto en primer lugar?
- En caso afirmativo, ¿cómo sé cuándo es un buen momento para detener este ciclo?
- ¿Si no, porque no?
fuente
Por lo general, cuanto más ricas sean las características, mejor.
Sin embargo, una cosa a tener en cuenta es que las regresiones, en general, no funcionan bien con datos altamente correlacionados (multicolinealidad). Cuando expande sus funciones de esta manera, es algo que puede tener en cuenta.
Hay mucha información sobre este mismo tema (y posibles formas de mitigar), solo la regresión de Google y la multicolinealidad.
En breve,
fuente
Las características son la información de su modelo. Cuanta más información, mejor podrá realizar y predecir. Cuanto menor sea, más difícil de predecir los valores. Entonces, la respuesta más breve es sí. Siempre vale la pena tener tantas características como sea posible. Sin embargo, siempre hay un límite para esto, ya que una sobrecarga de información también puede quemar su procesador, así que tenga cuidado con la cantidad de características que se están diseñando. Además, las características innecesarias solo se suman al agotamiento, por lo que siempre es una buena práctica limpiar ciertas características. Toda la fase de preprocesamiento de datos se trata de eso.
La primera respuesta tiene algunos buenos detalles al respecto. En lo que respecta a detener un ciclo, hay varias medidas y factores que debe tener en cuenta para verificar dónde su modelo ha dejado de funcionar mejor y esas son medidas como el RMSE. Un ejemplo simple será usar la
xgboost
regresión en sus datos y especificar el número de ciclos. Ejecute el modelo y obtendrá el RMSE para cada ciclo. Disminuirá a un límite después del cual podrá deducir que el modelo se ha estancado después de un cierto ciclo. Así es como funciona el ajuste y la optimización del modelo.fuente