Está en la página 1de 17

DATA SCIENCE  

Validación Cruzada y Curvas de ROC 


 
“There is always a need to validate the stability of your machine learning 
model. I mean you just can’t fit the model to your training data and hope it 
would accurately work for the real data it has never seen before.” 

 
 
 
Comenzamos  el  segundo  bloque  de  la  carrera  viendo  cómo  podemos  mejorar 
nuestros  análisis  y  modelos  de  Machine  Learning  con  el  Preprocesamiento  de 
Datos. Es turno de ver cómo mejorar la evaluación de nuestros modelos.  

Hasta  aquí  solamente  vimos  los  modelos  más  sencillos:  árboles  de  decisión, 
k-vecinos  más  cercanos  y  regresión  lineal.  Debés  estar  ansioso/a  por  ver 
modelos más complejos y elaborados. Pero ten en cuenta que un modelo sencillo 
con  un  buen  preprocesamiento  de  datos  y  una  buena  evaluación  ​es  preferible 
al modelo más actual mal alimentado (“​garbage in, garbage out”​) y mal evaluado. 
Tener  estas  herramientas  nos  servirá  para  que  cuando  veamos  los  modelos  de 
clasificación  y  regresión  más  avanzados  podamos  aprovecharlos  en  todo  su 
desempeño. 

En  la  presente  bitácora  nos  vamos  a  concentrar  en  cómo  mejorar  la  ​validación 
de  nuestros  modelos  de  Machine  Learning,  a  partir  de  lo  que  se  conoce  como 
Validación  Cruzada  (Cross  Validation).  Además,  vamos  a  introducir  el  concepto 
de  ​curva  de  ROC  y  a  ver  cómo podemos usarlo como métrica de evaluación para 
nuestros modelos de clasificación. 

Empecemos  repasando  algunos  conceptos  fundamentales,  que  nos servirá para 


aprovechar al máximo la bitácora 
 
 
Primero lo primero, ¿Qué es Machine Learning? 
Veamos dos definiciones bastante conocidas: 

La  primera  es  de  ​Arthur  Samuel​,  quien  lo  describió  como:  "el  campo  de  estudio 
que  da  a  los  ordenadores  la  capacidad  de  aprender  sin  ser  programados 
explícitamente". Esta es una definición más antigua e informal.  

Por  otro  lado,  ​Tom  Mitchell  nos  proporciona  una  definición  más  moderna:  "Se 
dice  que  un  programa  de  ordenador  aprende  de  la  experiencia  ​E  con  respecto a 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.

DATA SCIENCE    

alguna  clase  de  tareas  ​T  y  la  medida  de  rendimiento  ​P​,  si  su  rendimiento  en  las 
tareas en ​T​, medidas por ​P​, mejora con la experiencia E ​ ​." 
 
 
Tipos de Machine Learning 
● El  ​aprendizaje  no  supervisado  nos  permite  abordar  los  problemas  con 
poca  o  ninguna  idea  de  cómo  deberían  ser  nuestros  resultados. Podemos 
derivar  la  estructura  agrupando  los  datos  en  base  a  las  relaciones  entre 
las variables de los datos. 

● El  ​aprendizaje  por  refuerzos  es  un  área  del  aprendizaje  automático 
inspirada  en  la  psicología  conductista,  que  se  ocupa  de  cómo  los agentes 
de  software  deben  actuar  en un entorno para maximizar alguna noción de 
recompensa acumulativa. 

● En  el  ​aprendizaje  supervisado​,  se  nos  da  un  conjunto  de  datos  y  ya 
sabemos  cómo  debe  ser  nuestra  salida  correcta  (teniendo  la  idea  de  que 
existe  una  relación  entre  la  entrada  y  la  salida).  Recordemos  que  los 
problemas  de  aprendizaje  supervisado  se  clasifican  en  ​problemas  de 
"regresión" y "clasificación".  
○ En  un  problema  de  regresión,  tratamos  de  predecir  los  resultados 
dentro  de  una  salida  continua,  lo  que  significa  que  estamos 
tratando  de  mapear  las  variables  de  entrada  a  alguna  función 
continua.  
○ En  un  problema  de  clasificación,  en  cambio,  estamos  tratando  de 
predecir  los  resultados  en  una  salida  discreta.  En  otras  palabras, 
estamos  tratando  de  mapear  las  variables de entrada en categorías 
discretas. 

 
Por  otra  parte,  como  hemos  visto  en  encuentros  y  bitácoras  anteriores,  existen 
métricas  que  nos  facilitan  la  tarea  de  evaluar  el  rendimiento  de  un  modelo.  Por 
ejemplo, para problemas de clasificación vimos que existen: 

