НачатьНачать бесплатно

Предсказание гибели персонажей GoT

Целевая переменная не содержит пропущенных значений, однако в других признаках они есть. Поскольку курс не посвящён очистке и предобработке данных, мы уже выполнили следующие шаги:

  • Заменили значения NA на 0.
  • Заменили отрицательные значения возраста на 0.
  • Заменили значения NA для возраста на среднее.

Теперь построим ансамблевую модель с использованием техники усреднения. Следующие индивидуальные модели уже обучены:

  • Логистическая регрессия (clf_lr).
  • Дерево решений (clf_dt).
  • Метод опорных векторов (clf_svm).

Поскольку целевая переменная бинарная, каждая из этих моделей может показывать хорошие результаты по отдельности. Ваша задача — объединить их с помощью усреднения. Вспомните из видео, что это эквивалентно подходу мягкого голосования, поэтому используйте VotingClassifier().

Это упражнение является частью курса

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

Посмотреть курс

Инструкции к упражнению

  • Составьте список кортежей вида (строка, классификатор). Используйте 'lr' для clf_lr, 'dt' для clf_dt и 'svm' для clf_svm.
  • Постройте усредняющий классификатор с именем clf_avg. Не забудьте задать аргумент для параметра voting.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Build the individual models
clf_lr = LogisticRegression(class_weight='balanced')
clf_dt = DecisionTreeClassifier(min_samples_leaf=3, min_samples_split=9, random_state=500)
clf_svm = SVC(probability=True, class_weight='balanced', random_state=500)

# List of (string, estimator) tuples
estimators = ____

# Build and fit an averaging classifier
clf_avg = ____
clf_avg.fit(X_train, y_train)

# Evaluate model performance
acc_avg = accuracy_score(y_test,  clf_avg.predict(X_test))
print('Accuracy: {:.2f}'.format(acc_avg))
Редактировать и запускать код