lección 1
Bienvenida a Dermia
Tu séptimo encargo, nivel avanzado: priorizar lesiones de piel, y el reto nuevo es convertir una probabilidad en decisión cuando los errores no cuestan igual.
⏱ 50 min
## Lunes, 10:00. Tu séptimo encargo, el primero de dificultad avanzada
Llevas seis encargos a la espalda y ya no te asusta un CSV nuevo. En una operadora de telefonía ordenaste a los clientes por riesgo de baja y aprendiste a desconfiar de las métricas demasiado buenas. En una empresa de agricultura de precisión estimaste un rendimiento y aprendiste a mirar la forma real de los datos. En una ONG trabajaste con una clase rarísima y aprendiste a medir donde de verdad duele, no en el acierto global. En una central de asistencia estimaste llamadas por hora y aprendiste que cómo partes los datos decide si tu evaluación es honesta. En una comercializadora eléctrica agrupaste a los clientes sin ninguna respuesta conocida. Y en una consultora de scouting aprendiste a cazar un modelo que memorizaba en vez de aprender. Hoy entras en una empresa de salud, y el salto es grande: es tu primer encargo avanzado. Esta lección no lleva una sola línea de código, y es a propósito. Antes de modelar nada conviene entender dónde has aterrizado, quién te pide las cosas, y por qué este encargo esconde un problema que no se resuelve con un buen modelo.
Dermia es una plataforma de teledermatología nacida en Valencia en 2018, montada por una dermatóloga harta de las listas de espera y un ingeniero de datos. El problema que querían resolver es viejo y brutal: en dermatología, el tiempo es la enfermedad. Una lesión de piel detectada pronto se trata casi siempre bien; detectada tarde, se complica. Y las consultas de dermatología tienen listas de espera de meses, con lo que la lesión preocupante y el lunar inofensivo hacen la misma cola. Dermia vende una forma de romper esa cola por riesgo: que lo que de verdad corre peligro suba arriba del todo. Un paciente o su médico de familia mandan los datos de una lesión —tamaño, forma, zona del cuerpo, evolución, antecedentes, y unos descriptores numéricos que extrae la app a partir de la foto— y Dermia ayuda a decidir a quién hay que mandar al dermatólogo cuanto antes.
Dermia no diagnostica: prioriza. Su producto no dice «esto es grave», dice «esto hay que verlo ya». La diferencia es toda la empresa: un diagnóstico lo firma un médico; un triaje bien hecho hace que el médico mire primero lo que más corre. En todo el caso trabajas con datos seudonimizados: ni nombres, ni fotos, solo un identificador de lesión, metadatos y descriptores numéricos. En salud, trabajar con el dato mínimo imprescindible es parte del oficio.
## El corazón del caso: dos errores que no cuestan lo mismo
El negocio de una empresa de triaje de salud se juega en una cosa, y no es la que parece. No es «acertar»: es no dejar pasar lo grave. Si Dermia marca como «revisar urgente» a cien personas sanas de más, el coste son cien consultas que sobraban: dinero y tiempo, molesto pero asumible. Si Dermia deja pasar una sola lesión grave marcándola como «no urgente», el coste es una persona que llega tarde al dermatólogo. Esos dos errores no cuestan lo mismo, ni de lejos, y toda la empresa está construida sobre esa asimetría. Un modelo que no la entienda es inservible aquí, por bueno que parezca su número.
Conviene ponerles nombre a los dos errores desde ya, porque los vas a oír toda la semana. Cuando el sistema marca urgente una lesión que de verdad lo era, es un acierto. Cuando la marca urgente y resulta benigna, es un falso positivo: una consulta de más. Y cuando la deja pasar como no urgente y resulta que requería atención, es un falso negativo: lo que de verdad duele. El falso positivo cuesta una consulta; el falso negativo cuesta mucho más. Toda la decisión de la semana consiste en ponerle un número a ese «mucho más» y actuar en consecuencia.
Y aquí está lo que de verdad cambia en este encargo. Ya sabes de tus trabajos anteriores que, con una clase rara, el acierto global engaña y hay que mirar el recall de la clase que importa. Eso aquí no es el hallazgo: es el punto de partida. El trabajo nuevo empieza después. Un modelo de clasificación no te da un sí o un no: te da una probabilidad, un número entre 0 y 1. Eres tú quien convierte esa probabilidad en una decisión eligiendo un umbral. Si usas 0,5 por defecto, ya has tomado una decisión de negocio sin pensarla, y casi siempre es la equivocada cuando los errores no cuestan lo mismo. Esta semana vas a aprender a elegir ese umbral con un número delante, y a comprobar si las probabilidades del modelo son de fiar antes de decidir sobre ellas.
Consejo de senior: cuando tengas un modelo con un buen número y te den ganas de darlo por terminado, pregúntate qué decisión vas a tomar con él y cuánto cuesta equivocarte en cada sentido. Un modelo que ordena bien no es todavía una regla de triaje. La regla la pones tú, con el umbral, y es la parte que de verdad importa.
## El equipo: dos miedos legítimos que tiran en direcciones opuestas
En Dermia no tienes un jefe con una corazonada: tienes dos presiones legítimas y opuestas, y tu trabajo es arbitrarlas con un número. Estos son los nombres que vas a oír toda la semana.
- Ignacio Varela — Data Lead, tu mentor. Físico de formación, quince años en modelos de riesgo (seguros, luego salud). Ha visto a demasiada gente presentar un modelo con un AUC precioso que, puesto en producción con el umbral por defecto, dejaba pasar justo lo que importaba. Es obsesivo con una sola cosa: que un modelo no se evalúe por su número abstracto, sino por la decisión que te deja tomar y lo que cuesta equivocarte. Su frase: «un AUC es una propiedad del modelo; una decisión es una propiedad del negocio. No las confundas. El día que pongas esto en una clínica, nadie va a mirar tu AUC: van a mirar a cuánta gente mandaste a casa que no debías».
- Dra. Beatriz Salinas — Directora Médica, socia fundadora. Dermatóloga, 25 años de ejercicio. Es quien responde, médica y legalmente, de que el triaje no deje pasar lo grave. Es la audiencia de la demo del viernes. No quiere ver tu curva ROC: quiere saber a cuántos pacientes con lesión grave el sistema mandaría a casa, cuántas consultas de más genera eso, y si puede dormir tranquila poniéndolo en producción. Para ella un falso negativo tiene nombre y apellidos. Su frase: «no me cuentes lo bueno que es el modelo. Cuéntame a cuántos enfermos manda a casa, y convénceme de que es un número con el que puedo vivir».
- Dr. Tomás Rivas — Dermatólogo de guardia, tu stakeholder clínico. Es quien recibe la cola de urgentes que genera el triaje. Tiene el problema contrario al de Beatriz: si el modelo marca urgente a demasiada gente, su consulta se colapsa y deja de poder atender a tiempo a los que de verdad corren. Representa el coste del falso positivo, real aunque mucho menor que el del falso negativo. Es la voz que impide que resuelvas el caso bajando el umbral a cero. Su frase: «si me mandas a todos, me colapsas y vuelvo a la lista de espera de siempre, solo que con tu sello. Dime un número que me deje ver a los graves rápido sin ahogarme en sanos».
- Lucía Prados — Ingeniera de Datos, tu compañera. Cinco años en Dermia, conoce los extractos y sus marranadas al dedillo. Te avisa de las trampas de los datos y repite una frase a la que nadie hace mucho caso: «ojo con fiarte del número que escupe el modelo. Que ponga 0,8 no quiere decir que de cada diez así, ocho sean graves. Pruébalo antes de creértelo».
Fíjate en la tensión, porque la vas a vivir toda la semana: Beatriz teme el falso negativo y querría bajar el umbral todo lo posible; Tomás teme el falso positivo y querría subirlo. Las dos preocupaciones son legítimas y tiran del umbral en direcciones opuestas. No vas a hacer feliz a los dos del todo. Tu trabajo es encontrar el punto que minimiza el daño total, y defenderlo con la curva de coste delante.
## Por qué trabajas en Python y no en Power BI
Dermia usa Power BI para los cuadros de mando que ve la dirección médica: cuántas lesiones entraron, cuántas se derivaron. Eso describe lo que ya pasó, y para eso está bien. Pero decidir el umbral que minimiza el coste de equivocarse, y comprobar si las probabilidades del modelo son de fiar, es modelado y evaluación: vive en Python. Pandas para preparar los datos, scikit-learn para los modelos, matplotlib para las figuras. Esta semana te quedas en esa fase. Nadie espera que toques Power BI; aparece solo como el sitio donde la dirección mira sus números.
## Qué vas a construir esta semana
A lo largo de los cinco días vas a montar, casi sin darte cuenta, un proyecto de código completo con estructura de repositorio. Cada bloque de código que escribas es un trozo de un fichero concreto: el lunes exploras y encuadras los costes (src/01_explorar.py), el martes limpias los extractos y montas la tabla de modelado (src/02_features.py), el miércoles entrenas los dos primeros modelos y te alegras demasiado pronto con el AUC (src/03_modelar.py), el jueves descubres que el umbral de 0,5 dejaba pasar a más de la mitad de los graves y lo mueves por coste, y luego que las probabilidades no eran de fiar y las calibras (src/04_decidir.py), y el viernes sacas las figuras y escribes el informe para el comité (src/05_informe.py y el README). Al cerrar la semana tendrás un proyecto de cribado con decisión por coste que puedes subir a GitHub como pieza de portfolio.
1cribado-dermia/2├── README.md ← lo escribirás el viernes3├── requirements.txt ← pandas, numpy, scikit-learn, matplotlib, duckdb4├── datos/ ← lesiones.csv, desenlaces.csv, tabla_modelado.csv5├── sql/ ← consultas de contexto6└── src/7 ├── 01_explorar.py ← HOY: carga, primer vistazo, encuadre de costes8 ├── 02_features.py ← martes: limpiar y montar la tabla de modelado9 ├── 03_modelar.py ← miércoles: dos clasificadores, AUC, matriz a 0,510 ├── 04_decidir.py ← jueves: umbral por coste y calibración11 └── 05_informe.py ← viernes: figuras e informe para el comité
El esqueleto del proyecto que vas a ir rellenando toda la semana. Cada script lleva un número delante que marca el orden en que se ejecuta fuera del navegador. Dentro de la plataforma cada ejercicio corre aislado y parte de los CSV de datos/, pero el código que escribes es un trozo del script numerado que le toca.
Pero hoy no se escribe código. Hoy se encuadra el problema, porque un encargo mal entendido se arregla mal por mucho que programes. Los tres ejercicios de esta lección son para asegurarte de que entiendes qué clase de problema es este, cómo pesan los dos errores, y en qué orden vas a trabajar la semana. Es el trabajo de verdad del primer día.
## comentarios
Reporta erratas, ayuda a otros o comparte tu opinión. Sé constructivo.
Inicia sesión para comentar y responder.
cargando comentarios...
Regístrate para guardar tu progreso.