● Exactitud. 
● Precisión/Exhaustividad. 
● F-Score. 
 
Y en los problemas de regresión: 

● MAE. 
● MSE/RMSE, etc. 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.

DATA SCIENCE    

 
¿Cuál  es  el  error  que  solemos  cometer  cuando  recién  arrancamos  en  esta 
disciplina?  Tomamos  nuestros  datos,  elegimos  algún  modelo  —por  ejemplo, 
árboles  de  decisión— y alguna métrica que nos interese. Entrenamos ese modelo 
con  todos  nuestros  datos  y,  luego,  usamos el modelo para predecir las etiquetas 
de  esos  mismos  datos.  Cuando  lo  evaluamos  —por  ejemplo,  usando  exactitud—, 
vemos  que  tiene  un  desempeño  altísimo,  cercano  a  la  perfección.  ¿Cuál  fue  el 
error? 
 
 
Entendiendo el underfitting y el overfitting 
Un/a  Data  Scientist  desarrolla  modelos  de  Machine  Learning  para  obtener 
predicciones  sobre  ​nuevos  datos  y,  en  el  medio,  aprender  sobre  el  problema 
que  le  interesa.  ​Un  buen  modelo  no es aquel que da predicciones exactas sobre 
los  datos  conocidos  (o  datos  de  entrenamiento),  sino  ​el  que  da  buenas 
predicciones  sobre  nuevos  datos  (datos  desconocidos  o  nunca  vistos), 
evitando  tanto  como  sea  posible los problemas de sobreajuste (overfitting) 
y de subajuste (underfitting): 

● El  ​Overfitting  se  produce  cuando  un  modelo  de  aprendizaje  automático 
captura  el  ruido  de  los  datos.  Intuitivamente,  el  overfitting  se  produce 
cuando  el  modelo  se  ajusta  demasiado  bien  a  los  datos  o  como  se  suele 
decir  coloquialmente  “el  modelo  aprende  de  memoria  los  datos”.  Este 
ajuste  excesivo  da  como  resultado  un  buen  desempeño  en el conjunto de 
datos  de  entrenamiento,  pero  resultados  pobres  en  los  datos  nunca 
vistos.  
 
● Por  el  contrario,  el  ​Underfitting  se  produce  cuando  un  modelo  no  puede 
capturar  la  tendencia  subyacente  de  los  datos.  Intuitivamente,  la 
inadecuación  se  produce  cuando  el  modelo  no  generaliza  lo 
suficientemente  bien  a  los  datos.  Este  subjuaste  suele  ser  el resultado de 
un modelo excesivamente simple. 
 
Tanto  el  underfitting  como  el  overfitting  se  pueden  presentar  en  problemas  de 
clasificación como de regresión. Veamos los siguientes ejemplos: 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.

DATA SCIENCE    

 
 
 

 
 
 
Ahora sí, vayamos a la pregunta central de esta bitácora: 
 
¿Cómo podemos evaluar si el modelo está 
aprendiendo o no de nuestros datos? 
Una  vez  que  terminamos  de  entrenar  nuestro  modelo,  no  podemos  asumir  que 
va  a  funcionar  bien con datos nunca vistos. En otras palabras, no podemos estar 
seguros  de  que  el  modelo  tendrá  el  desempeño  deseado  en  el  entorno  de 
producción.  Necesitamos  algún  tipo  de  garantía  de  la  exactitud  de  las 
predicciones  que  nuestro  modelo  está  realizando  o,  dicho  de  otra  manera, 
necesitamos validar nuestro modelo. 

