Prédire les décès dans GoT
Même si la variable cible ne contient aucune valeur manquante, d'autres caractéristiques en contiennent. Comme l'objectif du cours n'est pas le nettoyage ni le prétraitement des données, nous avons déjà effectué le prétraitement suivant pour vous :
- Remplacer les valeurs NA par
0. - Remplacer les âges négatifs par
0. - Remplacer les valeurs NA de l'âge par la moyenne.
Construisons maintenant un modèle d'ensemble avec la technique de moyennage. Les modèles individuels suivants ont été créés :
- Régression logistique (
clf_lr). - Arbre de décision (
clf_dt). - Machine à vecteurs de support (
clf_svm).
Comme la cible est binaire, chacun de ces modèles peut déjà donner de bons résultats individuellement.
Votre objectif est de les combiner par moyennage. Rappelez-vous de la vidéo que cela équivaut à un vote soft, donc vous devez quand même utiliser VotingClassifier().
Cette activité fait partie du cours
Méthodes d'ensemble en Python
Instructions de l’exercice
- Préparez la liste de tuples
(chaîne, estimateur). Utilisez'lr'pourclf_lr,'dt'pourclf_dtet'svm'pourclf_svm. - Construisez un classificateur par moyennage nommé
clf_avg. Assurez-vous d'indiquer un argument pour le paramètrevoting.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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))