Tracer l'importance de permutation

Beginner

This tutorial is from open-source community. Access the source code

Introduction

En apprentissage automatique, l'importance des fonctionnalités est un outil précieux pour comprendre quelles fonctionnalités ont le plus d'impact sur la variable cible. Dans ce laboratoire, nous comparerons deux méthodes de calcul de l'importance des fonctionnalités : l'importance des fonctionnalités basée sur l'impureté et l'importance de permutation. Nous utiliserons un classifieur forêt aléatoire sur l'ensemble de données Titanic pour illustrer les différences entre les deux méthodes.

Conseils sur la VM

Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez des commentaires après la session, et nous réglerons rapidement le problème pour vous.

Chargement des données et ingénierie des fonctionnalités

Nous utiliserons pandas pour charger une copie de l'ensemble de données Titanic. Nous ajouterons également deux variables aléatoires qui ne sont pas corrélées avec la variable cible. Nous prétraiterons les données à l'aide de OrdinalEncoder et SimpleImputer.

Définir et entraîner un classifieur forêt aléatoire

Nous définirons un classifieur forêt aléatoire à l'aide de RandomForestClassifier et l'entrainerons sur les données prétraitées.

Évaluer la précision du modèle

Nous évaluerons la précision du classifieur forêt aléatoire sur les ensembles d'entraînement et de test.

Importance des fonctionnalités des arbres à partir de la diminution moyenne de l'impureté (MDI)

Nous calculerons l'importance des fonctionnalités basée sur l'impureté du classifieur forêt aléatoire. Nous observerons que cette méthode peut surestimer l'importance des fonctionnalités numériques.

Importances de permutation sur l'ensemble de test

Nous calculerons les importances de permutation du classifieur forêt aléatoire sur un ensemble de test séparé. Nous observerons que cette méthode n'est pas biaisée en faveur des fonctionnalités à forte cardinalité et est un meilleur indicateur de l'importance des fonctionnalités.

Importances de permutation sur l'ensemble d'entraînement

Nous calculerons les importances de permutation du classifieur forêt aléatoire sur l'ensemble d'entraînement. Nous observerons que l'importance des fonctionnalités numériques et catégorielles aléatoires diminue lorsque la capacité des arbres à surapprendre est limitée.

Importances de permutation sur un modèle de capacité réduite

Nous allons définir min_samples_leaf sur 20 et entraîner à nouveau le classifieur forêt aléatoire. Nous calculerons les importances de permutation du classifieur forêt aléatoire sur les ensembles d'entraînement et de test. Nous observerons que l'importance des fonctionnalités numériques et catégorielles aléatoires non prédictives diminue encore.

Sommaire

Dans ce laboratoire, nous avons comparé l'importance des fonctionnalités basée sur l'impureté avec l'importance de permutation sur l'ensemble de données Titanic en utilisant un classifieur forêt aléatoire. Nous avons observé que l'importance des fonctionnalités basée sur l'impureté peut surestimer l'importance des fonctionnalités numériques et est biaisée en faveur des fonctionnalités à forte cardinalité. L'importance de permutation est un meilleur indicateur de l'importance des fonctionnalités et n'est pas biaisée en faveur des fonctionnalités à forte cardinalité. Nous avons également observé que limiter la capacité des arbres à surapprendre peut réduire l'importance des fonctionnalités non prédictives.