Прогнозування смертей у GoT
Хоча цільова змінна не має пропущених значень, інші ознаки — мають. Оскільки курс не фокусується на очищенні даних і попередній обробці, ми вже виконали для вас таку підготовку даних:
- Замінено значення NA на
0. - Негативні значення віку замінено на
0. - Значення NA у віці замінено на середнє.
Тепер побудуймо ансамблеву модель за допомогою техніки усереднення. Побудовано такі індивідуальні моделі:
- Логістична регресія (
clf_lr). - Дерево рішень (
clf_dt). - Підтримувальні векторні машини (
clf_svm).
Оскільки ціль бінарна, усі ці моделі можуть показувати гарну індивідуальну якість.
Ваше завдання — об'єднати їх методом усереднення. Згадайте з відео, що це те саме, що підхід soft voting, тож вам усе одно слід використати 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))