Para  evaluar  el  rendimiento  de  cualquier  modelo  necesitamos  probarlo  con 
algunos  datos  nuevos  (nunca  vistos),  simulando  el  uso  que  le  daremos  a  ese 
modelo  una  vez  que  haya  sido  entrenado.  Basándonos  en  el  rendimiento  de  los 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.

DATA SCIENCE    

modelos  en  los  datos  nunca  vistos  podremos  decir  si  nuestro  modelo  está 
subajustado, sobreajustado o si generaliza bien.  

La  forma  más  sencilla  y  fundamental  de  lograr  esto  es  con un ​Train/Test Split​, 
como  vimos  en  el  Bloque  1.  En  este  enfoque  dividimos  aleatoriamente  el 
conjunto  de  datos  completo  en  subconjuntos  de  entrenamiento  (train) y prueba 
(test).  Luego  entrenamos  nuestro  modelo  con  el  conjunto  de  datos  de 
entrenamiento  y  usamos  el  conjunto  de  pruebas  para  propósitos  de  validación, 
idealmente dividimos los datos con una proporción 70/30 u 80/20.  

 
 

 
 
 
Este  método,  sin  embargo,  no  es muy fiable, ya que el desempeño obtenido para 
un  conjunto  de  pruebas  determinado  puede  ser  muy  diferente  al  desempeño 
obtenido para un conjunto de pruebas diferente. ¿Cómo podemos garantizar que 
el  desempeño  de  nuestro modelo es independiente de la separación de los datos 
que  hayamos  hecho?  ¿Se  te  ocurre  alguna  idea?  Tómate  unos  minutos  para 
pensar si se te ocurre algo, muchas veces la respuesta ​intuitiva​ es la correcta.  

 
Validación Cruzada
Según  ​Wikipedia​,  “la  ​validación  cruzada  o  ​cross-validation  es  una  técnica 
utilizada  para  evaluar  los  resultados  de  un  análisis  estadístico  y  garantizar  que 
son independientes de la partición entre datos de entrenamiento y prueba.” 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.

DATA SCIENCE    

En  Machine  Learning  se  utiliza  para  evaluar  los  modelos  de  aprendizaje 
automático  mediante  el  entrenamiento  de  varios  modelos  con  subconjuntos  de 
los  datos  de  entrada  disponibles  y  su  evaluación  en  el  subconjunto 
complementario de los datos.  

📌 Utilizando la validación cruzada, hay grandes posibilidades de que 
podamos detectar el overfitting con mayor facilidad. 
 

⚠  Una  aclaración  importante​:  muchas  veces  usamos  la  palabra  modelo  de 
una  manera  bastante  laxa.  Por  ejemplo,  llamamos  modelo  a  los  árboles  de 
decisión.  Pero,  para  esta  sección,  es  mejor  considerar  a  los  modelos  con 
hiperparámetros  ya  definidos​.  Dos  árboles  de  decisión  con  distintos 
hiperparámetros son dos modelos distintos. 

Existen  varias  técnicas  de  Validación  Cruzada,  siendo  la  más  conocida  la 
validación  cruzada  de  K-pliegues  o  de  K-folds.  En  validación  cruzada  de 
K-pliegues,  el  procedimiento  tiene  un  único  parámetro  llamado  K  que  se  refiere 
al  número  de  grupos  en  los  cuales  se  va  a  dividir  una  determinada  muestra  de 
datos. Veamos cómo es el procedimiento para K=4. 

1. Partimos  de  datos,  un  modelo  -  con  hiperparámetros ya decididos - y una 


métrica sobre lo cual lo​ ​ que queremos evaluar 
2. Mezclamos los datos de manera aleatoria. 
3. Separamos en K=4 folds (muestras) del mismo tamaño. 
4. Luego: 
a. Elegimos  un  fold  como  set  de  datos  de  prueba  y  los  tres (K-1) folds 
restantes como set de datos de entrenamiento. 
b. Entrenamos  y  evaluamos  el  modelo.  Puedes  evaluarlo  tanto  en 
Train como en Test, pero ten en cuenta que la evaluación en Test es 
la que nos interesa. 
c. Guardamos el resultado de la evaluación y descartamos el modelo. 
5. Obtenemos  una  medida  de  performance  del  modelo  como  el  promedio de 
las  K  evaluaciones  obtenidas  en  en  el  punto  3.  También  es  un  buena 
práctica  -  diríamos,  casi  obligada  - incluir una de medida de la varianza de 
las métricas obtenidas. 

