• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • Python
  • Pandas
  • NumPy
  • Matlab
  • Julia
  • JavaScript
  • Excel

Los tipos de aprendizaje por conjuntos (Ensemble Learning)

enero 28, 2022 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 4 minutos

Al evaluar y comparar el rendimiento de diferentes modelos de aprendizaje automático es habitual observar que las mejores predicciones no siempre proceden del mismo modelo. En un subconjunto de datos los mejores resultados los ofrece la regresión lineal, pero en otro funcionan mejor los árboles de decisión. Lo que indica que el mejor modelo sería una combinación de los mejores. Afortunadamente para estas situaciones tan habituales se cuenta con los métodos de aprendizaje por conjuntos (Ensemble Learning). Métodos con los que se entrena diferentes modelos empleando el mismo conjunto de datos y combina el conjunto de predicciones realizadas por cada modelo para obtener una que sea más precisa y menos propensa a errores. Básicamente, los métodos existentes de aprendizaje por conjuntos se pueden dividir en tres tipos: Votación (Voting), Bagging y Boosting. Tipos que se describirán a continuación.

Votación (Voting)

Los modelos de aprendizaje por conjuntos basados en votación son posiblemente los más sencillos. Tal como su nombre indica en estos se entrenan diferentes modelos con el mismo conjunto de datos y se selecciona la mejor predicción por un sistema de votación. Cada uno de los modelos entrenados emite su predicción en cada caso y la más votada será la seleccionada por el conjunto.

Por ejemplo, se pueden entrenar con un conjunto de datos tres modelos diferentes. Uno basado en árboles de decisión, otro en el que se use una regresión logística y un tercero construido con k-vecinos. Tras el entrenamiento cada modelo podrá realizar predicciones para cada uno de los casos que se le presente, las cuales no tienen porqué ser la misma en los tres modelos. Siendo la predicción del conjunto aquella en la que más modelos coinciden. Esto es, si los árboles de decisión y la regresión logística realizan una predicción cuyo valor es verdadero, mientras que en el caso de k-vecinos es falsa. El resultado final será verdadero ya que esta tiene dos votos frente a uno para el caso de falso.

Votación dura, votación blanda (Hard Voting, Soft Voting)

Los modelos de votación se pueden dividir en dos tipos dependiendo de cómo se cuenten los votos: votación dura o votación blanda. En el caso de votación dura cada uno de los modelos realiza una predicción y todos los modelos tienen el mismo peso. Seleccione, como en el ejemplo de la sección anterior, la predicción que más veces se repite. Por otro lado, en el caso de la votación blanda, cada uno de los modelos además de la predicción debe indicar la confianza que tiene en esta. Seleccionando la predicción del conjunto mediante un sistema de votación ponderada, dando mayor peso a los modelos que devuelve una mayor confianza en sus predicciones. Por lo que no todas las familias de modelos se pueden emplear para este tipo de votación, es necesario que pueden estimar una probabilidad para la predicción. Seleccionando la predicción en base

Publicidad


Bagging

En el caso de Bagging solamente se entrenan modelos basados en una única familia de algoritmos, pero usando en cada caso un subconjunto de datos diferente generado de manera aleatoria. Por ejemplo, Random Forest es un caso de Bagging en el que se usan árboles de decisión. Pero, al igual que en el caso de Votación, la predicción del conjunto se obtiene mediante la votación de todos los modelos entrenados.

Los modelos finales creados mediante Bagging tienen una menor variabilidad y una mayor precisión. Reduciendo la probabilidad de sobreajuste, ya que ninguno de los modelos es entrenado con la totalidad de los datos.

Boosting

Finalmente, está Boosting, en el que se entrena varios modelos en serie y cada uno de ellos aprende de los errores de los anteriores e intenta corregir sus predicciones. Siendo los dos métodos más populares de esta familia Ada Boost y Gradient Boosting.

Ada Boosting

Ada Boost o Adaptive Boosting es un método de aprendizaje por conjuntos en el que cada modelo se centra especialmente en las predicciones erróneas de su antecesor. Asignado un mayor peso a las instancias que clasifican erróneamente los datos.

Publicidad


Gradient Boosting

En el Gradient Boosting se busca hacer que los modelos que aprenden mal mejoren, actualizando para ello los pesos de los modelos. Empleando para ello la técnica de Stochastic Gradient Boosting donde se usan subconjuntos aleatorios de datos para mejorar las predicciones.

Conclusiones

Los modelos de aprendizaje por conjuntos (Ensemble Learning) son una excelente herramienta para mejorar las predicciones en aprendizaje automático. Combinando las fortalezas de las diferentes familias de modelo con los que contamos para la creación de estos.

Imagen de Ben Kerckx en Pixabay

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

Publicidad


¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • cars
    Comparación entre la regresión logística y SVM…
  • cube
    Los conceptos de sesgo y varianza en aprendizaje automáticos
  • time
    Diferentes modelos de aprendizaje no supervisado
  • chatbot
    Modelos de aprendizaje automático con ChatGPT en español
  • Cerca
    La regresión logística
  • tree
    Representar los criterios de selección en árboles de…

Publicado en: Ciencia de datos

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

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

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Publicidad





Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Facebook
  • GitHub
  • Instagram
  • Pinterest
  • RSS
  • Twitter
  • Tumblr
  • YouTube

Publicidad

Entradas recientes

Tutorial básico de Traceroute

diciembre 8, 2023 Por Daniel Rodríguez

Usar el depurador de Visual Studio Code con Jest

diciembre 6, 2023 Por Daniel Rodríguez

Análisis de datos con GPT en Pandas

diciembre 4, 2023 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Unir y combinar dataframes con pandas en Python publicado el septiembre 10, 2018 | en Python
  • ¿Cómo eliminar columnas y filas en un dataframe pandas? publicado el marzo 25, 2019 | en Python
  • Agregar líneas a las figuras de Matplotlib publicado el septiembre 1, 2022 | en Python
  • Seleccionar filas y columnas en Pandas con iloc y loc publicado el junio 21, 2019 | en Python
  • pandas Pandas: Leer archivos CSV con diferentes delimitadores en Pandas. publicado el noviembre 30, 2020 | en Python

Publicidad

Lo mejor valorado

4.9 (22)

Seleccionar filas y columnas en Pandas con iloc y loc

4.7 (12)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.6 (15)

Archivos JSON con Python: lectura y escritura

4.5 (10)

Diferencias entre var y let en JavaScript

4.4 (13)

Ordenación de diccionarios en Python mediante clave o valor

Publicidad

Comentarios recientes

  • Anto en Rendimiento al iterar en JavaScript sobre un vector
  • Daniel Rodríguez en Creación de un certificado Let’s Encrypt en Windows con Win-Acme
  • Guillermo en Creación de un certificado Let’s Encrypt en Windows con Win-Acme
  • Daniel Rodríguez en ¿Cómo eliminar columnas y filas en un dataframe pandas?
  • Miguel en ¿Cómo eliminar columnas y filas en un dataframe pandas?

Publicidad

Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2023 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto