Introducción a los Algoritmos de Clasificación

La idea de los Algoritmos de Clasificación es bastante simple. Puede predecir la clase de destino analizando el conjunto de datos de entrenamiento. Este es uno de los conceptos más, si no el más esencial, que se estudian cuando se aprende Ciencia de datos.

Este blog discute los siguientes conceptos:

  • ¿Qué es la clasificación?
  • Clasificación vs Algoritmos de Agrupamiento
  • Terminología básica en Algoritmo de Clasificación
  • Aplicaciones del Algoritmo de Clasificación
  • Tipos de Algoritmo de Clasificación
  • Regresión logística
  • Árbol de decisiones
  • Clasificador Bayes Ingenuo
  • K Vecino más cercano
  • SVM

¿Qué es la clasificación?

Utilizamos el conjunto de datos de entrenamiento para obtener mejores condiciones de contorno que podrían usarse para determinar cada clase objetivo. Una vez determinadas las condiciones de contorno, la siguiente tarea es predecir la clase de destino. Todo el proceso se conoce como clasificación.

Ejemplos de clase objetivo:

  • Análisis de los datos del cliente para predecir si comprará accesorios de computadora (clase objetivo: Sí o No)
  • Clasificar frutas de características como color, sabor, tamaño, peso (Clases objetivo: Manzana, Naranja, Cereza, Plátano)
  • Clasificación de género a partir de la longitud del cabello (Clases objetivo: Hombre o Mujer)

Entendamos el concepto de algoritmos de clasificación con clasificación de género utilizando la longitud del cabello (para estereotipar por género, esto es solo un ejemplo). Para clasificar el género (clase objetivo) utilizando la longitud del cabello como parámetro de característica, podríamos entrenar a un modelo utilizando cualquier algoritmo de clasificación para idear un conjunto de condiciones de contorno que se puedan usar para diferenciar los géneros masculino y femenino utilizando la longitud del cabello como característica de entrenamiento. En el caso de la clasificación de género, la condición de contorno podría tener el valor de longitud de cabello adecuado. Supongamos que el valor de longitud de cabello límite diferenciado es de 15,0 cm, entonces podemos decir que si la longitud del cabello es inferior a 15,0 cm, el género podría ser masculino o femenino.

Algoritmos de clasificación vs Algoritmos de agrupamiento

En el agrupamiento, la idea no es predecir la clase objetivo como en la clasificación, es cada vez más tratar de agrupar el tipo de cosas similares considerando la condición más satisfecha, todos los elementos del mismo grupo deben ser similares y no hay dos elementos de grupo diferentes que no

Elementos de grupo Ejemplos:

  • Al agrupar documentos de tipo de idioma similar(los documentos del mismo idioma son un grupo.)
  • Al categorizar los artículos de noticias(Los artículos de la misma categoría de noticias (Deporte) son un grupo )

Entendamos el concepto con géneros agrupados basados en el ejemplo de longitud del cabello. Para determinar el género, se podría usar una medida de similitud diferente para categorizar los géneros masculino y femenino. Esto se puede hacer encontrando la similitud entre dos longitudes de cabello y manteniéndolos en el mismo grupo si la similitud es menor (La diferencia de longitud del cabello es menor). El mismo proceso podría continuar hasta que toda la longitud del cabello se agrupe correctamente en dos categorías.

Terminología básica en Algoritmos de clasificación

  • Clasificador: Un algoritmo que asigna los datos de entrada a una categoría específica.
  • Modelo de clasificación: Un modelo de clasificación intenta sacar alguna conclusión de los valores de entrada dados para el entrenamiento. Predecirá las etiquetas/categorías de clase para los nuevos datos.
  • Característica: Una característica es una propiedad mensurable individual de un fenómeno que se está observando.
  • Clasificación binaria: Tarea de clasificación con dos resultados posibles. Por ejemplo: Clasificación de género (Masculino / Femenino)
  • Clasificación de múltiples clases: Clasificación con más de dos clases. En la clasificación de varias clases, cada muestra se asigna a una sola etiqueta de destino. Por ejemplo: Un animal puede ser un gato o un perro, pero no ambos al mismo tiempo.
  • Clasificación de varias etiquetas: Tarea de clasificación en la que cada muestra se asigna a un conjunto de etiquetas de destino (más de una clase). Por ejemplo: Un artículo de noticias puede ser sobre deportes, una persona y la ubicación al mismo tiempo.

Aplicaciones de algoritmos de clasificación

  • Clasificación de correo electrónico no deseado
  • Predicción de disposición de pago de préstamos de clientes bancarios.
  • Identificación de células tumorales cancerosas.
  • Análisis de sentimientos
  • Clasificación de medicamentos
  • Detección de puntos clave faciales
  • Detección de peatones en la conducción de un automóvil.

Tipos de algoritmos de clasificación

