5 algoritmos de classificação que você deve conhecer

Conteúdo

Fonte: https://www.serokell.io

Na foto acima, puede ver que los correos electrónicos se clasifican como spam o no. Então, es un ejemplo de clasificación (classificação binária).

1. Regressão logística

2. Bayes ingenuo

3. Vizinhos mais próximos

5. Árvore de decisão

Veremos todos los algoritmos con un pequeño código aplicado en el conjunto de datos del iris que se utiliza para las tareas de clasificación. O conjunto de dados tem 150 instancias (filas), 4 caracteristicas (colunas) y no contiene ningún valor nulo. Existem 3 clases en el conjunto de datos de iris:
– Silky Iris
Iris Versicolor
– Iris Virginica

Es un algoritmo de clasificación muy básico pero importante en el aprendizaje automático que utiliza una o más variables independientes para establecer un resultado. La regresión logística intenta hallar la vinculación que mejor se ajuste entre la variable dependiente y un conjunto de variables independientes. La línea que mejor se ajusta en este algoritmo se parece a la forma de S, como mostra a imagem.

Regresión logística de algoritmos de clasificación

Fonte: https://www.equiskill.com

Prós:

  • Es un algoritmo muy simple y eficiente.
  • Varianza baja.
  • Fornece probabilidade puntuación de las observaciones.

Contras:

  • Mal manejo un gran número de características categóricas.
  • Asume que los datos están libres de valores perdidos y que los predictores son independientes entre sí.

Exemplo:

from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
X, y = load_iris()
LR_classifier = LogisticRegression(random_state = 0)
LR_classifier.fit(X, e)
LR_classifier.predict(X[:3, :])

Produção:

variedade([0, 0, 0])
It predicted 0 class for all 3 tests given to predict function.

2. Bayes ingenuo

Naive Bayes se basa en Teorema de bayes lo que da un supuesto de independencia entre predictores. Este clasificador asume que la presencia de una característica particular en una clase no está relacionada con la presencia de ninguna otra
característica / variável.

Los clasificadores Naive Bayes son de tres tipos: Multinomial Naive Bayes, Bernoulli Naive Bayes, Gaussian Naive Bayes.

Prós:

  • Este algoritmo funciona muy rápido.
  • Además se puede usar para solucionar problemas de predicción de varias clases, dado que es bastante útil con ellos.
  • Este clasificador funciona mejor que otros modelos con menos datos de entrenamiento si se mantiene el supuesto de independencia de las características.

Contras:

  • Assume
    que todas las funciones son independientes. Aunque puede sonar genial en
    teoria, pero en la vida real, nadie puede hallar un conjunto de características independientes.

Exemplo:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
X, y = load_iris(return_X_y = True)
X_train, X_test, y_train, y_test = train_test_split(X, e, test_size=0.25, random_state=142)
Naive_Bayes = GaussianNB()
Naive_Bayes.fit(X_train, y_train)
prediction_results = Naive_Bayes.predict(X_test)  
imprimir(prediction_results)

Produção:

variedade([0, 1, 1, 2, 1, 1, 0, 0, 2, 1, 1, 1, 2, 0, 1, 0, 2, 1, 1, 2, 2, 1,0, 1, 2, 1, 2, 2, 0, 1, 2,
     1, 2, 1, 2, 2, 1, 2])
These are the classes predicted for X_test data by our naive Bayes model.

3. Algoritmo de vecino más cercano K

Debes haber oído hablar de un dicho popular:

Dios los cría y ellos se juntan.

KNN funciona según el mismo principio. Clasifica los nuevos puntos de datos en función de la clase de la mayoría de los puntos de datos entre el vecino K, donde K es el número de vecinos a considerar. KNN captura la idea de similitud (a veces llamada distancia,
proximidad o cercanía) con algunas fórmulas matemáticas básicas de distancia como distancia euclidiana, distancia de Manhattan, etc.

Algoritmo de vecino más cercano (KNN) para aprendizaje automático: algoritmos de clasificación de Javatpoint

Fonte: https://www.javatpoint.com

Seleccionar el valor correcto para K

Para elegir la K adecuada para los datos que desea entrenar, ejecute el algoritmo KNN varias veces con diferentes valores de K y elija ese valor de K que reduce la cantidad de errores en los datos no vistos.

Prós:

  • KNN es simple y fácil de poner en práctica.
  • No es necesario crear un modelo, ajustar varios parámetros o hacer suposiciones adicionales como algunos de los otros algoritmos de clasificación.
  • Se puede usar para clasificación, regresión y búsqueda. Então, es flexible.
  • El algoritmo se torna significativamente más lento a medida que aumenta el número de ejemplos y / o predictores / variáveis ​​independentes.
