Gemiddelden

Ensemblemethoden in Python

Román de las Heras

Data Scientist, Appodeal

Jelly beans tellen

berry-festival-jelly-bean-guess.jpg

Hoe maak je een goede schatting?

  • Raden (willekeurig getal)
  • Volume benaderen
  • Nog veel meer aanpakken

Werkelijke waarde ~ gemiddelde(schattingen)

Ensemblemethoden in Python

Averaging (soft voting)

Eigenschappen

  • Classificatie- & regressieproblemen
  • Soft voting: gemiddelde
    • Regressie: gemiddelde van voorspelde waarden
    • Classificatie: gemiddelde van voorspelde waarschijnlijkheden
  • Minstens 2 schatters nodig
Ensemblemethoden in Python

Averaging-ensemble met 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] )
Ensemblemethoden in Python

scikit-learn-voorbeeld

# 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]
)
Ensemblemethoden in Python

Game of Thrones-sterfgevallen

Doel:

  • Voorspel of een personage leeft of niet

Features:

  • Leeftijd
  • Geslacht
  • Boeken waarin ze voorkomen
  • Populariteit
  • Of familieleden leven of niet

shutterstock_1038048793.jpg

Ensemblemethoden in Python

Laten we oefenen!

Ensemblemethoden in Python

Preparing Video For Download...