Los algoritmos de clasificación podrían clasificarse en general como los siguientes:

  • Clasificadores lineales
    • Regresión logística
    • Clasificador Bayes ingenuo
    • Discriminante lineal de Fisher
  • Máquinas de vectores de soporte
    • Máquinas de vectores de soporte de mínimos cuadrados
  • Clasificadores cuadráticos
  • Estimación del núcleo
    • k-vecino más cercano
  • Árboles de decisión

    • Bosques aleatorios
  • Redes neuronales
  • Cuantización vectorial de aprendizaje

A continuación se dan ejemplos de algunos algoritmos de clasificación populares.

Regresión logística

Por confuso que pueda ser el nombre, puede estar seguro. La regresión logística es una clasificación y no un algoritmo de regresión. Estima valores discretos(valores binarios como 0/1, sí/no, verdadero/falso) basados en un conjunto dado de variables independientes. En pocas palabras, básicamente, predice la probabilidad de ocurrencia de un evento ajustando datos a una función logit. Por lo tanto, también se conoce como regresión logit. Los valores obtenidos siempre estarían dentro de 0 y 1, ya que predice la probabilidad.

intentemos entender esto a través de otro ejemplo.

Digamos que hay una suma en tu examen de matemáticas. Solo puede tener 2 resultados, ¿verdad? O lo resuelves o no (y no asumamos puntos para el método aquí). Ahora imagina que se te está dando una amplia gama de sumas en un intento de entender qué capítulos has entendido bien. El resultado de este estudio sería algo como esto: si se le da un problema basado en trigonometría, es probable que lo resuelva en un 70%. Por otro lado, si se trata de un problema aritmético, la probabilidad de que obtengas una respuesta es solo del 30%. Esto es lo que le proporciona la Regresión Logística.

Si tuviera que hacer los cálculos, modelaría las probabilidades logarítmicas del resultado como una combinación lineal de las variables predictoras.

odds= p/ (1-p) = probability of event occurrence / probability of event occurrence ln(odds) = ln(p/(1-p)) logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3....+bkXk)

En la ecuación dada anteriormente, p es la probabilidad de la presencia de la característica de interés. Elige parámetros que maximizan la probabilidad de observar los valores de la muestra en lugar de minimizar la suma de errores al cuadrado (como en la regresión ordinaria).

Regresión logística-Algoritmos de clasificación-EdurekaAhora, muchos de ustedes se preguntarán, ¿por qué tomar un registro? En aras de la simplicidad, digamos que esta es una de las mejores formas matemáticas de replicar una función escalonada. Puedo profundizar mucho más en esto, pero eso superará el propósito de este blog.

Código R:

x <- cbind(x_train,y_train)# Train the model using the training sets and check scorelogistic <- glm(y_train ~ ., data = x,family='binomial')summary(logistic)#Predict Outputpredicted= predict(logistic,x_test)

Hay muchos pasos diferentes que se pueden probar para mejorar el modelo:

  • incluir términos de interacción
  • eliminar características
  • regularizar técnicas
  • utilizar un modelo no lineal

Árboles de decisión

Ahora, el árbol de decisiones es, de lejos, uno de mis algoritmos favoritos. Con características versátiles que ayudan a actualizar variables dependientes categóricas y continuas, es un tipo de algoritmo de aprendizaje supervisado que se usa principalmente para problemas de clasificación. Lo que hace este algoritmo es dividir la población en dos o más conjuntos homogéneos basados en los atributos más significativos, haciendo que los grupos sean lo más distintos posible.

Árbol de decisiones - Algoritmos de clasificación-Edureka

En la imagen de arriba, puede ver que la población se clasifica en cuatro grupos diferentes basados en múltiples atributos para identificar si jugarán o no.

Código R:

library(rpart)x <- cbind(x_train,y_train)# grow tree fit <- rpart(y_train ~ ., data = x,method="class")summary(fit)#Predict Output predicted= predict(fit,x_test)

Clasificador Bayes ingenuo

Esta es una técnica de clasificación basada en una suposición de independencia entre predictores o lo que se conoce como teorema de Bayes. En términos simples, un clasificador Bayes ingenuo asume que la presencia de una característica particular en una clase no está relacionada con la presencia de cualquier otra característica.

Por ejemplo, una fruta puede considerarse una manzana si es roja, redonda y de aproximadamente 3 pulgadas de diámetro. Incluso si estas características dependen unas de otras o de la existencia de las otras características, un clasificador Bayes ingenuo consideraría todas estas propiedades para contribuir de forma independiente a la probabilidad de que esta fruta sea una manzana.

Construir un modelo bayesiano es simple y particularmente funcional en el caso de grandes conjuntos de datos. Junto con la simplicidad, se sabe que Naive Bayes también supera a los sofisticados métodos de clasificación.

El teorema de Bayes proporciona una forma de calcular la probabilidad posterior P(c|x) a partir de P(c), P(x) y P(x|c). La expresión para Probabilidad Posterior es la siguiente.

Algoritmos de clasificación de reglas de Bayes-Edureka Aquí,

  • P (c|x) es la probabilidad posterior de clase (objetivo) dado predictor (atributo).
  • P (c) es la probabilidad previa de clase.
  • P (x|c) es la probabilidad que es la probabilidad de la clase predictora dada.
  • P (x) es la probabilidad previa de predictor.

