Práctica 2 | Cómo Diferenciar entre Clasificación, Regresión y Agrupamiento

Contenido:

  • 1 Cómo saber cuándo usar clasificación, regresión o agrupamiento - Video Series
  • A) Clasificación. ¿Qué es clasificación? | Cómo usar Python y Sklearn para clasificación - Video Series | Código Python
  • B) Regresión. ¿Qué es regresión? | Cómo usar Python y Sklearn para regresión - Video Series | Código Python
  • C) Agrupamiento. ¿Qué es agrupamiento? | Cómo usar Python y Sklearn para agrupamiento - Video Series | Código Python
  • 2 Cuándo saber las diferencias entre clasificación, regresión y agrupamiento - Texto
  • 3 Ejercicio opcional: Clasificación y regresión - Código Python

Tiempo aproximado: 60 min



Introducción

1 Cómo saber cuándo usar clasificación, regresión o agrupamiento

A) Clasificación

En la práctica anterior, aprendimos que un sistema de aprendizaje de máquina es útil cuando automatiza la toma de decisiones. De todas las aplicaciones que existen, se mencionaron:

  1. Sistema de recomendación
  2. Sistema de navegación autónoma
  3. Sistema de diagnóstico médico

Dependiendo de la situación a la que se enfrente, el sistema debe elegir entre diferentes opciones. Por ejemplo, en función de las características de un lunar en la piel, el sistema de diagnóstico debe elegir entre dos opciones: 1 Cancerígeno, 2 No cancerígeno.

Un problema es de clasificación cuando el sistema debe elegir entre diferentes opciones. En aprendizaje de máquina, a las opciones también se les llama clases.

Ejemplo de Clasificación Binaria

Los sistemas de aprendizaje de máquina aprenden por medio de ejemplos. En clasificación, para que el sistema aprenda, necesita saber al menos dos cosas de los ejemplos:

  1. Características: Las propiedades o atributos de los ejemplos. Es decir lo que distingue, diferencia o caracteriza a los ejemplos.
  2. Etiquetas: Identificador de cuál es la clase a la que pertenece el ejemplo.

El modelo de aprendizaje de máquina necesita varios ejemplos para aprender; a los ejemplos se les conoce también como instancias. Veamos.

El trabajo de un modelo de clasificación es identificar la relación que existe entre las características y las etiquetas. Si el modelo aprende apropiadamente esto, cuando aparezca un ejemplo nuevo podrá usar las características particulares del ejemplo para decidir la opción correcta, es decir la clase a la que pertenece el ejemplo.

En nuestro problema, el tempo y la intensidad son características relevantes pues distinguen apropiadamente una canción de otra. Esta información, junto con las etiquetas que asocian características con clases se usa para entrenar al modelo.

Veamos gráficamente las características y las etiquetas.

El ejemplo anterior tiene 2 características y 2 clases. Para la clase Le gusta, hay 7 instancias (canciones), mientras que para la clase No le gusta, hay 6.

Si pensáramos en un problema con 3 características y 2 clases, la gráfica se vería algo así. Podríamos pensar que si además del tempo e intensidad, agregáramos el género de la canción como otra característica.

Cómo usar Python y Sklearn para clasificación


Al final de estos dos videos, encuentras el enlace para acceder al código en Python para que puedas realizar los ejercicios.

Clasificación con un Árbol de Decisión

Predicciones con el modelo y Gráfica del límite de decisión

Colab con el código en Python para clasificación

Ir a Google Colab

B) Regresión

En el ejemplo de clasificación, pudimos visualizar etiquetas de cada clase usando colores. Esto es posible pues el número de etiquetas en clasificación es finito. El caso de la regresión es distinto.

Existe un "infinito" número de etiquetas posibles en un problema de regresión. En el problema anterior se decide cuántas canciones descargará el usuario. Si asignáramos un color a cada etiqueta (identificador de la instancia en función de sus características) veríamos algo así.

Cada una tiene un valor de descargas distinto; una etiqueta distinta. ¡Y solo estamos graficando 12 instancias! Un problema real necesita más ejemplos para aprender. Es mejor usar el valor continuo específico y graficarlo como una coordenada más para visualizar la etiqueta continua, el número de descargas.

