La técnica de Ensemble Learning está basada en juntar varias técnicas de Machine Learning, para intentar aumentar la precisión. Es decir, en vez de realizar una predicción o clasificación, basándose en una sola técnica, lo que hace es emplear los resultados de varias técnicas para llegar a un resultado final. También se puede emplear en redes neuronales. A continuación un código en Python con un ejemplo y más información de esta técnica.

Tabla de contenidos
Código en Python.
El siguiente ejemplo, predice la talla de zapatos de un niño, con Ensemble Learning en base a un entrenamiento pasado, con otros niños.
import pandas as pd
from sklearn.ensemble import VotingRegressor
from sklearn.tree import DecisionTreeRegressor
from sklearn.linear_model import LinearRegression
from sklearn.neighbors import KNeighborsRegressor
# Carga el archivo CSV como un DataFrame de Pandas
data = pd.read_csv(‘niños.csv’)
# Divide el DataFrame en características y etiquetas
X = data[[‘peso’, ‘sexo’, ‘altura’]]
y = data[‘talla’]
# Crea una lista de modelos
models = [
(‘decision_tree’, DecisionTreeRegressor()),
(‘linear_regression’, LinearRegression()),
(‘k_neighbors’, KNeighborsRegressor(n_neighbors=5))
]
# Crea un modelo de ensamble con los modelos anteriores
model = VotingRegressor(models)
# Entrena el modelo con los datos
model.fit(X, y)
# Hace una predicción con el modelo
peso = 50
sexo = 0 # 1 representa chico
altura = 158
talla_predicha = model.predict([[peso, sexo, altura]])
print(f’Para un peso de {peso} kg, una altura de {altura} cm y un sexo masculino, se predice una talla de {talla_predicha[0]}’)
¿Qué ventajas tiene el Ensemble Learning?
- Reducir el sobreajuste: si uno de los modelos tiene sobreajuste, no afectará tanto, que si se estuviera utilizando solo ese método, con ese error.
- Mejorar la precisión: es el principal objetivo de ese algoritmo, al utilizar el conjunto de resultados como un punto a favor.
- Más estabilidad/robusto: si uno de los algoritmos falla, el resto puede equilibrar el resultado final.
¿Qué desventajas tiene el Ensemble Learning?
- Mayor gasto de recursos y tiempo: al tener que entrenar más modelos, se gasta más tiempo y recursos económicos para ello.
- Puede crear sobreajuste: a pesar de que uno de los objetivos principales, es solucionar este error. Si hay una relación muy grande entre los diferentes modelos, también puede aparecer este problema.
- Más código y complejidad: es más complejo de programar, más líneas de código y requiere de mayores conocimientos/personal cualificado.
Casos y ejemplos reales de este algoritmo.
- Pronosticar el tiempo: es una técnica muy empleada en el sector de la meteorología.
- Predicciones financieras: para mejorar el trading algorítmico y obtener mayores beneficios.
- Detectar contenido publicitario: para la clasificación de correos electrónicos o mensajes, en especial, filtrar el correo basura.
Vídeo:
Últimas entradas de Javier Finance (ver todo)
- Inteligencia Artificial para cámaras de seguridad - noviembre 6, 2023
- Los mejores Bootcamps de Data Science (Ranking) - septiembre 27, 2023
- ¿Cómo limpiar datos con Pandas? [Código Python] - septiembre 4, 2023