¿Correo basura o no?

Clasificación de Textos (Parte 2)

NLP - Analítica Estratégica de Datos


Fundación Universitaria Konrad Lorenz
Docente: Viviana Márquez vivianam.penama@konradlorenz.edu.co
Clase #8 🥳: Abril 15, 2021

¡Es un gato!

⌛ En la clase anterior

Paréntesis y momento de reflexión 🤔 (Patrocinado por Denis)

Flujo de datos en un proyecto de NLP (pipeline)


Modelos de clasificación en el contexto de Machine Learning

Modelos de clasificación

Se dividen en tres categorías:


Algunas medidas de rendimiento para modelos de clasificación

🚀 Hoy veremos...

Regresión Logística


Regresión Logística


Regresión Logística

• Es el modelo más famoso de Machine Learning después de la regresión lineal

• Mientras que la regresión lineal se usa para predecir/pronosticar valores continuos, la regresión logística se usa habitualmente para clasificar valores discretos.

• Las predicciones están mapeados entre 0 y 1 a través de la función logística, lo que significa que las predicciones pueden ser interpretadas como probabilidades.

Regresión Logística

👍 VENTAJAS:

👎 DESVENTAJAS:

Máquinas de vectores de soporte (support vector machines - SVM)


Máquinas de vectores de soporte (support vector machines - SVM)

¿Cómo separarían estos datos de 1-dimensión en dos clases?

Máquinas de vectores de soporte (support vector machines - SVM)

¿Cómo separarían estos datos de 2-dimensión en dos clases?

Máquinas de vectores de soporte (support vector machines - SVM)

¿Cómo separarían datos de $n$-dimensión en dos clases?

Máquinas de vectores de soporte (support vector machines - SVM)

¿Cuál es la separación perfecta?

Máquinas de vectores de soporte (support vector machines - SVM)

Las MVS usan un mecanismo llamado kernel (ó núcleo) que esencialmente calcula la distancia entre dos observaciones. Con esto, el modelo encuentra un límite de decisión (hiperplano) óptimo para separar las clases.

Máquinas de vectores de soporte (support vector machines - SVM)

Una MVS con un núcleo lineal es muy similar a la regresión logística, así que por lo general se usa con núcleos no-lineales con datos no-lineales


Máquinas de vectores de soporte (support vector machines - SVM)

👍 VENTAJAS:

👎 DESVENTAJAS:

Clasificador bayesiano ingenuo (Naive Bayes)


Clasificador bayesiano ingenuo (Naive Bayes)

👍 VENTAJAS:

👎 DESVENTAJAS:

Árboles de decisión


👍 VENTAJAS:

👎 DESVENTAJAS:

⏳ Recapitulando

Modelos de clasificación

Pasos para un modelo de clasificación:

  1. Adquirir datos etiquetados
  2. Dividir el conjunto de datos en dos:
    • Entrenamiento (training) y prueba (test)
  3. Feature Engineering (Pre-procesamiento, TF-IDF, etc...)
  4. Entrenar el modelo 🚀
  5. Obtener medidas de rendimiento en el conjunto de datos de prueba y mejorar modelo
  6. Poner en producción

1. Adquirir datos etiquetados

2. Dividir el conjunto de datos en dos:

Entrenamiento (training) y prueba (test)

Estrategias para equilibrar el conjunto de datos:

2. Dividir el conjunto de datos en dos:

Entrenamiento (training) y prueba (test). Usualmente 80% training y 20% test.

3. Feature Engineering (Pre-procesamiento, TF-IDF, etc...)

4. Entrenar el modelo

5. Obtener medidas de rendimiento en el conjunto de datos de prueba y mejorar modelo

pip install --upgrade scikit-learn

Exactitud

Otras métricas

6. Poner el modelo en producción

Resultados & explicación

Más visualizaciones: https://github.com/parrt/dtreeviz/blob/master/notebooks/dtreeviz_sklearn_visualisations.ipynb

Interpretabilidad de modelos con LIME: https://github.com/marcotcr/lime

🤓 Recapitulando: Hoy aprendímos...

🚀 Próxima clase: ¡Sin etiquetas!

¡Tiempo de taller!

Taller # 7: Clasificación de textos

Fecha de entrega: Abril 22, 2021. (Antes del inicio de la próxima clase)

Próxima clase: Agrupación de textos

https://github.com/practical-nlp/practical-nlp/blob/master/Ch2/05_Data_Augmentation_Using_NLPaug.ipynb