Machine learning desde cero · Proyecto de portfolio · 40 min
Proyecto A: cribado
En pocas palabras
Tu primer proyecto de portfolio: elige modelo y umbral para un cribado en el que un fallo cuesta 10 falsas alarmas, y compruébalo en un test oculto.
La tarea
Construyes un primer filtro: un modelo puntúa una biopsia y decide quién pasa a más pruebas. Un tumor maligno no detectado (FN) cuesta lo mismo que 10 falsas alarmas (FP).
- Elige un modelo (regresión logística, árbol de decisión o kNN) y su único ajuste.
- Elige un umbral: a partir de qué puntuación el modelo dice «a biopsia».
- Escribe una frase de justificación: por qué este modelo y este umbral.
Todo lo eliges con la validación. El test oculto comprueba tu elección al final, como los pacientes nuevos comprueban un modelo tras el despliegue.
Datos y división
Breast Cancer Wisconsin (Diagnostic), UCI Machine Learning Repository, licencia CC BY 4.0: 569 biopsias, 212 de ellas malignas. El modelo ve las 10 medidas «mean» de los núcleos celulares de la imagen de la biopsia (radio, textura, concavidad, etc.). UCI
- Aprendizaje: 427 biopsias (159 malignas). Validación cruzada en 5 partes: cada parte es una vez la validación y el modelo aprende con las demás. De ahí sale el coste CV.
- Test oculto: 142 biopsias (53 malignas), apartadas una vez, al azar, manteniendo la proporción de clases (semilla 1). El modelo aprende con las 427 y solo entonces puntúa el test.
«Oculto» significa aquí «no mostrado en la página», no protegido. El código de la página es público y cualquiera puede leerlo. Tu navegador cuenta los envíos, así que borrar los datos del sitio reinicia el límite. Es un ejercicio de disciplina, no un examen.
Cómo aprobar
El coste se cuenta por cada 100 personas: (10 × no detectados + falsas alarmas) × 100 / número de personas. El aprobado es automático, con dos reglas:
- el coste en el test oculto es menor que el de las dos reglas simples: «todos a biopsia» (62,7 por cada 100 personas en el test) y «nadie a biopsia» (373,2);
- solo cuenta el primer envío. Tienes 3 envíos, pero los siguientes son «a posteriori»: muestran el coste en el test y no cambian el resultado.
Por qué esta regla. La herramienta calcula sola el coste CV, así que la validación no se puede trampear. Lo que sí se puede es ajustar la elección al test: enviar, ver el resultado y corregir. Por eso solo cuenta el primer envío.
En el test oculto (142 biopsias) un solo caso no detectado cuesta 7,0 por cada 100 personas, así que el resultado del test salta. Antes de enviar, la herramienta muestra el rango habitual: de CV − 25 a CV + 25. Esa fue la dispersión del test alrededor del CV para las soluciones de ejemplo de las lecciones en 200 divisiones aleatorias distintas (95 % de los casos). Ejemplo: la regresión logística con umbral 0,30 tiene CV 18,7 y test 48,6, fuera del rango. Es mala suerte de la división, no un error, y la elección aprueba igual porque es más barata que las dos reglas.
Las soluciones de ejemplo aprueban en al menos el 98 % de esas 200 divisiones. No hay ranking: solo tú ves tu resultado.
Tu elección
La herramienta funciona en el navegador con JavaScript activado. Sin él, haz el proyecto en el notebook de abajo.
Tarjeta de finalización
Cuando apruebes, podrás descargar una tarjeta (PNG). Escribes tu nombre en esta página, la tarjeta se crea en tu navegador y el nombre nunca va a la dirección de la página ni a un servidor. «Compartir en LinkedIn» pasa solo la dirección de esta página.
Para quien programa: el notebook
El notebook hace lo mismo en scikit-learn: el mismo conjunto, las mismas 142 filas del test oculto (dadas por número de fila), validación cruzada en 5 partes, el coste por cada 100 personas, el rango habitual alrededor del CV y la regla de aprobado. Ejecuta la celda del test una vez, después de elegir: cuenta la primera ejecución. El árbol y kNN pueden diferir de la página en casos sueltos, porque scikit-learn deshace los empates de otra forma.
Descargar el notebook (.ipynb)
Plantilla de README para GitHub
Un notebook copiado de un tutorial dice poco de ti. Un README con tus propias decisiones y límites dice más. Copia la plantilla y rellena cada sección con tus palabras.
Mostrar la plantilla
# Cribado: un modelo y un umbral según el coste de los errores
Proyecto A del curso de ML Atlas: https://mlatlas.org/es/curso/ml/proyecto-a/
## Problema
¿Quién debe ir a biopsia? No detectar un tumor maligno cuesta lo mismo que 10 falsas alarmas. <Con tus palabras: quién usa el modelo y qué pasa tras su decisión.>
## Datos y licencia
Breast Cancer Wisconsin (Diagnostic), UCI Machine Learning Repository, CC BY 4.0, https://doi.org/10.24432/C5DW2B. 569 biopsias, 212 malignas, 10 medidas «mean».
## Validación
<Cómo dividiste los datos, cuántas partes tiene la validación cruzada, cuántas veces miraste el test oculto.>
## Resultado ± dispersión
<Modelo, ajuste, umbral. Coste CV por cada 100 personas y su dispersión entre partes; coste en el test.>
## Línea base
<El coste de «todos a biopsia» y «nadie» con los mismos datos.>
## Lo que el modelo no sabe hacer
<Límites: cuántos datos hay, de dónde vienen, qué cambia con otros precios de los errores.>
## Siguientes pasos
<Qué comprobarías después y por qué.>