Cómo competir en Kaggle y quedar en el Top 1% prediciendo precios de viviendas

Cómo competir en Kaggle

¿Quieres saber cómo competir en Kaggle y quedar entre los mejores?

Pues eso mismo es lo que logramos en esta sesión práctica de la Comunidad Ninja: conseguimos la posición número 44 de un total de 5.378 participantes.

Cómo competir en Kaggle

Sí, ¡entramos en el top 1%!

Y lo hicimos prediciendo precios de viviendas porque ya tenemos práctica después de las sesiones que le hemos dedicado al dataset de Idealista 😎.

¿Quieres saber cómo? Échale un vistazo a la sesión a esta sesión de 2 horas para pasar de cero a ninja de Kaggle.

¿Por qué elegir el dataset de precios de vivienda?

Optamos por trabajar con el dataset "Housing Prices" de Kaggle, principalmente porque tenía muchos detalles de todas sus características

Este dataset es uno de los más clásicos en problemas de regresión y resulta ideal para practicar porque cada variable está descrita minuciosamente, lo que facilita mucho el análisis y la ingeniería de características.

Análisis exploratorio de datos: entender bien los datos

Antes de hacer cualquier cosa, realizamos un análisis exploratorio de datos (EDA).

Importamos NumPy y Pandas y revisamos en detalle cómo están distribuidas las variables, qué tipo de datos tenemos, y cómo se comportan los valores faltantes.

Este análisis inicial es clave para decidir los siguientes pasos sabiendo lo que hacemos.

Tratamiento de valores faltantes

El siguiente paso es identificar qué variables tenían valores faltantes y aplicar diferentes estrategias para manejarlos, como sustituir valores por la media o moda según el tipo de variable.

También eliminamos algunas características que tenían un porcentaje demasiado alto de valores faltantes, ya que aportaban más ruido que información útil.

🛠️ Si quieres saber cómo manejar los valores faltantes, échale un vistazo a este tutorial.

Primeros pasos: establecer una línea base

Siempre insisto en la importancia de comenzar con algo sencillo.

No te compliques desde el inicio.

En nuestra sesión, hicimos exactamente eso: cargamos el dataset y entrenamos un modelo básico con XGBoost, sin tocar absolutamente nada.

Esto es clave porque así sabes si los cambios que vas haciendo realmente mejoran o empeoran el modelo.

Codificación de variables categóricas: el punto clave

Las variables categóricas pueden ser tu mejor amiga o tu peor enemiga.

Depende de cómo las codifiques.

Nosotros aplicamos tres estrategias clave:

  • Codificación ordinal: Para variables que tienen un orden lógico (como calidad del material, de la construcción, etc.). Les asignamos valores numéricos según su importancia.
  • Target encoding: Para variables con muchos valores posibles (alta cardinalidad), como el barrio. Sustituimos cada categoría por la media del precio de la vivienda en esa categoría. ¡Funciona increíble porque le das al modelo información súper útil!
  • One-hot encoding: Para el resto de las variables categóricas que no encajaban en las categorías anteriores.

🛠️ En este tutorial súper detallado encontrarás las mejores técnicas para la codificación de variables categóricas.

Ingeniería de características: creatividad al poder

La creatividad es esencial en Machine Learning.

Nosotros creamos nuevas características que no estaban en el dataset original.

Por ejemplo:

  • Superficie total: Sumamos todas las superficies relacionadas con la vivienda.
  • Antigüedad: Calculamos cuántos años tenía la casa desde su construcción o remodelación hasta su venta.
  • Calidad general: Sumamos todas las calidades individuales (exterior, interior, piscina, cocina) para obtener una calidad general.

Estas características nuevas ayudaron muchísimo al modelo porque le daban perspectivas adicionales para entender el valor de una vivienda.

Ajuste de hiperparámetros: la guinda del pastel

Una vez que teníamos un modelo sólido, entramos al mundo del ajuste de hiperparámetros.

Probamos diferentes combinaciones de parámetros en XGBoost, y esto nos dio un salto final de rendimiento que nos colocó en el top 1%.

🛠️ En este tutorial te cuento todos los detalles sobre el modelo XGBoost y por qué funciona tan bien.

Aprendizajes clave de la sesión

  • No hagas cambios simultáneos: Haz cambios de uno en uno y valídalos siempre.
  • Itera mucho: Prueba, falla, mejora y vuelve a probar.
  • Analiza bien tus datos: El tiempo invertido en analizar es clave para tomar buenas decisiones después.

¿Por qué quedamos en el top 1%?

Llegamos al top 1% porque supimos combinar un buen análisis de datos, una codificación adecuada de variables categóricas, un toque de creatividad en la ingeniería de características y una buena estrategia de ajuste de hiperparámetros.

Y, sobre todo, porque hicimos las cosas con orden, claridad y paciencia.

¿Quieres replicar estos resultados? Sólo tienes que seguir los pasos de la sesión práctica 📺

Membresía requerida

Este contenido está disponible únicamente para suscriptores.

Puedes apuntarte a la plataforma en este enlace

¿Ya eres un ninja? Accede aquí

Accede a todo el contenido premium

Ya no necesitas pagar cientos de euros por un Bootcamp para convertirte en ninja de los datos. Por solo 17€/mes (o menos 🤯), obtén acceso al podcast premium, a todos los tutoriales y a los resúmenes de los libros más top sobre Machine Learning y Ciencia de datos y aprende a tu ritmo.
¡Empieza ahora!
Copyright © 2025  · Datos 🥷 · Todos los derechos reservados