from sklearn.neighbors import KNeighborsClassifier
X_train, X_test, y_train, y_test = train_test_split(X, e, test_size=0.25, random_state=142)
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
prediction_results = knn.predict(X_test[:5,:)
imprimir(prediction_results)

Produção:

variedade([0, 1, 1, 2, 1])
We predicted our results for 5 sample rows. Hence we have 5 results in array.

4. SVM

SVM son las siglas de Support Vector Machine. Este es un algoritmo de aprendizaje automático supervisado que se utiliza con mucha frecuencia para desafíos de clasificación y regresión. Apesar disto, usado principalmente em problemas de classificação. El concepto básico de Support Vector Machine y cómo funciona se puede comprender mejor con este sencillo ejemplo. Então, imagina que tienes dos etiquetas: verde y azul, y nuestros datos disponen dos características: X e e. Queremos un clasificador que, dado un par de (x, e) coordenadas, salidas si es verde o azul. Trace los datos de entrenamiento etiquetados en un plano y después intente hallar un plano (el hiperplano de dimensiones aumenta) que segrega los puntos de datos de ambos colores con mucha claridad.

Algoritmo de máquina de vectores de soporte (SVM) - Javatpoint

Fonte: https://www.javatpoint.com

Pero este es el caso de los datos lineales. Mas, ¿qué pasa si los datos no son lineales, entonces utiliza el truco del kernel? Então, para manejar esto, aumentamos la dimensión, esto trae datos en el espacio y ahora los datos se vuelven linealmente separables en dos grupos.

Prós:

  • SVM funciona relativamente bien cuando existe un claro margen de separación entre clases.
  • SVM es más eficaz en espacios de gran dimensión.

Contras:

  • SVM no es adecuado para grandes conjuntos de datos.
  • SVM no funciona muy bien cuando el conjunto de datos tiene más ruido, Em outras palavras, cuando las clases de destino se superponen. Então, necesita ser manejado.

Exemplo:

from sklearn import svm
svm_clf = svm.SVC()
X_train, X_test, y_train, y_test = train_test_split(X, e, test_size=0.25, random_state=142)
svm_clf.fit(X_train, y_train)
prediction_results = svm_clf.predict(X_test[:7,:])
imprimir(prediction_results)

Produção:

variedade([0, 1, 1, 2, 1, 1, 0])

5.Árvore de decisão

El árbol de decisiones es uno de los algoritmos de aprendizaje automático más utilizados. Se usan para problemas de clasificación y regresión. Los árboles de decisión imitan el pensamiento a nivel humano, por lo que es muy fácil comprender los datos y realizar buenas intuiciones e interpretaciones. Na realidade, te hacen ver la lógica de los datos para interpretarlos. Los árboles de decisión no son como algoritmos de caja negra como SVM, redes neurais, etc.

Algoritmos de clasificación: una guía completa para el aprendizaje del árbol de decisiones: artículos sobre inteligencia artificial, aprendizaje automático y ciencia de datos |  Entrevistas |  Insights |  DIARIO DE TIEMPO AI

Fonte: https://www.aitimejournal.com

Como um exemplo, si clasificamos a una persona como apta o no apta, A árvore de decisão se parece um pouco com isso na foto.

Então, em resumo, un árbol de decisión es un árbol donde cada nodo representa un
característica / atributo, cada rama representa una decisión, una regla y cada hoja representa un resultado. Este resultado puede ser de valor categórico o continuo. Categórico en caso de clasificación y continuo en caso de aplicaciones de regresión.

Prós:

  • En comparación con otros algoritmos, los árboles de decisión requieren menos esfuerzo para la preparación de datos a lo largo del preprocesamiento.
  • Tampoco requieren la normalización de datos ni el escalado.
  • El modelo elaborado en el árbol de decisiones es muy intuitivo y fácil de explicar tanto a los equipos técnicos como a las partes interesadas.

Contras:

  • Si se realiza inclusive un pequeño cambio en los datos, eso puede conducir a un gran cambio en la estructura del árbol de decisiones que causa inestabilidad.
  • As vezes, el cálculo puede ser mucho más complejo en comparación con otros algoritmos.
  • Los árboles de decisión suelen tardar más en entrenar el modelo.

Exemplo:

from sklearn import tree
dtc = tree.DecisionTreeClassifier()
X_train, X_test, y_train, y_test = train_test_split(X, e, test_size=0.25, random_state=142)
dtc.fit(X_train, y_train)
prediction_results = dtc.predict(X_test[:7,:])
imprimir(prediction_results)

Produção:

variedade([0, 1, 1, 2, 1, 1, 0])

Notas finais

Estes são os 5 algoritmos de clasificación más populares, hay muchos más y además algoritmos avanzados. Explórelos además. Vamos conectar LinkedIn

Obrigado por ler se você chegou aqui 🙂

A mídia mostrada nesta postagem não é propriedade da DataPeaker e é usada a critério do autor.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.