Antes de pasar al código, va otro ejemplo. Si el sistema de navegación de un coche autónomo decidiera una de estas tres velocidades: 20 km/h, 50 km/h y 80 km/h, entonces sería un problema de clasificación multiclase. Pero si el sistema tuviera que elegir la velocidad entre 0 km/h y 80 km/h, sería un problema de regresión. ¿Cuántos valores posibles (etiquetas) hay entre 0 km/h y 80km/h? Como se pide que el sistema aprenda a decidir la velocidad específica, el problema es de regresión.

Cómo usar Python y Sklearn para regresión


Al final del siguiente video, encuentras el enlace para acceder al código en Python para que puedas realizar los ejercicios.

Colab con el código en Python para regresión


Ir a Google Colab

C) Agrupamiento

En clasificación y regresión el modelo se entrena con varios ejemplos para que aprenda a asociar características con etiquetas.

  • Las etiquetas son discretas (conjunto finito de opciones) para la clasificación, y continuas ("infinito" número de opciones) para la regresión.

En agrupamiento no tenemos información de las etiquetas, pero el modelo aprende a identificar grupos de instancias con características similares. A un modelo de agrupamiento que haya aprendido de datos de varias canciones podemos preguntarle:

  • A qué grupo pertenece esta instancia con estas características
  • A qué género pertenece esta canción con este tempo e intensidad

En contraste, a un modelo de clasificación entrenado podemos preguntarle:

  • Esta instancia nueva con estas características, ¿a qué clase (etiqueta) pertenece?
  • Esta canción nueva con este tempo e intensidad, ¿le gustará o no le gustará al usuario?

Cómo usar Python y Sklearn para agrupamiento


Al final del siguiente video, encuentras el enlace para acceder al código en Python para que puedas realizar los ejercicios.

Colab con el código en Python para agrupamiento


Ir a Google Colab




2 Cuándo saber las diferencias entre clasificación, regresión y agrupamiento


Diferencias entre clasificación, regresión y agrupamiento a nivel de ...

La entrada:

  • La clasificación necesita instancias y etiquetas discretas, es decir clases.
  • La regresión necesita instancias y etiquetas continuas, es decir valores específicos.
  • El agrupamiento, solo necesita las instancias o ejemplos. No necesita etiquetas, ni continuas, ni discretas.

El proceso:

  • El proceso entrenamiento para la clasificación y la regresión es bastante cercano. Clasificar implica aprender la relación entre las instancias de entrada y las etiquetas discretas. Mientras que para la regresión se aprende la relación de las instancias de entrada en función de sus etiquetas continuas. Puedes pensar en los valores discretos como un grupo finito de opciones, y en los valores continuos como una lista infinita de opciones.
  • El objetivo de la agrupación es identificar grupos intrínsecos en un conjunto de datos no etiquetados. Es decir, el modelo aprende a agrupar las instancias en función de su similitud sin la ayuda de etiquetas.

El uso:

  • La clasificación es útil cuando queremos predecir o decidir valores puntuales. Elegir entre un grupo de opciones.
  • La regresión se usa para predecir o decidir valores específicos. 
  • El agrupamiento cuando buscamos identificar ejemplos representativos de grupos en un conjunto de datos. Sirve para encontrar agrupaciones útiles y adecuadas, o encontrar ejemplos inusuales, como valores atípicos. Usamos el agrupamiento cuando no tenemos etiquetas y queremos encontrar información de los datos.

Quiz

Responde qué tipo de problema (clasificación, regresión o agrupamiento) corresponde a cada aplicación de aprendizaje de máquina.

3 Ejercicio opcional


Para clasificación y regresión usamos un Árbol de Decisión. Otro método de aprendizaje que veremos con mayor detalle en el Laboratorio 2 es la Máquina de Vectores de Soporte. En este ejercicio, se resuelven los mismos problemas de esta práctica, pero con un clasificador y regresor basados en una Máquina de Vectores de Soporte.

Si no haces el ejercicio, no te afectará en futuras prácticas.

Clasificación y Regresión con Máquina de Vectores de Soporte

Ir a Google Colab


Iconos diseñados por Eucalyp from www.flaticon.es
Terminar y continuar