Una  pregunta  que  suele  surgir  es  a  qué  modelo  corresponde  la  métrica  de 
desempeño  obtenida. En este ejemplo, durante el proceso de CV se entrenaron 4 
modelos  -  todos  con  el  mismo  conjunto  de  hiperparámetros  -,  pero  el 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.

DATA SCIENCE    

desempeño  no  corresponde  a  ninguno  de  ellos,  sino ​que es una estimación del 


desempeño  esperado  de  un  modelo  -  nuevamente,  con ese mismo conjunto 
de hiperparámetros - entrenado sobre todo el dataset. 

Epígrafe:  Validación  Cruzada  de  4  pliegues.  En  cada  iteración  entrenamos 


un  modelo  y  obtenemos  una  medida  de  performance.  La  medida  de 
performance  final  del  modelo  es  el  promedio  de  y  su  desviación  estándar. 
Fuente: Wikipedia. 

Existen  otras  formas  de  aplicar  validación  cruzada,  que  mencionaremos  en  el 
encuentro.  Todas  giran  alrededor  de  la  misma  idea  -  hacer  más  de  una 
separación  en  entrenamiento  y  testeo  -  y  para  obtener  una  estimación  del 
desempeño  del  modelo  independiente  de  esa  separación.  Lamentablemente, 
nunca  podremos  asegurar  del  todo  que  es  independiente,  pero  la  VC  es  una 
técnica fundamental para una buena evaluación de nuestros modelos. 

¿Esto  significa  que  no  debemos  hacer  más  un  train-test  split  de  los  datos?  ¡No! 
Todavía  tenemos  que  hacerlo.  En  la  próxima  bitácora  te  explicaremos  por  qué, 
cuando  veamos  cómo  combinar  Validación  Cruzada  con  Optimización  de 
Hiperparámetros.  Pero  ahora  veamos  una  métrica  más  avanzada  para  evaluar 
Clasificadores. 
 
 
Curva ROC y AUC-ROC 
En  un  problema  de  clasificación,  la  Matriz  de  confusión  nos  permite  observar  el 
desempeño  de  nuestro  modelo  comparando  las  etiquetas  reales  con  las 
etiquetas  asignadas.  Por  ejemplo,  en un problema binario, la matriz de confusión 
es  una  tabla  con  4  combinaciones  diferentes  de  valores  predichos  y  valores 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.

DATA SCIENCE    

reales.  En  general,  de  las  dos clases hay que es la positiva - la que nos interesa - 


y una que es la negativa. 

 
 
 
 
Con  estas  dos  clases,  los  elementos  de  la  Matriz  de  Confusión  se  agrupan  de  la 
siguiente manera: 

Verdaderos positivos - TP 


Interpretación​: Predijo positivo y es cierto. 
Predijiste que una mujer está embarazada y es verdad. 

Verdaderos Negativos - TN 


Interpretación: Predijiste algo negativo y es verdad. 
Predijiste que un hombre no está embarazado y en realidad no lo está. 

Falsos Positivos - FP (Error de tipo 1) 


Interpretación​: Predijiste positivo y es falso. 
Predijiste que un hombre está embarazado, pero en realidad no lo está. 

Falsos Negativos - FN (Error de tipo 2) 


Interpretación​: Predijiste negativo y es falso. 
Predijiste que una mujer no está embarazada, pero sí lo está. 
 
Nota​:  describimos  los  valores  predichos  como  ​Positivos  y  ​Negativos  y  los 
valores reales como ​Verdaderos​ y ​Falsos​. 