Ejemplo: Trabajemos a través de un ejemplo para entender esto mejor. Por lo tanto, aquí tengo un conjunto de datos de entrenamiento de clima, a saber, soleado, nublado y lluvioso, y la variable binaria correspondiente ‘Play’. Ahora, tenemos que clasificar si los jugadores jugarán o no en función de las condiciones climáticas. Sigamos los pasos a continuación para realizarlo.

Paso 1: Convierte el conjunto de datos en la tabla de frecuencias

Paso 2: Crea una tabla de Verosimilitud encontrando probabilidades como Probabilidad nublada = 0.29 y probabilidad de jugar es 0.64.

Bayes Ingenuos-Algoritmos de aprendizaje automático-EdurekaPaso 3: Ahora, use la ecuación bayesiana ingenua para calcular la probabilidad posterior para cada clase. La clase con mayor probabilidad posterior es el resultado de la predicción.

Problema: Los jugadores jugarán si el clima es soleado, ¿es correcta esta afirmación?

podemos resolver utilizando sobre discutido método, por lo que P(Sí | Soleado) = P( Soleado | Sí) * P(Sí) / P (Soleado)

Aquí tenemos P (Soleado |Sí) = 3/9 = 0.33, P(Soleado) = 5/14 = 0.36, P( Si)= 9/14 = 0.64

Ahora, P (Sí | Soleado) = 0.33 * 0.64 / 0.36 = 0.60, que tiene mayor probabilidad.

Naive Bayes utiliza un método similar para predecir la probabilidad de diferentes clases en función de varios atributos. Este algoritmo se utiliza principalmente en la clasificación de texto y con problemas de tener varias clases.

Código R:

library(e1071)x <- cbind(x_train,y_train)# Fitting modelfit <-naiveBayes(y_train ~ ., data = x)summary(fit)#Predict Output predicted= predict(fit,x_test)

KNN (k – Vecinos más cercanos)

K vecinos más cercanos es un algoritmo simple utilizado para problemas de clasificación y regresión. Básicamente almacena todos los casos disponibles para clasificar los nuevos casos por el voto mayoritario de sus vecinos k. El caso asignado a la clase es más común entre sus vecinos K más cercanos medidos por una función de distancia (Euclidiano, Manhattan, Minkowski y Hamming).

Mientras que las tres funciones de distancia anteriores se utilizan para variables continuas, la función de distancia de Hamming se utiliza para variables categóricas. Si K = 1, entonces el caso se asigna simplemente a la clase de su vecino más cercano. A veces, elegir K resulta ser un desafío mientras se realiza el modelado de kNN.

KNN-Algoritmos de clasificación-Edureka

Puede entender KNN fácilmente tomando un ejemplo de nuestras vidas reales. Si estás enamorado de una chica/chico en clase, de quien no tienes información, es posible que quieras hablar con sus amigos y círculos sociales para obtener acceso a su información.

Código R:

library(knn)x <- cbind(x_train,y_train)# Fitting modelfit <-knn(y_train ~ ., data = x,k=5)summary(fit)#Predict Output predicted= predict(fit,x_test)

Cosas a tener en cuenta antes de seleccionar KNN:

  • KNN es computacionalmente caro
  • Las variables deben normalizarse de lo contrario las variables de mayor rango pueden sesgarlo
  • Funciona en la etapa de preprocesamiento más antes de ir a kNN como un valor atípico, eliminación de ruido

SVM(Máquina de vectores de soporte)

En este algoritmo, trazamos cada elemento de datos como un punto en un espacio n-dimensional (donde n es un número de características que tiene) con el valor de valor de una coordenada en particular .

Por ejemplo, si solo tuviéramos dos características como la Altura y la longitud del cabello de un individuo, primero trazaríamos estas dos variables en un espacio bidimensional donde cada punto tiene dos coordenadas (estas coordenadas se conocen como Vectores de soporte)

SVM-Algoritmos de clasificación - EdurekaAhora, encontraremos una línea que divide los datos entre los dos grupos de datos clasificados de manera diferente. Esta será la línea tal que las distancias desde el punto más cercano en cada uno de los dos grupos estarán más lejos.

SVM 2-Algoritmos de clasificación-Edureka

En el ejemplo que se muestra arriba, la línea que divide los datos en dos grupos clasificados de forma diferente es la línea azul, ya que los dos puntos más cercanos son los más alejados de la línea. Esta línea es nuestro clasificador. Luego, dependiendo de dónde aterricen los datos de prueba a cada lado de la línea, esa es la clase con la que podemos clasificar los nuevos datos.

Código R:

library(e1071)x <- cbind(x_train,y_train)# Fitting modelfit <-svm(y_train ~ ., data = x)summary(fit)#Predict Output predicted= predict(fit,x_test)

Así que, con esto, llegamos al final de este Blog de Algoritmos de clasificación. Pruebe los simples Códigos R en sus sistemas ahora y ya no se llamarán novatos en este concepto.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *