Röstning

Ensemblemetoder i Python

Román de las Heras

Data Scientist, Appodeal

Fråga publiken

ask-the-audience.gif

Kollektiv visdom

  • Kollektiv intelligens
  • Stor grupp >= Enskild expert
  • Problemlösning
  • Beslutsfattande
  • Innovation
  • Prediktion
Ensemblemetoder i Python

Majoritetsröstning

Egenskaper

  • Klassificeringsproblem
  • Majoritetsröstning: Typvärde
  • Udda antal klassificerare (3+)

multi-modal-prediction.png

Egenskaper hos klok grupp:

  • Diversifierad: olika algoritmer eller datamängder
  • Oberoende och okorrelerade
  • Använder individuell kunskap
  • Aggregerar individuella prediktioner
Ensemblemetoder i Python

Röstningsensemble med scikit-learn

from sklearn.ensemble import VotingClassifier

clf_voting = VotingClassifier( estimators=[ ('label1', clf_1), ('label2', clf_2), ('labelN', clf_N)])

Utvärdera prestandan

# Get the accuracy score 
acc = accuracy_score(y_test, y_pred)
print("Accuracy: {:0.3f}".format(acc))
Accuracy: 0.938
# Create the individual models
clf_knn = KNeighborsClassifier(5)
clf_dt = DecisionTreeClassifier()
clf_lr = LogisticRegression()

# Create voting classifier clf_voting = VotingClassifier( estimators=[ ('knn', clf_knn), ('dt', clf_dt), ('lr', clf_lr)])
# Fit it to the training set and predict clf_voting.fit(X_train, y_train) y_pred = clf_voting.predict(X_test)
Ensemblemetoder i Python

Nu kör vi en övning!

Ensemblemetoder i Python

Preparing Video For Download...