Proporcionar latitud y longitud a un modelo de precio de la vivienda
Soy nuevo en el aprendizaje automático y estoy tratando de tener una idea de cómo optimizar los datos para un modelo. Estoy siguiendo este tutorial oficial de Kaggle , que enseña los conceptos básicos del aprendizaje automático a través de la predicción del precio de la vivienda. Usan un árbol de decisiones, pero me pareció extraño qué características introducen en el modelo para predecir el precio de una casa:
house_price_features = ['Rooms', 'Bathroom', 'Landsize', 'Latitude', 'Longitude']
Las habitaciones, los baños y el tamaño del terreno tienen sentido para mí, pero ¿latitud y longitud? Obviamente, existe una correlación entre la ubicación y el precio, pero no seguirá una buena curva. A veces, subir una cuadra hará que los precios de la vivienda se dupliquen; a veces, no tendrá ningún efecto en absoluto. Intuitivamente, siento que todo lo que un modelo puede hacer con esas características para predecir el precio está sobreajustado. Entonces, mi pregunta es doble:
- ¿Tenían razón al dar a este modelo la latitud y la longitud para predecir el precio, o se trata de información superflua que solo puede dañar el modelo? ¿Por qué?
- Si la respuesta a lo anterior es "no", ¿hay alguna transformación de los datos de latitud y longitud (es decir, en ID de vecindario) que haría que los datos fueran más útiles?
Respuestas
La respuesta es sí , porque la ubicación suele ser el principal impulsor de los precios de la vivienda por pie cuadrado. Dejarlo caer deterioraría el rendimiento del modelo probablemente de manera dramática.
Basados en lat/lon, los métodos basados en árboles dividen el mapa en partes rectangulares. Cuanto más fuerte sea el efecto y más datos en un área determinada, más pequeñas serán las piezas. En regiones menos densas, las piezas no serían demasiado pequeñas.
No los agregaría como efectos lineales en una regresión lineal. Allí, tendría que considerar diferentes enfoques. Un simple sería representar lat/lon cada uno por un spline cúbico y agregar términos de interacción entre ellos.