Un  test  puede  dar  cualquiera  de  estos  cuatro  resultados,  pero  en  la  matriz  de 
confusión  aparecen  agrupados  luego  de  realizar  muchos  tests.  De  esta  forma, 
en  la  Matriz  de  Confusión  está  toda  la  información  del  desempeño  de  nuestro 
Clasificador.  Sin  embargo,  puede  ser  difícil  ​leer  la  matriz  de  confusión,  sobre 
todo  cuando  no  nos  importan  por  igual  los  Falsos  Positivos  y  los  Falsos 
Negativos.  Como  vemos,  no  todos los errores se encuentran a un mismo nivel de 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.

DATA SCIENCE    

importancia,  no  es  lo  mismo  cometer  un  error  y  decirle  a  un  hombre  que  está 
embarazado,  que  cometerlo  con  una  mujer  al  decirle  que  está  embarazada, 
cuando  no  lo  está.  Entonces,  hay  algunas  métricas  que  son  útiles  para  resumir 
esta  información,  hacerla  más  comprensible  y  adaptarla  a  nuestro  problema. 
Algunas de ellas son la exhaustividad, la precisión-, el F-Score y la exactitud.  

¿Pero  qué  significan  todas  esas  definiciones?  Partiendo  de  TP,  FP,  FN  y  TN, 
podemos definir lo siguiente: 

· Exhaustividad o Recall 
De  todas  las  clases  positivas,  cuánto  hemos  predicho  correctamente. 
Debería ser lo más alto posible. 

 
 
· Precisión 
De  todas  las  clases  positivas  que  hemos  predicho  correctamente, 
¿cuántas son realmente positivas? 

 
 
· Exactitud o Accuracy 
De  todas  las  clases,  cuánto  predijimos  correctamente.  Debería  ser  lo  más 
alto posible. 
 
· F-Score 
Es  difícil  comparar  dos  modelos  con  baja  precisión  y  alto  recall  o 
viceversa.  Así  que  para  hacerlos  comparables,  usamos  F-Score.  El 
F-Score  ayuda  a  medir  el  recall  y  la  precisión  al  mismo  tiempo.  Utiliza  la 
media  armónica  en  lugar  de  la  media  aritmética,  castigando  más  los 
valores extremos. 

 
 
 
Estas  medidas  suelen  ser  muy  útiles  para  evaluar  el  desempeño  de  un  modelo. 
Notar  que  a  medidas  como  Exactitud  no  les  interesa  una  clase  en  particular, 
mientras  que  a  medidas  como  Precisión,  Exhaustividad  y  F-Score  sí. 
Obviamente,  cuanta  más  alta  la  Exactitud, más alta las otras, pero hay que tener 
cuidado  que  existen  sutilezas  que  pueden  confundirnos  en  nuestra  evaluación. 
Siempre  es  importante  evaluar  con  la  métrica  que  consideremos  más apropiada 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.

DATA SCIENCE    

para  nuestro  problema.  A  continuación,  veremos  una  nueva  medida,  muy 


utilizada y muy útil para muchos problemas de clasificación. 
 
 
Curva ROC (Receiver Operating Characteristic) 
Ya  lo  hemos  mencionado  muchas  veces,  pero  vamos  a  hacerlo  una  vez  más:  la 
medición  del  rendimiento  de  un  modelo  es  una  tarea  esencial  en  machine 
learning  y  la  Curva  de  ROC  es  una  de  las  métricas  de  evaluación  más 
importantes para verificar el rendimiento de cualquier modelo de clasificación.  

Supongamos  que  tenemos  un  modelo  que  predice  si  un  paciente  tiene cáncer o 
no,  y  que  en  lugar  de  predecir  “1”  (si  tiene  cáncer)  y  “0”  (si  no  tiene  cáncer), 
predice la probabilidad/score de que tenga cáncer, por ejemplo: 95% ó 0.95. 
 

 
 
Si  luego  graficamos  dichos  scores  de  predicción  (en  el  eje  X)  vs.  la  cantidad  de 
veces  que  aparecen  (en  el  eje  Y)  y  los  diferenciamos  con  distintos  colores 
basados  en  las  verdaderas  etiquetas,  vamos  a  llegar  a  una  gráfica  como  la 
siguiente: 

 
Normalmente,  cuando  nosotros  definimos  un  modelo  y  las  predicciones  las 
realizamos  con  una  medida  de  la  probabilidad  (y_pred_score  )en  lugar  de  un 
categoría  (y_pred),  la  decisión  de  si  un  paciente  está  enfermo  o  no, se reduce a 
observar  que  dicho  valor  de  probabilidad  se  encuentre  por  debajo  o  por  encima 
de un umbral, en general de 0,5. 
 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.
