Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Evaluación del Modelo | Red Neuronal Desde Cero
Introducción a las Redes Neuronales

bookEvaluación del Modelo

División de los datos

Una vez que una red neuronal ha sido entrenada, es necesario evaluar su desempeño en datos no vistos. Esto nos ayuda a comprender si el modelo realmente ha aprendido patrones útiles o simplemente ha memorizado los datos de entrenamiento. Para lograr esto, se divide el conjunto de datos en dos partes:

  • Conjunto de entrenamiento: esta parte de los datos se utiliza para entrenar la red neuronal, permitiéndole ajustar los pesos y sesgos mediante retropropagación;
  • Conjunto de prueba: después del entrenamiento, el modelo se evalúa en este conjunto de datos separado para medir qué tan bien generaliza a ejemplos nuevos y no vistos.

Una división típica es 80% entrenamiento / 20% prueba, aunque esto puede variar según el tamaño y la complejidad del conjunto de datos.

La división entre entrenamiento y prueba suele realizarse utilizando la función train_test_split() del módulo sklearn.model_selection:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)

El parámetro test_size especifica la proporción del conjunto de datos que se utilizará como conjunto de prueba. Por ejemplo, establecer test_size=0.1 significa que el 10% de los datos se utilizarán para prueba, mientras que el 90% restante se utilizarán para entrenamiento.

Si un modelo tiene buen desempeño en los datos de entrenamiento pero un desempeño deficiente en los datos de prueba, puede estar sobreajustando, es decir, ha memorizado el conjunto de entrenamiento en lugar de aprender patrones generalizables. El objetivo es lograr alta precisión en prueba manteniendo una buena capacidad de generalización.

Una vez entrenado el modelo, es necesario cuantificar su desempeño utilizando métricas. La elección de la métrica depende de la tarea específica de clasificación.

Métricas de clasificación

Para problemas de clasificación, se pueden utilizar varias métricas clave para evaluar las predicciones del modelo:

  • exactitud;
  • precisión;
  • exhaustividad;
  • puntuación F1.

Dado que un perceptrón realiza clasificación binaria, crear una matriz de confusión ayudará a comprender mejor estas métricas.

Note
Definición

Una matriz de confusión es una tabla que resume el desempeño de clasificación del modelo comparando las etiquetas predichas con las reales. Proporciona información sobre el número de predicciones correctas e incorrectas para cada clase (1 y 0).

Precisión mide la proporción de muestras clasificadas correctamente sobre el total. Si un modelo clasifica correctamente 90 de 100 imágenes, su precisión es 90%.

accuracy=correctall=TP+TNTP+TN+FP+FN\text{accuracy} = \frac {\text{correct}} {\text{all}} = \frac {TP + TN} {TP + TN + FP + FN}

Aunque la precisión es útil, no siempre proporciona una visión completa, especialmente en conjuntos de datos desbalanceados. Por ejemplo, en un conjunto de datos donde 95% de las muestras pertenecen a una clase, un modelo podría alcanzar 95% de precisión simplemente prediciendo siempre la clase mayoritaria, sin realmente aprender nada útil. En estos casos, la precisión positiva, la exhaustividad o la puntuación F1 pueden ser métricas más informativas.

Precisión positiva es el porcentaje de casos positivos correctamente predichos sobre todos los positivos predichos. Esta métrica es especialmente útil cuando los falsos positivos son costosos, como en la detección de spam o fraude.

precision=correct positivepredicted positive=TPTP+FP\text{precision} = \frac {\text{correct positive}} {\text{predicted positive}} = \frac {TP} {TP + FP}

Exhaustividad (sensibilidad) mide cuántos de los casos realmente positivos son identificados correctamente por el modelo. Una alta exhaustividad es esencial en escenarios donde se deben minimizar los falsos negativos, como en diagnósticos médicos.

recall=correct positiveall positive=TPTP+FN\text{recall} = \frac {\text{correct positive}} {\text{all positive}} = \frac {TP} {TP + FN}

F1-score es la media armónica de la precisión y el recall, proporcionando una medida equilibrada cuando tanto los falsos positivos como los falsos negativos son importantes. Esto es útil cuando el conjunto de datos está desbalanceado, es decir, cuando una clase aparece significativamente más que la otra.

F1=2×precision×recallprecision+recall\text{F1} = \frac {2 \times \text{precision} \times \text{recall}} {\text{precision} + \text{recall}}

1. ¿Cuál es el propósito principal de dividir tu conjunto de datos en conjuntos de entrenamiento y prueba?

2. ¿Por qué podría preferirse el F1-score sobre la precisión en un conjunto de datos desbalanceado?

question mark

¿Cuál es el propósito principal de dividir tu conjunto de datos en conjuntos de entrenamiento y prueba?

Select the correct answer

question mark

¿Por qué podría preferirse el F1-score sobre la precisión en un conjunto de datos desbalanceado?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 11

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain what a confusion matrix is and how to interpret it?

