Голосование

Ансамблевые методы в Python

Román de las Heras

Data Scientist, Appodeal

Спросите аудиторию

ask-the-audience.gif

Мудрость толпы

  • Коллективный интеллект
  • Большая группа >= Один эксперт
  • Решение задач
  • Принятие решений
  • Инновации
  • Прогнозирование
Ансамблевые методы в Python

Голосование большинством

Свойства

  • Задачи классификации
  • Голосование большинством: мода
  • Нечётное число классификаторов (3+)

multi-modal-prediction.png

Признаки «мудрой толпы»:

  • Разнородность: разные алгоритмы или наборы данных
  • Независимость и некоррелированность
  • Использование индивидуальных знаний
  • Агрегация индивидуальных прогнозов
Ансамблевые методы в Python

Ансамбль с голосованием в scikit-learn

from sklearn.ensemble import VotingClassifier

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

Оценка качества модели

# 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)
Ансамблевые методы в Python

Давайте потренируемся!

Ансамблевые методы в Python

Preparing Video For Download...