jos e luis ruiz reina - universidad de sevilla · 2018. 5. 22. · jos e luis ruiz reina dpto....

40
C´omo evaluar: procedimientos de evaluaci´on Qu´ e evaluar: m´ etricas de evaluaci´ on Evaluaci´ on de modelos en scikit-learn (model sel Evaluaci´on de modelos Jos´ e Luis Ruiz Reina Dpto. Ciencias de la Computaci´on e Inteligencia Artificial Razonamiento Asistido por Computador, 2017-2018

Upload: others

Post on 03-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Evaluación de modelos

    José Luis Ruiz Reina

    Dpto. Ciencias de la Computación e Inteligencia Artificial

    Razonamiento Asistido por Computador, 2017-2018

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Evaluación de modelos

    • Una de las fases principales en todo el proceso de análisis dedatos

    • En este tema, nos centraremos en evaluación de clasificadores

    • Se trata de evaluar la calidad de un modelo aprendido,cuantificado mediante una varias métricas que cuantifican elrendimiento del modelo

    • La más simple: proporción de aciertos en la clasificación dada(accuracy)

    • ¿Para qué queremos evaluar?• Comparar distintos modelos, para elegir el mejor• Estimar cómo se comportará el modelo, una vez puesto “en

    producción”• Convencer al “cliente” de que el modelo cumplirá su propósito

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Principio básico en la evaluación de modelos

    • La evaluación final de un modelo nunca debe hacersesobre los datos que sirven para aprender el modelo

    • Ni siquiera sobre los datos que sirven para ajustar el modelo• La manera más básica de hacerlo:

    • Dividir el conjunto de datos disponibles en entrenamiento yprueba

    • Aprender con el conjunto de entrenamiento• Evaluar con el de prueba

    • Pero a veces no es posible (pocos datos)

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Metodoloǵıa y métricas

    • Metodoloǵıas:• ¿Cómo diseñamos el experimento de evaluación del modelo?• Holdout, validación cruzada, bootstrap,. . .

    • Métricas:• ¿Cómo medimos el rendimiento de un modelo?• Accuracy, Precision, Recall, curvas ROC, AUC,. . .

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Índice

    Cómo evaluar: procedimientos de evaluación

    Qué evaluar: métricas de evaluación

    Evaluación de modelos en scikit-learn (model selection ymetrics)

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Cómo evaluar: procedimientos de evaluación

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Procedimiento de evaluación

    • Cuestión metodológica:• ¿cómo usamos los datos que tenemos para estimar el

    rendimiento de un clasificador?• ¿cómo ajustamos los distintos parámetros con los datos que

    tenemos?

    • Necesitamos datos con su valor de clasificación (es decir,tomados de los datos que ya tenemos)

    • Pero para dar el rendimiento final es fundamental nohacerlo sobre conjuntos de datos que:

    • Se hayan usado para el aprendizaje del modelo• Se hayan usado para el ajuste del modelo

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Método Holdout

    • El método holdout consiste en separar de manera aleatoria,una parte de los datos de los que se dispone, obteniendo:

    • Conjunto de entrenamiento• Conjunto de prueba

    • Se aprende con el conjunto de entrenamiento y se evalúa elrendimiento sobre el conjunto de prueba

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Método Holdout con validación y prueba• En muchas ocasiones necesitamos un tercer conjunto de datos

    para ajustar determinados aspectos del modelo que finalmentese aprenda

    • Es importante que una vez se ajuste el modelo, haya unaevaluación final, completamente independiente del proceso deajuste

    • En ese caso, se parten los datos en tres conjuntos:entrenamiento, validación y prueba (porcentajes habituales:50:20:30, 40:20:40)

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Validación y prueba frente a sobreajuste• El método holdout nos permite tratar de evitar el sobreajuste

    que se produciŕıa si nos basaramos sólamente en elrendimiento sobre el conjunto de entrenamiento

    • En muchos algoritmos, el sobreajuste ocurre a partir de unacierta iteración.

    • Podemos estimar de esta manera en qué momento empieza aproducirse.

    0 50 100 150 200

    0.1

    0.2

    0.3

    0.4

    0.5

    Training Iteration

    Mis

    clas

    sific

    atio

    n R

    ate

    Performance on Training SetPerformance on Validation Set

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Problemas con el método holdout

    • Clases no balanceadas:• Ejemplo: 900 datos de clasificación “pos” y 100 “neg”, podŕıa

    hacerse un holdout que no respetara esas proporciones• Divisiones estratificadas, se hacen por cada clase

    • A veces no nos podemos “permitir ese lujo”: pocos datos• Puede que en el conjunto de entrenamiento queden los datos

    “fáciles”, o viceversa

    • El método de validación cruzada trata de contrarrestar estasds últimas cuestiones

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Validación cruzada

    • Validación cruzada en k partes (k-fold cross-validation):• Se divide el conjunto de entrenamiento en k partes de igual

    tamaño, preferentemente estratificadas (valores usuales, k=10,k=5).

    • Se hacen k aprendizajes con sus correspondientes evaluaciones(con una métrica dada)

    • En cada aprendizaje, se usa como test una de las partes ycomo entrenamiento las k − 1 restantes

    • Se devuelve la media de las evaluaciones realizadasFold*1"

    Fold*2"

    Fold*3"

    Fold*4"

    Fold*5"

    Fold*6"

    Fold*7"

    Fold*8"

    Fold*9"

    Fold*10"

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Validación cruzada: ventajas y desventajas

    • Ventajas:• Si no tenemos muchos datos, nos proporciona una buena

    manera de realizar el proceso de validación• Cada dato aparece exactamente una vez en un conjunto de

    test: ningún ejemplo se “escapa” del entrenamiento ni de laevaluación

    • Podemos medir la varianza de las evaluaciones entre distintosconjuntos de prueba

    • Desventajas:• Tiempo de computación

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Validación cruzada: una observación importante

    • Validación cruzada no es un método para aprender un modelo• Es una manera de evaluar cómo de bueno será (en términos

    de generalización) un algoritmo de aprendizaje sobre unconjunto de entrenamiento dado

    • Se suele usar, por ejemplo, para el ajuste de parámetros• Finalmente, se suele aprender un modelo sobre todo el

    conjunto de entrenamiento, y se evalúa ese modelo sobreun conjunto de prueba independiente.

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Validación cruzada: variantes

    • Validación cruzada “dejando uno fuera” (leave one out):• Es el caso en el que k es igual al total de ejemplos, hacemos N

    entrenamientos (N total de datos), y N evaluaciones sobre unconjunto de prueba unitario

    • No aconsejable si el conjunto de datos es grande, puede hacerbuenas estimaciones sobre conjuntos de datos pequeños

    • Validación cruzada con particiones aleatorias:• Se repite k veces la separación del conjunto de datos

    entrenamiento y prueba, y en cada una se entrena y se evalúa.• Cada una de esas separaciones se hace de manera aleatoria,

    simplemente fijando la proporción de datos para entrenamientoy para prueba

    • Permite subsampling, útil cuando hay muchos datos

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Bootstrap

    • En cada iteración se obtiene una muestra del mismo tamañoque el conjunto de datos total, pero cada elemento se extraealeatoriamente con reemplazo

    • Es decir, la muestra puede tener repeticiones y algunos datospueden no entrar

    • Se entrena con el conjunto extráıdo, y se evalúa sobre elconjunto original

    • Se devuelve la media de todas las iteraciones• Estimación optimista (gran solape entre conjuntos de

    entrenamiento y prueba)

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Qué evaluar: métricas de evaluación

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Métricas de evalución

    • Todas las metodoloǵıas necesitan una función de evaluación ométrica

    • Para estimar cuantitativamente la capacidad de generalizacióndel modelo

    • Es decir, su desempeño sobre la distribución completa deposibles datos (y no sólo sobre el conjunto usado paraaprender)

    • Para comparar diversas opciones en la fase ajuste y validación

    • La más simple: tasa de aciertos en la predicción (accuracy)• Pero hay muchas otras• Y no necesariamente tiene que ser un solo número

    • La elección de una medida concreta debe estar guiada por elobjetivo final

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Métricas para clasificación binaria

    • Supondremos dos clases: positiva (1) y negativa (0), y unclasificador aprendido que queremos evaluar

    • Matriz de confusión: tabla que cruza las predicciones con laclasificación real (ground truth)

    • Tipos de predicciones:• Verdadero Positivo (TP): ejemplo positivo, predicho positivo• Falso Positivo (FP): ejemplo negativo, predicho positivo• Verdadero Negativo (TN): ejemplo negativo, predicho negativo• Falso Negativo (FN): ejemplo positivo, predicho negativo

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Ejemplo: clasificando SPAM (Kelleher et al.)

    Supongamos que tenemos un modelo para detectar posiblescorreos SPAM (la clase positiva), que aplicamos a un conjunto de20 correos (cuya clasificación conocemos), con los siguientesresultados:

    ID Clase Pred. Resultado1 spam ham FN2 spam ham FN3 ham ham TN4 spam spam TP5 ham ham TN6 spam spam TP7 ham ham TN8 spam spam TP9 spam spam TP

    10 spam spam TP

    ID Clase Pred. Resultado11 ham ham TN12 spam ham FN13 ham ham TN14 ham ham TN15 ham ham TN16 ham ham TN17 ham spam FP18 spam spam TP19 ham ham TN20 ham spam FP

    En este caso: TP = 6,FP = 2,TN = 9,FN = 3

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Métricas en clasificación binaria

    • Tasa de aciertos= TP+TNTP+TN+FP+FN• En el ejemplo: 6+96+9+2+3 = 0,75

    • El problema de usar la tasa de aciertos en datos nobalanceados

    • Ejemplo: en un conjunto de datos con 990 positivos y 10negativos, un clasificador que predice siempre “positivo”,tendŕıa un 0.99 de tasa de aciertos

    • ¡Y sin embargo es malo!

    • Además, no todos los aciertos o errores tienen la mismaimportancia

    • En el diagnóstico de enfermedades, un FP es más aceptableque un FN, por ejemplo

    • Por tanto, se suelen usar mas de una medida, para captar elimpacto de todos los tipos de error

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Principales métricas en clasificación binaria

    • Precisión: P = TPTP+FP• ¿Qué proporción de los clasificados como positivos lo son

    realmente?

    • Recall (sensibilidad, exhaustividad): R = TPTP+FN• ¿Qué proporción de todos los positivos se clasifican como tal?

    • Tasa FP: FPR = FPTN+FP• ¿Qué proporción de todos los negativos se clasifican como

    positivos?

    • Medida F1 = 2× P×RP+R• Es la media armónica de P y R

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Métricas en el clasificador de SPAM

    • Precisión:• ¿Qué proporción de los clasificados como SPAM lo son

    realmente?• P = TPTP+FP =

    66+2 = 0,75

    • Recall:• ¿Qué proporción de los que son SPAM se clasifican como tal?• R = TPTP+FN =

    66+3 =

    23

    • Medida F1• En nuestro ejemplo F1 = 2× P×RP+R = 0,706

    • Tasa FP:• ¿Qué proporción de los que no son SPAM se clasifican como

    SPAM?• FPR = FPTN+FP =

    29+2 =

    211

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Comentarios sobre las métricas de evaluación

    • Precisión (P) alta significa pocos falsos positivos• Recall(R) alta significa pocos falsos negativos• Hay un compromiso entre P y R:

    • Un clasificador que todo lo predijera positivo, obtendŕıa R = 1,pero habŕıa muchos falsos negativos y P seŕıa muy baja

    • Un clasificador que sólo predijera positivo a un único ejemplo(positivo) y el resto como negativo, tendŕıa R muy baja peroP = 1

    • Un clasificador perfecto tendŕıa P = R = 1• En la práctica, hay que tratar que ambas sean lo mejor posible

    • La medida F1 nos sirve para resumir P y R en un solo dato.Se prefiere a la media aritmética, mitiga el impacto de lastasas altas y acentúa el de las tasas bajas.

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Clasificadores que manejan incertidumbre

    • Hemos visto que muchos clasificadores las predicciones lashacen cuantificando el grado de incertidumbre de las mismas

    • Naive Bayes y regresión loǵıstica devuelven probabilidades• Máquinas de vectores soporte cuantifican la “cercańıa” a la

    frontera de decisión• . . .

    • Por defecto se predice la clase positiva cuando la probabilidades mayor que 0.5 (o en el caso de SVM, cuando la evaluaciónes positiva)

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Variando el umbral de clasificación

    • Pero podŕıamos subir o bajar el umbral de aceptación, parahacer que el clasificador fuera más o menos estricto a la horade clasificar un ejemplo como positivo.

    • Variando el umbral, obtendŕıamos para el mismo clasificador yconjunto de datos, distintos valores de las métricas P, R,FPR, F1, . . .

    • Nos proporciona una forma de ajustar el compromiso entre Py R, o entre FPR y R

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Incertidumbre en el clasificador de SPAM (Kelleher et al.)

    La siguiente tabla muestra las predicciones probabiĺısticas delclasificador de correo SPAM, para cada uno de los datos. Aparecenordenados de menor a mayor probabilidad en la predicción de laclase positiva:

    ID Clase Predic. Prob. Resultado7 ham ham 0.001 TN

    11 ham ham 0.003 TN15 ham ham 0.059 TN13 ham ham 0.064 TN19 ham ham 0.094 TN12 spam ham 0.160 FN2 spam ham 0.184 FN3 ham ham 0.226 TN

    16 ham ham 0.246 TN1 spam ham 0.293 FN

    ID Clase Predict. Prob. Resultado5 ham ham 0.302 TN

    14 ham ham 0.348 TN17 ham spam 0.657 FP8 spam spam 0.676 TP6 spam spam 0.719 TP

    10 spam spam 0.781 TP18 spam spam 0.833 TP20 ham spam 0.877 FP9 spam spam 0.960 TP4 spam spam 0.963 TP

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Clasificador SPAM: variando el umbral de predicción

    Distintos valores de las métricas, para umbrales 0.1, 0.25, 0.5, 0.75y 0.9:

    Pred. Pred. Pred. Pred. Pred.ID Clase Prob. (0.10) (0.25) (0.50) (0.75) (0.90)7 ham 0.001 ham ham ham ham ham

    11 ham 0.003 ham ham ham ham ham15 ham 0.059 ham ham ham ham ham13 ham 0.064 ham ham ham ham ham19 ham 0.094 ham ham ham ham ham12 spam 0.160 spam ham ham ham ham2 spam 0.184 spam ham ham ham ham3 ham 0.226 spam ham ham ham ham

    16 ham 0.246 spam ham ham ham ham1 spam 0.293 spam spam ham ham ham5 ham 0.302 spam spam ham ham ham

    14 ham 0.348 spam spam ham ham ham17 ham 0.657 spam spam spam ham ham8 spam 0.676 spam spam spam ham ham6 spam 0.719 spam spam spam ham ham

    10 spam 0.781 spam spam spam spam ham18 spam 0.833 spam spam spam spam ham20 ham 0.877 spam spam spam spam ham9 spam 0.960 spam spam spam spam spam4 spam 0.963 spam spam spam spam spam

    Tasa de acierto 0.700 0.700 0.750 0.700 0.650Precisión (R) 0.600 0.637 0.750 0.800 1.000

    Recall (R) 1.000 0.778 0.667 0.444 0.222Tasa Falso Positivo (FPR) 0.545 0.364 0.182 0.091 0.000

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Curvas PR y ROC

    • Podemos representar gráficamente cómo vaŕıan las métricas, amedida que cambia el umbral

    • Por ejemplo, tres puntos de la curva ROC:

    Thresh = 0.25 spam hamPredict ion

    spamhamTarget 4

    277

    Thresh = 0.5 spam hamPredict ion

    spamhamTarget 2

    369

    Thresh = 0.75 spam hamPredict ion

    spamhamTarget 2

    2410

    0.0 0.2 0.4 0.6 0.8 1.0

    0.0

    0.2

    0.4

    0.6

    0.8

    1.0

    False Positive Rate

    True

    Pos

    itive

    Rat

    e

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Curvas PR y ROC

    • Las dos curvas más usadas son:• Curva PR (Precision-Recall): representa cómo va cambiando el

    par (P,R)• Curva ROC (Receiver Opeating Characteristic): representa

    cómo va cambiando el par (FPR,R)

    • La representación gráfica en forma de curva puede ayudar adecidir en qué punto el compromiso entre ambas métricas essatisfactorio (si es que es posible)

    • Y también para comparar clasificadores

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Curvas ROC: ejemplos

    0.0 0.2 0.4 0.6 0.8 1.0

    0.0

    0.2

    0.4

    0.6

    0.8

    1.0

    False Positive Rate

    True

    Pos

    itive

    Rat

    e

    0.0 0.2 0.4 0.6 0.8 1.0

    0.0

    0.2

    0.4

    0.6

    0.8

    1.0

    False Positive Rate

    True

    Pos

    itive

    Rat

    eModel 1 (0.996)Model 2 (0.887)Model 3 (0.764)Model 4 (0.595)

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Curvas PR: ejemplos

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Curvas PR y ROC: algunos comentarios

    • En curva ROC, lo ideal es que la curva esté cercana a laesquina superior izquierda (recall alto, tasa de falso positivobaja)

    • En curva PR, el ideal está cercano a la esquina superiorderecha (precisión y recall altos)

    • Se suele utilizar como métrica el área bajo la curva (AUC):• Cuanto más cercano a 1, mejor (y al menos superior a 0.7)• Puede interpretarse como la probabilidad de que el modelo

    haga una predicción más alta para un ejemplo posoitivo quepara un ejemplo negativo

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Evaluación multiclase

    • Para multiclase, podemos definir igualmente la tasa de aciertocomo la medida más básica

    • Pero de nuevo, si las clases no están balanceadas, puede no seruna métrica adecuada

    • La matriz de confusión nos proporciona la informacióndetallada

    • Matriz de confusión en muticlase:

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Métricas en multiclase

    • La mayoŕıa de las métricas que se han visto para el casobinario se extienden a más de dos clases

    • Considerando que cada clase es la positiva y el resto lanegativa

    • Precisión, Recall, F1,. . .

    • Por ejemplo: RecallC =Aciertos en ejemplo de la clase CTotal de ejemplos de la clase C

    • Todas las métricas pueden además darse en promedio respectode las clases

    • Por ejemplo, promedio de la tasa de acierto en cada clase:

    1

    |Ci |∑i

    RecallCi

    donde |Ci | es el número de ejemplos en la clase i

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Evaluación de modelos en scikit-learn(model selection y metrics)

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Metodoloǵıa de evaluación y ajuste: model selection

    • cross val score:• Validación cruzada• Se puede especificar: la manera de realizar las particiones, la

    métrica usada• Devuelve un array con las evaluaciones hechas con cada

    partición

    • GridSearchCV:• Ajuste de parámetros: busca el modelo correspondiente a la

    mejor combinación de parámetros para un clasificador dado,evaluados sobre el conjunto de entrenamiento usandovalidación cruzada (grid search)

    • Nota:: se trata de un modelo, no una valoración (es decir,tiene métodos fit, predict, score,. . . )

    • Los valores candidatos de los parámetros se dan mediante undiccionario. Por ejemplo:{’C’:[0.01,0.1,1,10],’gamma’:[0.001,0.01,0.1,1,10]}

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Métricas de evaluación: metrics

    • Método score en los modelos, una vez entrenados• confusion matrix, f1 score, classification report

    • Reciben dos listas, una con las clases reales y otra con laspredicciones, respectivamente

    • Ejemplo de classification report:

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Métricas de evaluación: metrics

    • precision recall curve y roc curve: curvas PR y ROC• Recibe dos listas, una con las clases reales y otra con las

    predicciones numéricas (probabilidades o funciones de decisión)• Devuelve tres listas, con tantos elementos como umbrales

    distintos de la lista de predicciones: una con valores deprecisión, otras con valores de recall, y otra con los umbralesrespecxtivos en orden ascendente

    • Esas tres listas permiten dibujar luego las correspondientescurvas.

    • Y calcular el AUC con las funciones auc (PR) yroc auc score (ROC).

  • Cómo evaluar: procedimientos de evaluación Qué evaluar: métricas de evaluación Evaluación de modelos en scikit-learn (model selection y metrics)

    Bibliograf́ıa

    • Aggarwal, C.C.. Data Mining: The Textbook (Springer, 2015)• Sección 10.9: “Classifier Evaluation”

    • Kelleher, J.D., MacNamee, B., D’Arcy, A. Machine Learningfor Predictive Data Analysis

    • Caṕıtulo 8: “Evaluation”

    • Müller, A. C. y Guido, S.Introduction to Machine Learning with Python(O’Really, 2017)

    • Caṕıtulo 5: “Model Evalluation and Improvement”

    Cómo evaluar: procedimientos de evaluaciónQué evaluar: métricas de evaluaciónEvaluación de modelos en scikit-learn (model_selection y metrics)