Une première tentative avec mlxtend
Il est temps de commencer à utiliser mlxtend ! Vous allez continuer avec l'ensemble de données sur les évaluations d'applications. Comme vous avez déjà construit un modèle empilé avec scikit-learn, vous aurez une base de comparaison avec le modèle que vous allez maintenant créer avec mlxtend.
L'ensemble de données est chargé et accessible sous le nom apps.
Voyons si mlxtend peut produire un modèle aussi performant, voire meilleur, que le classificateur d'ensemble de scikit-learn.
Cette activité fait partie du cours
Méthodes d'ensemble en Python
Instructions de l’exercice
- Instanciez un arbre de décision avec
min_samples_leaf = 3etmin_samples_split = 9. - Instanciez un classificateur des 5 plus proches voisins en utilisant l'algorithme
'ball_tree'. - Construisez un
StackingClassifieren fournissant : la liste des classificateurs, le méta-classificateur,use_probas=True(pour utiliser les probabilités) etuse_features_in_secondary = False(pour n'utiliser que les prédictions individuelles). - Évaluez la performance en calculant la précision (accuracy).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Instantiate the first-layer classifiers
clf_dt = ____(____, ____, random_state=500)
clf_knn = ____
# Instantiate the second-layer meta classifier
clf_meta = LogisticRegression()
# Build the Stacking classifier
clf_stack = ____
clf_stack.____
# Evaluate the performance of the Stacking classifier
pred_stack = ____
print("Accuracy: {:0.4f}".format(accuracy_score(y_test, pred_stack)))