10 
DATA SCIENCE    

 
 
¿Y qué sucedería si cambiamos ese umbral de 0.5? 

 
 
A  medida  que  movemos  el  umbral,  vamos  cambiando  la cantidad de aciertos, de 
falsos  positivos,  de  falsos  negativos  y  de verdaderos negativos, dependiendo de 
cuál sea ese nuevo umbral.  

Con  todo  eso  en  mente,  imagina  que  ahora  vamos  a  ir  barriendo  el  umbral  y 
observando  los  efectos  que  esto  produce  en  la  clasificación.  Mientras  sigues 
imaginando  esa  situación,  vamos  a  definir  algunos  conceptos  que  nos  van  a 
permitir  cuantificar  la  situación:  ​Tasa  Positiva  Verdadera​,  Especificidad  y 
Tasa Positiva Falsa​. 

 
 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.
11 
DATA SCIENCE    

 
La  curva  de  ROC,  es  la  representación  de  TPR.  vs.  FPR.  para 
distintos valores de umbral. 
 
 

 
 
 
 
¿Cómo determinar cuán bueno es un modelo en base a la curva de ROC? 
Para  hacer  esa  cuantificación,  lo  que  se  hace  es calcular el área bajo la curva de 
ROC  (no  lo  hacemos  a  mano,  recuerden  que  aprovechamos  las  bondades  de  las 
librerías).  De  esta  manera,  con  el  área  bajo  la  curva  de  ROC  ó  AUC-ROC,  nos 
evitamos  tener  que  realizar  la  curva  y  sólamente  calculamos  un  valor  que  nos 
resume la curva de ROC. 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.
12 
DATA SCIENCE    

 
 
Un  modelo  excelente  tiene  un  AUC  cercano  al  1,  lo  que  significa  que  tiene  una 
buena  medida  de  separabilidad.  Un  modelo  pobre  tiene  un  AUC  cercano  al  0,  lo 
que  significa  que  tiene  la  peor  medida  de  separabilidad.  De  hecho,  significa  que 
está  dando  vuelta  el  resultado.  Predice  0s  como  1s  y  1s  como  0s. Y cuando AUC 
es  0.5,  significa  que  el  modelo  no  tiene  ninguna  capacidad  de  separación  de 
clases. 
 
 
Interpretemos las declaraciones anteriores 
Como  sabemos,  ROC  es  una  curva  de  probabilidad.  Así  que  vamos  a  graficar  las 
distribuciones de esas probabilidades: 
 
 

 
 
Situación A 
 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.
13 
DATA SCIENCE    

Situación  A:  esta  es  una  situación  ideal.  Cuando  dos  curvas  no  se  superponen 
en  absoluto  significa  que  el  modelo  tiene  una  medida  ideal  de  separabilidad.  Es 
perfectamente capaz de distinguir entre la clase positiva y la clase negativa. 
 
 
 
 

Situación B 
 
Situación  B:  cuando  dos  distribuciones  se superponen, introducimos el error de 
tipo  1  y  tipo  2.  Dependiendo  del  umbral,  podemos  minimizarlos  o  maximizarlos. 
Cuando  el  AUC  es  de  0,7,  significa  que  hay  un  70%  de  posibilidades  de  que  el 
modelo sea capaz de distinguir entre la clase positiva y la clase negativa. 
 
 
 
 

 
 
Situación C 
 
Situación  C:  esta  es  la  peor  situación.  Cuando  el  AUC  es  aproximadamente 0,5, 
el  modelo  no  tiene  capacidad  de  discriminación  para  distinguir  entre  la  clase 
positiva y la clase negativa. 
 

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.
14 
DATA SCIENCE    

 
 
Situación D 
 
