¿Qué son las métricas de Sklearn y por qué necesita conocerlas?

Publicado: 2021-10-22

Python es uno de los lenguajes de programación más utilizados entre los desarrolladores a nivel mundial. Sus capacidades de automatización de datos y algoritmos lo hacen ideal para construir y entrenar programas, máquinas y sistemas basados ​​en computadora y hacer predicciones. Por lo tanto, los candidatos con habilidades de Python son cada vez más preferidos para carreras lucrativas, como el aprendizaje automático y la ciencia de datos.

Si es un principiante, encontrar las herramientas adecuadas por su cuenta puede parecer desalentador. El software gratuito como Scikit-learn puede permitirle adquirir habilidades relevantes con poco esfuerzo. La biblioteca de aprendizaje automático tiene varios algoritmos de clasificación, regresión y agrupación para programadores de Python.

Este blog se centrará específicamente en problemas de clasificación y métricas de sklearn para guiarlo en su viaje de aprendizaje. Aprenderá sobre la aplicación de métricas de evaluación y también comprenderá las matemáticas detrás de ellas.

Tabla de contenido

Métricas de clasificación en Scikit-Learn

La clasificación es una parte integral del modelado predictivo. Lo usa para identificar la clase a la que pertenece una muestra particular de una población. Suponga que desea predecir si un paciente será hospitalizado nuevamente. Los dos tipos posibles aquí son: Positivo (Hospitalizado) y Negativo (No Hospitalizado). El modelo de clasificación predeciría el balde donde se debe colocar la muestra, Positivo previsto o Negativo previsto. Descubrirá la precisión de las predicciones una vez que entrene el modelo.

La mayoría de los científicos de datos e ingenieros de aprendizaje automático utilizan el paquete Scikit-Learn para analizar el rendimiento de los modelos predictivos. El módulo de métricas de sklearn le brinda acceso a muchas funcionalidades integradas. Descubramos el proceso de escribir funciones desde cero con estas métricas.

Únase al curso de aprendizaje automático en línea de las mejores universidades del mundo: maestrías, programas ejecutivos de posgrado y programa de certificado avanzado en ML e IA para acelerar su carrera.

Métricas de Sklearn explicadas

Las métricas de Sklearn le permiten implementar puntuaciones, pérdidas y funciones de utilidad para evaluar el rendimiento de la clasificación.

Estos son los pasos clave involucrados:

  • Cargar datos;
  • Divídalo en un conjunto de trenes y un conjunto de prueba;
  • Construir el modelo de entrenamiento;
  • Hacer predicciones o pronósticos sobre los datos de prueba;
  • Evalúe el modelo de aprendizaje automático con un método particular.

Para continuar, deberá cargar un conjunto de datos de muestra y capacidades de predicción para dos modelos, bosque aleatorio y regresión lineal. Llamémoslos Model_RF y Model_LR.

Ejecute este código para importar el módulo Pandas y leer el archivo de datos e inspeccionar sus elementos.

importar pandas como ps

df = ps.read_csv('datos.csv')

df.cabeza()

En la mayoría de los proyectos, usted define un umbral y etiqueta las probabilidades de predicción como predichas positivas y predichas negativas. Esto agregaría dos columnas más a su tabla.

umbral = 0.5

df['forecasted_RF'] = (df.model_RF >= 0.5).astype('int')

df['forecasted_LR'] = (df.model_LR >= 0.5).astype('int')

df.cabeza()

Ahora que tenemos etiquetas reales y pronosticadas, podemos dividir nuestras muestras en cuatro cubos diferentes.

Con confusion_matrix, podemos obtener una matriz de 2X2 con las etiquetas bifurcadas en los siguientes cubos:

  • Verdadero Positivo (TP)
  • Falso positivo (FP)
  • Falso Negativo (FN)
  • Verdadero Negativo (TN)

Después de importar confusion_matrix de sklearn metrics y pasar las etiquetas real y pronosticada, puede definir sus funciones para verificarlo.

También puede verificar si sus resultados coinciden manualmente usando la función de afirmación de Python y la función array_equal de NumPy.

Podemos calcular muchas otras métricas de rendimiento utilizando los cuatro cubos de TP, FP, TN y FN. Estos son:

1. precisión_puntuación

Toma las etiquetas reales y pronosticadas como entradas y produce la fracción de muestras pronosticadas correctamente.

2. record_puntuación

