Promediar

Ensemble Methods in Python

Román de las Heras

Data Scientist, Appodeal

Contar judías de gominola

concurso-de-judías-de-gominola-en-festival-de-bayas.jpg

¿Cómo dar una buena estimación?

  • Adivinar (número aleatorio)
  • Aproximar por volumen
  • Muchas otras técnicas

Valor real ~ media(estimaciones)

Ensemble Methods in Python

Promedio (votación suave)

Propiedades

  • Problemas de clasificación y regresión
  • Votación suave: media
    • Regresión: media de los valores predichos
    • Clasificación: media de las probabilidades predichas
  • Necesitas al menos 2 estimadores
Ensemble Methods in Python

Ensamble por promedio con scikit-learn

Averaging Classifier

from sklearn.ensemble import VotingClassifier

clf_voting = VotingClassifier( estimators=[ ('label1', clf_1), ('label2', clf_2), ... ('labelN', clf_N)], voting='soft', weights=[w_1, w_2, ..., w_N] )

Averaging Regressor

from sklearn.ensemble import VotingRegressor

reg_voting = VotingRegressor( estimators=[ ('label1', reg_1), ('label2', reg_2), ... ('labelN', reg_N)], weights=[w_1, w_2, ..., w_N] )
Ensemble Methods in Python

Ejemplo en scikit-learn

# Instantiate the individual models
clf_knn = KNeighborsClassifier(5)
clf_dt = DecisionTreeClassifier()
clf_lr = LogisticRegression()
# Create an averaging classifier
clf_voting = VotingClassifier(
    estimators=[
       ('knn', clf_knn), 
       ('dt', clf_dt), 
       ('lr', clf_lr)],
    voting='soft',
    weights=[1, 2, 1]
)
Ensemble Methods in Python

Muertes en Game of Thrones

Objetivo:

  • Predecir si un personaje está vivo o no

Características:

  • Edad
  • Género
  • Libros en los que aparece
  • Popularidad
  • Si sus parientes están vivos o no

shutterstock_1038048793.jpg

Ensemble Methods in Python

¡Vamos a practicar!

Ensemble Methods in Python

Preparing Video For Download...