How do I choose which metric to use for my classification problem?

Can you give examples of when to prioritize precision over recall, or vice versa?

Awesome!

Completion rate improved to 4

bookEvaluación del Modelo

Desliza para mostrar el menú

División de los datos

Una vez que una red neuronal ha sido entrenada, es necesario evaluar su desempeño en datos no vistos. Esto nos ayuda a comprender si el modelo realmente ha aprendido patrones útiles o simplemente ha memorizado los datos de entrenamiento. Para lograr esto, se divide el conjunto de datos en dos partes:

  • Conjunto de entrenamiento: esta parte de los datos se utiliza para entrenar la red neuronal, permitiéndole ajustar los pesos y sesgos mediante retropropagación;
  • Conjunto de prueba: después del entrenamiento, el modelo se evalúa en este conjunto de datos separado para medir qué tan bien generaliza a ejemplos nuevos y no vistos.

Una división típica es 80% entrenamiento / 20% prueba, aunque esto puede variar según el tamaño y la complejidad del conjunto de datos.

La división entre entrenamiento y prueba suele realizarse utilizando la función train_test_split() del módulo sklearn.model_selection:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)

El parámetro test_size especifica la proporción del conjunto de datos que se utilizará como conjunto de prueba. Por ejemplo, establecer test_size=0.1 significa que el 10% de los datos se utilizarán para prueba, mientras que el 90% restante se utilizarán para entrenamiento.

Si un modelo tiene buen desempeño en los datos de entrenamiento pero un desempeño deficiente en los datos de prueba, puede estar sobreajustando, es decir, ha memorizado el conjunto de entrenamiento en lugar de aprender patrones generalizables. El objetivo es lograr alta precisión en prueba manteniendo una buena capacidad de generalización.

Una vez entrenado el modelo, es necesario cuantificar su desempeño utilizando métricas. La elección de la métrica depende de la tarea específica de clasificación.

Métricas de clasificación

Para problemas de clasificación, se pueden utilizar varias métricas clave para evaluar las predicciones del modelo:

  • exactitud;
  • precisión;
  • exhaustividad;
  • puntuación F1.

Dado que un perceptrón realiza clasificación binaria, crear una matriz de confusión ayudará a comprender mejor estas métricas.

Note
Definición

Una matriz de confusión es una tabla que resume el desempeño de clasificación del modelo comparando las etiquetas predichas con las reales. Proporciona información sobre el número de predicciones correctas e incorrectas para cada clase (1 y 0).

Precisión mide la proporción de muestras clasificadas correctamente sobre el total. Si un modelo clasifica correctamente 90 de 100 imágenes, su precisión es 90%.

accuracy=correctall=TP+TNTP+TN+FP+FN\text{accuracy} = \frac {\text{correct}} {\text{all}} = \frac {TP + TN} {TP + TN + FP + FN}

Aunque la precisión es útil, no siempre proporciona una visión completa, especialmente en conjuntos de datos desbalanceados. Por ejemplo, en un conjunto de datos donde 95% de las muestras pertenecen a una clase, un modelo podría alcanzar 95% de precisión simplemente prediciendo siempre la clase mayoritaria, sin realmente aprender nada útil. En estos casos, la precisión positiva, la exhaustividad o la puntuación F1 pueden ser métricas más informativas.

Precisión positiva es el porcentaje de casos positivos correctamente predichos sobre todos los positivos predichos. Esta métrica es especialmente útil cuando los falsos positivos son costosos, como en la detección de spam o fraude.

precision=correct positivepredicted positive=TPTP+FP\text{precision} = \frac {\text{correct positive}} {\text{predicted positive}} = \frac {TP} {TP + FP}

Exhaustividad (sensibilidad) mide cuántos de los casos realmente positivos son identificados correctamente por el modelo. Una alta exhaustividad es esencial en escenarios donde se deben minimizar los falsos negativos, como en diagnósticos médicos.

recall=correct positiveall positive=TPTP+FN\text{recall} = \frac {\text{correct positive}} {\text{all positive}} = \frac {TP} {TP + FN}

F1-score es la media armónica de la precisión y el recall, proporcionando una medida equilibrada cuando tanto los falsos positivos como los falsos negativos son importantes. Esto es útil cuando el conjunto de datos está desbalanceado, es decir, cuando una clase aparece significativamente más que la otra.

F1=2×precision×recallprecision+recall\text{F1} = \frac {2 \times \text{precision} \times \text{recall}} {\text{precision} + \text{recall}}

1. ¿Cuál es el propósito principal de dividir tu conjunto de datos en conjuntos de entrenamiento y prueba?

2. ¿Por qué podría preferirse el F1-score sobre la precisión en un conjunto de datos desbalanceado?

question mark

¿Cuál es el propósito principal de dividir tu conjunto de datos en conjuntos de entrenamiento y prueba?

Select the correct answer

question mark

¿Por qué podría preferirse el F1-score sobre la precisión en un conjunto de datos desbalanceado?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 11
some-alt