Da la fracción de eventos positivos predichos correctamente. El recuerdo también se conoce como sensibilidad.

3. precisión_puntuación

Muestra la fracción de eventos positivos pronosticados que son positivos.

Después de calcular todas estas métricas, suponga que encuentra que el modelo RF es mejor en recuperación y precisión. La elección aquí sería fácil. Pero, ¿y si el modelo LR fuera mejor en recuperación y el modelo RF fuera mejor en precisión? En este caso, necesitaría otro método llamado puntaje F1.

4. f1_puntuación

Es el medio armónico de recuerdo y precisión. El modelo con la puntuación más alta se considera la mejor opción.

Las métricas anteriores se han calculado con un umbral definido de 0,5. Uno puede preguntarse si un cambio en este umbral también cambiaría las métricas de rendimiento. ¿La respuesta? Sí, lo hará.

Tenemos otra forma de evaluar un modelo sin elegir un umbral, es decir, curvas de características operativas del receptor (ROC). Scikit-learn también tiene funciones integradas para analizarlos.

Las funciones roc_curve y roc_auc_score toman las etiquetas reales y las probabilidades pronosticadas como entradas.

  • roc_curva

Devuelve tres listas, a saber, umbrales (probabilidades pronosticadas únicas en orden descendente), FPR (tasas de falsos positivos) y TPR (tasas de verdaderos positivos).

  • roc_auc_curva

Encuentra las áreas bajo la curva para los modelos RF y LR.

Puede determinar la mejor métrica de rendimiento una vez que trace la curva ROC y agregue el AUC a las leyendas.

Resumiendo

En el análisis predictivo, puede elegir entre una variedad de métricas. Exactitud, recuperación, precisión, f1 y AUC son algunas de las puntuaciones populares.

Algunos pueden preferir definir un umbral y usar métricas de rendimiento como precisión, recuperación, precisión y puntajes f1. A otros les puede gustar usar AUC para analizar el rendimiento de un modelo, ya que no requiere selección de umbral. Al final, debe optar por la métrica que mejor se adapte al problema comercial en cuestión.

Con esto, le hemos dado una visión general de las métricas de sklearn. Puede usar esta información para aclarar los conceptos básicos de la programación en Python y seguir aprendiendo con los cursos en línea. También puede realizar proyectos de trabajo para practicar y perfeccionar sus habilidades. Programas como la Maestría en Ciencias en Aprendizaje Automático e Inteligencia Artificial de upGrad pueden ayudar con ambos.

El plan de estudios lo familiariza con el conjunto completo de herramientas de ciencia de datos y cubre aspectos prácticos de Scikit-Learn y otro software. Además, las credenciales de institutos de renombre como la Universidad John Moores de Liverpool y el IIIT Bangalore lo distinguen de la competencia en las solicitudes de empleo y las entrevistas de colocación.

¿Qué son las métricas de evaluación en Python?

Las métricas de evaluación se utilizan normalmente para problemas de clasificación en Python. Scikit-Learn es una biblioteca gratuita de aprendizaje automático que permite una amplia gama de tareas de análisis predictivo. Los aspirantes a científicos de datos e ingenieros de aprendizaje automático pueden usarlo para hacer predicciones sobre los datos y analizar la calidad de modelos específicos.

¿Por qué necesita métricas de sklearn?

Las métricas de Sklearn le permiten evaluar la calidad de sus predicciones. Puede usar este módulo en Scikit-Learn para varios conjuntos de datos, funciones de puntuación y métricas de rendimiento. La matriz de confusión en sklearn es una representación útil de la precisión de las predicciones. Con entradas como etiquetas reales y pronosticadas, junto con un umbral definido o un valor de confianza, puede calcular métricas como recuperación, precisión y puntajes f1. El método de la curva ROC equilibra las estimaciones de probabilidad y proporciona una métrica de rendimiento en términos del área bajo la curva.

¿Cómo ayuda la educación de posgrado en AI y ML en el avance profesional?

Las certificaciones más avanzadas en el campo de la inteligencia artificial y el aprendizaje automático incluyen herramientas como Scikit-Learn en el plan de estudios. Es un componente esencial de la programación de Python y la capacitación en ciencia de datos. Pero codificar recetas en Python y Scikit-Learn no es suficiente en el competitivo entorno laboral actual. Necesita adquirir conocimientos orientados a la industria y practicar sus habilidades. Por lo tanto, elija programas de estudio que brinden oportunidades para implementar proyectos y asignaciones.