Sélection de fonctionnalités pour améliorer la précision et réduire le temps d'entraînement
En travaillant sur un problème, vous cherchez toujours à tirer le meilleur parti des données dont vous disposez. Vous voulez la meilleure précision possible.
En règle générale, les plus grandes victoires résident dans une meilleure compréhension du problème que vous résolvez. C'est pourquoi j'insiste sur le fait que vous passez autant de temps dès le départ à définir votre problème, à analyser les données et à préparer des ensembles de données pour vos modèles.
Un élément clé de la préparation des données consiste à créer des transformations de l'ensemble de données, telles que des valeurs d'attributs redimensionnées et des attributs décomposés en leurs éléments constitutifs, le tout dans le but d'exposer une structure plus importante et utile aux algorithmes de modélisation.
Une suite importante de méthodes à utiliser lors de la préparation de l’ensemble de données sont les algorithmes de sélection automatique des caractéristiques. Dans cet article, vous découvrirez la sélection de fonctionnalités, les avantages d'une sélection simple de fonctionnalités et comment tirer le meilleur parti de ces algorithmes dans Weka sur votre ensemble de données.
Démarrez votre projet avec mon nouveau livre Machine Learning Mastery With Weka, comprenant des tutoriels étape par étape et des captures d'écran claires pour tous les exemples.
Commençons.
Tous les attributs ne sont pas égaux
Que vous sélectionniez et rassembliez des échantillons de données vous-même ou qu'elles vous soient fournies par des experts du domaine, la sélection des attributs est d'une importance cruciale. C’est important car cela peut faire la différence entre une modélisation réussie et significative du problème ou non.
Trompeur
L’inclusion d’attributs redondants peut induire en erreur les algorithmes de modélisation. Les méthodes basées sur les instances, telles que le k-voisin le plus proche, utilisent de petits voisinages dans l'espace des attributs pour déterminer les prédictions de classification et de régression. Ces prédictions peuvent être considérablement faussées par des attributs redondants.
Surapprentissage
Conserver des attributs non pertinents dans votre ensemble de données peut entraîner un surapprentissage. Les algorithmes d'arbre de décision comme C4.5 cherchent à créer des spits optimaux dans les valeurs d'attribut. Les attributs les plus corrélés à la prédiction sont divisés en premier. Plus profondément dans l'arborescence, des attributs moins pertinents et non pertinents sont utilisés pour prendre des décisions de prédiction qui ne peuvent être bénéfiques que par hasard dans l'ensemble de données d'entraînement. Ce surajustement des données d’entraînement peut affecter négativement la puissance de modélisation de la méthode et paralyser la précision prédictive.
Il est important de supprimer les attributs redondants et non pertinents de votre ensemble de données avant d'évaluer les algorithmes. Cette tâche doit être abordée lors de l'étape de préparation des données du processus d'apprentissage automatique appliqué.
Sélection des fonctionnalités
La sélection de fonctionnalités ou la sélection d'attributs est un processus par lequel vous recherchez automatiquement le meilleur sous-ensemble d'attributs dans votre ensemble de données. La notion de « meilleur » est relative au problème que vous essayez de résoudre, mais signifie généralement la plus grande précision.
Une manière utile de réfléchir au problème de la sélection des attributs est une recherche dans l’espace d’état. L'espace de recherche est discret et comprend toutes les combinaisons possibles d'attributs que vous pouvez choisir dans l'ensemble de données. L'objectif est de naviguer dans l'espace de recherche et de localiser la meilleure ou une combinaison suffisamment bonne qui améliore les performances par rapport à la sélection de tous les attributs.
Les trois principaux avantages de la sélection de fonctionnalités sur vos données sont :
- Réduit le surajustement : moins de données redondantes signifie moins de possibilités de prendre des décisions basées sur le bruit.
- Améliore la précision : moins de données trompeuses signifient que la précision de la modélisation s'améliore.
- Réduit le temps de formation : moins de données signifie que les algorithmes s'entraînent plus rapidement.
Sélection d'attributs dans Weka
Weka fournit un outil de sélection d'attributs. Le processus est séparé en deux parties :
- Évaluateur d'attributs : méthode par laquelle les sous-ensembles d'attributs sont évalués.
- Méthode de recherche : méthode par laquelle l'espace des sous-ensembles possibles est recherché.
Évaluateur d'attributs
L'évaluateur d'attributs est la méthode par laquelle un sous-ensemble d'attributs est évalué. Par exemple, ils peuvent être évalués en construisant un modèle et en évaluant l'exactitude du modèle.
Voici quelques exemples de méthodes d'évaluation d'attributs :
- CfsSubsetEval : valorise les sous-ensembles qui sont fortement corrélés à la valeur de la classe et faiblement corrélés les uns aux autres.
- ClassifierSubsetEval : évalue les sous-ensembles à l'aide d'un algorithme prédictif et d'un autre ensemble de données que vous spécifiez.
- WrapperSubsetEval : évaluez les sous-ensembles à l'aide d'un classificateur que vous spécifiez et d'une validation croisée n fois.
Méthode de recherche
La méthode de recherche est la manière structurée dont l'espace de recherche des sous-ensembles d'attributs possibles est parcouru en fonction de l'évaluation du sous-ensemble. Les méthodes de base incluent la recherche aléatoire et la recherche exhaustive, bien que les algorithmes de recherche graphique soient populaires, tels que la meilleure première recherche.
Voici quelques exemples de méthodes d'évaluation d'attributs :
- Exhaustif : teste toutes les combinaisons d'attributs.
- BestFirst : utilise une stratégie de recherche "meilleur premier" pour parcourir les sous-ensembles d'attributs.
- GreedyStepWise : utilise une stratégie étape par étape vers l'avant (additif) ou vers l'arrière (soustractive) pour parcourir les sous-ensembles d'attributs.
Comment utiliser la sélection d'attributs dans Weka
Dans cette section, je souhaite partager avec vous trois façons intelligentes d'utiliser la sélection d'attributs dans Weka.
1. Explorez la sélection des attributs
Lorsque vous indiquez simplement la sélection d'attributs, je vous recommande de jouer avec quelques-unes des méthodes de l'explorateur Weka.
Chargez votre ensemble de données et cliquez sur l'onglet « Sélectionner les attributs ». Essayez différents évaluateurs d'attributs et méthodes de recherche sur votre ensemble de données et examinez les résultats dans la fenêtre de sortie.
L'idée est d'avoir une idée et de développer une intuition pour 1) combien et 2) quels attributs sont sélectionnés pour votre problème. Vous pouvez utiliser ces informations pour passer à l'une ou aux deux étapes suivantes.
2. Préparer les données avec la sélection d'attributs
L'étape suivante consisterait à utiliser la sélection d'attributs dans le cadre de votre étape de préparation des données.
Il existe un filtre que vous pouvez utiliser lors du prétraitement de votre ensemble de données qui exécutera un schéma de sélection d'attributs, puis réduira votre ensemble de données aux seuls attributs sélectionnés. Le filtre est appelé « AttributeSelection » sous les filtres d'attributs non supervisés.
Vous pouvez ensuite enregistrer l'ensemble de données pour l'utiliser dans des expériences lors de la vérification ponctuelle des algorithmes.
3. Exécuter des algorithmes avec sélection d'attributs
Enfin, il existe une autre façon intelligente d'incorporer la sélection d'attributs : celle-ci consiste à l'incorporer directement à l'algorithme.
Il existe un méta-algorithme que vous pouvez exécuter et inclure dans des expériences qui sélectionne les attributs exécutant l'algorithme. L'algorithme est appelé « AttributeSelectedClassifier » dans le groupe d'algorithmes « méta ». Vous pouvez configurer cet algorithme pour utiliser l'algorithme de votre choix ainsi que l'évaluateur d'attributs et la méthode de recherche de votre choix.
Vous pouvez inclure plusieurs versions de ce méta-algorithme configuré avec différentes variantes et configurations du schéma de sélection d'attributs et voir comment elles se comparent les unes aux autres.
Résumé
Dans cet article, vous avez découvert la sélection de fonctionnalités en tant que suite de méthodes pouvant augmenter la précision du modèle, réduire le temps de formation du modèle et réduire le surajustement.
Vous avez également découvert que les méthodes de sélection de fonctionnalités sont intégrées à Weka et vous avez appris trois façons intelligentes d'utiliser les méthodes de sélection de fonctionnalités sur votre ensemble de données dans Weka, à savoir en explorant, en préparant les données et en les couplant à votre algorithme dans un méta-classificateur.
Wikipédia a une bonne entrée sur la sélection des fonctionnalités.
Si vous recherchez la prochaine étape, je vous recommande le livre Feature Extraction : Foundations and Applications. Il s'agit d'une collection d'articles rédigés par des universitaires couvrant une gamme de questions liées à la sélection des fonctionnalités. C'est cher mais cela en vaut la peine en raison de la différence que cela peut apporter aux méthodes que cela peut apporter pour résoudre votre problème.
Pour une perspective mise à jour sur la sélection des fonctionnalités avec Weka, consultez l'article :
- Comment effectuer une sélection de fonctionnalités avec des données d'apprentissage automatique dans Weka
Un autre livre que vous pourriez trouver utile (et moins cher sur Kindle) est Computational Methods of Feature Selection.