<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Oscar Fraile</title>
    <description>The latest articles on DEV Community by Oscar Fraile (@oscarfraile).</description>
    <link>https://dev.to/oscarfraile</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3923100%2F3abcf6c5-11ac-48ed-be83-911e14147987.jpeg</url>
      <title>DEV Community: Oscar Fraile</title>
      <link>https://dev.to/oscarfraile</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oscarfraile"/>
    <language>en</language>
    <item>
      <title>¿Sabrías dónde invertir en Madrid?</title>
      <dc:creator>Oscar Fraile</dc:creator>
      <pubDate>Fri, 15 May 2026 06:53:31 +0000</pubDate>
      <link>https://dev.to/evolve-space/sabrias-donde-invertir-en-madrid-add</link>
      <guid>https://dev.to/evolve-space/sabrias-donde-invertir-en-madrid-add</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdblyjbrftzfz3o2abts0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdblyjbrftzfz3o2abts0.png" alt=" " width="800" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  El problema
&lt;/h2&gt;

&lt;p&gt;Madrid tiene miles de alojamientos en Airbnb. La pregunta que me hice fue simple: ¿se puede predecir qué alojamientos son rentables antes de invertir en ellos?&lt;/p&gt;

&lt;p&gt;No como ejercicio teórico. Como un sistema que funcione sobre datos nuevos, sin intervención manual.&lt;/p&gt;

&lt;h2&gt;
  
  
  El dataset
&lt;/h2&gt;

&lt;p&gt;Datos públicos de &lt;a href="https://insideairbnb.com/get-the-data/" rel="noopener noreferrer"&gt;Inside Airbnb&lt;/a&gt; — más de 30.000 registros de alojamientos en Madrid con información de precio, ubicación, tipo de propiedad, disponibilidad y reseñas.&lt;/p&gt;

&lt;p&gt;El target: clasificación binaria. Alta rentabilidad vs baja rentabilidad, definida a partir de variables de precio y ocupación estimada.&lt;/p&gt;

&lt;h2&gt;
  
  
  El proceso
&lt;/h2&gt;

&lt;p&gt;El pipeline completo está estructurado en notebooks numerados, desde el dato crudo hasta la predicción en producción:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Limpieza y calidad de datos&lt;/strong&gt;&lt;br&gt;
Variables con alto porcentaje de nulos, outliers en precio, registros duplicados. El dataset de Airbnb tiene bastante ruido — esta fase llevó más tiempo del esperado.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Ingeniería de variables&lt;/strong&gt;&lt;br&gt;
Transformaciones, encoding de variables categóricas (barrio, tipo de propiedad) y creación de nuevas features a partir de combinaciones existentes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Preselección de variables&lt;/strong&gt;&lt;br&gt;
Con métodos estadísticos para reducir dimensionalidad antes de modelizar. No meter todo al modelo y esperar lo mejor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Balanceo&lt;/strong&gt;&lt;br&gt;
El dataset estaba desbalanceado. Se aplicó undersampling para que el modelo no aprendiera solo la clase mayoritaria.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Modelización&lt;/strong&gt;&lt;br&gt;
Se testaron varios algoritmos con RandomizedSearchCV. El ganador: XGBoost con &lt;code&gt;binary:logistic&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resultado: AUC-ROC de 0.997 sobre el conjunto de validación.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Producción&lt;/strong&gt;&lt;br&gt;
El modelo está serializado en pipelines &lt;code&gt;.pickle&lt;/code&gt; que se ejecutan directamente sobre nuevos datos sin reentrenar.&lt;/p&gt;

&lt;h2&gt;
  
  
  La visualización
&lt;/h2&gt;

&lt;p&gt;Un mapa interactivo (Folium) muestra cada alojamiento coloreado según su potencial de rentabilidad, segmentado por barrios de Madrid. Permite identificar zonas de alta concentración de alojamientos rentables de un vistazo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lo que aprendí
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;La calidad del dato importa más que el algoritmo. Con datos sucios, XGBoost no te salva.&lt;/li&gt;
&lt;li&gt;Definir bien el target es la decisión más importante del proyecto. Si el target está mal definido, todo lo demás está mal.&lt;/li&gt;
&lt;li&gt;Un AUC-ROC de 0.997 en validación es una señal de alerta antes de celebrarlo — hay que verificar que no haya data leakage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Repositorio
&lt;/h2&gt;

&lt;p&gt;Todo el código, notebooks y pipelines están disponibles en GitHub:&lt;br&gt;
👉 &lt;a href="https://github.com/OscarFraile/Proyecto-Master-DataScience-Evolve-OscarFraile" rel="noopener noreferrer"&gt;github.com/OscarFraile/Proyecto-Master-DataScience-Evolve-OscarFraile&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si tienes alguna propuesta, coméntamela en Github y la haremos realidad!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Proyecto académico desarrollado durante el Master en Data Science de Evolve.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>evolve</category>
      <category>machinelearning</category>
      <category>datascience</category>
      <category>xgboost</category>
    </item>
  </channel>
</rss>