Situación  D:  cuando  el  AUC  es  aproximadamente  0,  el  modelo  está  en  realidad 
dando  vuelta  las  clases.  Es  decir,  el  modelo  está  prediciendo  la  clase  negativa 
como una clase positiva y viceversa. 
 
 
Empieza a trabajar en el notebook 
Para  el  encuentro,  lleva  resuelta  la  sección  1.  Si  aún  tienes  tiempo y ganas, mira 
las otras secciones. 

 
DS_Bitácora_21_CV_ROC 
 
 
 
 
 
¡Prepárate para el próximo encuentro! 
 
Challenge 

📝  ​Para  pensar  e  investigar​.  Existen  dataset  ​desbalanceados​,  es  decir, 


conjuntos  de  datos  donde  hay  clases  sobrerrepresentadas  y  otras 
subrepresentadas.  Por  ejemplo,  el  dataset  de Iris es un dataset perfectamente 
balanceado  (50  instancias  de  cada  clase),  mientras  que  el  dataset  del  Titanic 
está  levemente  desbalanceado. Trabajar con datasets muy desbalanceados no 
es  tarea  sencilla,  y  existen  muchas  técnicas  para  abordarlos.  Reflexiona sobre 
qué  ocurre  con  la  exactitud,  la  precisión  y  la  exhaustividad  cuando  las  utilizas 
para  evaluar  desempeño  sobre  dataset  binario  muy  desbalanceado 
(supongamos,  proporción  1  en  1000),  en  particular  cuando  te  interesa  la  clase 
minoritaria. ¿Qué ocurrirá con la Curva ROC y la AUC-ROC?  

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.
15 
DATA SCIENCE    

¡Trae tu análisis y conclusiones al encuentro! 

📝 Resuelve el challenge del notebook 


 
Profundiza 

Si  te  interesa  saber  más  sobre  Validación  Cruzada  y  Curvas  de  ROC,  te 
recomendamos estos recursos: 

● 📗  ​Python  Data Science Handbook - Capítulo 5, “​Hyperparameters and 
Model Validation”​ . 

● 📗  ​La  guía  de  Scikit-Learn  sobre  CV  y  ​La  guía  de  Scikit-Learn  sobre 
Curvas de ROC​ - Son siempre una muy buena referencia. 

● Mira  ​este  video  sobre  Curvas  de  ROC,  si  te  costó  entender  el  concepto 
visto en la bitácora, este video te va a ser de mucha ayuda. 

● Juega  con ​este recurso​, del cual hemos sacado algunas de las imágenes 
de esta bitácora. 

 
 
Potencia tu Talento - Portales de empleo 

🚀
 
Ofertas laborales 
Si  quieres comenzar a trabajar dentro de tu rama de estudio es importante que 
investigues  las  ofertas  de  puestos  disponibles.  Ya  hemos  recorrido  tus 
opciones  de  desarrollo,  los  referentes  de  la  industria  y  tienes  un  primer 
proyecto para demostrar lo que sabes.  
Revisar  las  ofertas  de  empleo  disponibles te permitirá identificar qué aspectos 
es  mejor  resaltar  en  tu  perfil,  te  dará  información  muy  valiosa  para  pensar  tu 
perfil de LinkedIn, CV y Portfolio de manera más estratégica.  

🚀
 
Portales de empleo 
Aquí  te  proponemos  que  indagues  portales  de  empleo,  no  todas  las  ofertas 
están  en  LinkedIn  y  te  puedes  estar  perdiendo  de  oportunidades  muy 
interesantes si solo te quedas allí. 
Además  recuerda  que  en  nuestro  Slack  de  estudiantes  tenemos  el  canal 
#oportunidades-laborales  abierto  a  toda  la  comunidad,  para  compartir 
búsquedas de las distintas áreas de estudio de Acámica.   

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.
16 
DATA SCIENCE    

También  puedes  investigar  plataformas  que  ofrecen  oportunidades  no 


tradicionales como Topcoder.  

🔎
 
​Portales de empleo 
🔎 ​Trabajo remoto - construyendo una carrera con Topcoder  

 
© Acamica S.A.- 2020. Esta obra está bajo una ​Licencia Creative Commons Atribución – No Comercial – Sin Obra Derivada 4.0 Internacional​.
17 

También podría gustarte