Utilisation dalgorithmes dapprentissage automatique dEnsemble dans Weka

Algorithmes densemble sont une classe puissante dalgorithmes dapprentissage automatique qui combinent les prédictions de plusieurs modèles. Un avantage de lutilisation de Weka pour lapprentissage automatique est la disponibilité de tant dalgorithmes dapprentissage automatique densemble différents.

Présentation des algorithmes densemble

Nous allons faire un tour des 5 du top algorithmes dapprentissage automatique densemble dans Weka. Chaque algorithme qui sera couvert sera brièvement décrit en termes de son fonctionnement et les principaux paramètres de lalgorithme seront mis en évidence, ainsi que lalgorithme lui-même sera démontré dans linterface Weka Explorer.

Les 5 algorithmes qui nous allons examiner sont:

  1. Ensachage
  2. Random Forest
  3. AdaBoost
  4. Vote
  5. Empilement

Un problème de classification de machine learning standard sera utilisé pour démontrer chaque algorithme. Plus précisément, le problème de classification binaire de lionosphère. Cest un bon jeu de données pour démontrer les algorithmes de classification car les variables dentrée sont numériques et ont toutes la même échelle, le problème na que deux classes à discriminer.

Chaque instance décrit les propriétés des retours radar de latmosphère et du la tâche consiste à prédire sil existe ou non une structure dans lionosphère. Il existe 34 variables dentrée numériques généralement de la même échelle. Vous pouvez en savoir plus sur cet ensemble de données dans le référentiel UCI Machine Learning . Les meilleurs résultats sont de lordre de 98% de précision.

Démarrez lexplorateur Weka:

  1. Ouvrez le sélecteur dinterface graphique Weka.
  2. Cliquez sur «Explorer ”Pour ouvrir lexplorateur Weka.
  3. Chargez lensemble de données Ionosphere à partir du fichier data / ionosphere.arff
  4. Cliquez sur“ Classifier ”pour ouvrir longlet Classifier .

1. Bagging

Bootstrap Aggregation ou Bagging en abrégé est un algorithme densemble qui peut être utilisé pour la classification ou la régression. Bootstrap est une technique destimation statistique dans laquelle une quantité statistique telle quune moyenne est estimée à partir de plusieurs échantillons aléatoires de vos données (avec remplacement). Cest une technique utile lorsque vous avez une quantité limitée de données et que vous êtes intéressé par une estimation plus robuste dune quantité statistique.

Cet exemple de principe peut être utilisé avec des modèles dapprentissage automatique. Plusieurs échantillons aléatoires de vos données dentraînement sont tirés avec remplacement et utilisés pour entraîner plusieurs modèles dapprentissage automatique différents. Chaque modèle est ensuite utilisé pour faire une prédiction et les résultats sont moyennés pour donner une prédiction plus robuste.

Il est préférable de lutiliser avec des modèles qui ont un biais faible et une variance élevée, ce qui signifie que les prédictions quils font dépendent fortement des données spécifiques à partir desquelles ils ont été formés. Lalgorithme le plus utilisé pour le bagging qui répond à cette exigence de variance élevée sont les arbres de décision.

Choisissez lalgorithme de bagging:

  1. Cliquez sur le bouton « Choisir » et sélectionnez « Bagging » sous le groupe «méta».
  2. Cliquez sur le nom de lalgorithme pour revoir la configuration de lalgorithme.
Configuration Weka pour lalgorithme densachage

Un paramètre de configuration clé dans lensachage est le type de modèle ensaché . La valeur par défaut est REPTree qui est limplémentation Weka dun arbre de décision standard, également appelé arbre de classification et de régression ou CART. Ceci est spécifié dans le paramètre classifier.

La taille de chaque échantillon aléatoire est spécifiée dans le «bagSizePercent», qui est une taille en pourcentage de lensemble de données dentraînement brutes. La valeur par défaut est 100%, ce qui créera un nouvel échantillon aléatoire de la même taille que lensemble de données dentraînement, mais aura une composition différente.

Cest parce que léchantillon aléatoire est tiré avec remplacement, ce qui signifie quà chaque fois une instance est tirée au hasard de lensemble de données dentraînement et ajoutée à léchantillon, elle est également rajoutée dans lensemble de données dentraînement, ce qui signifie quelle peut être choisie à nouveau et ajoutée deux fois ou plus à léchantillon.

Enfin, le nombre de sacs (et le nombre de classificateurs) peut être spécifié dans le paramètre «numIterations». La valeur par défaut est 10, bien quil soit courant dutiliser des valeurs de centaines ou de milliers. Continuez à augmenter la valeur de « numIterations » jusquà ce que vous ne voyiez plus damélioration dans le modèle ou que vous manquiez de mémoire.

  1. Cliquez sur « OK » pour fermer la configuration de lalgorithme.
  2. Cliquez sur le bouton « Démarrer » pour exécuter lalgorithme sur lensemble de données Ionosphère.

Vous pouvez voir quavec la configuration par défaut, lensachage atteint une précision de 91%:

Résultats de classification Weka pour lalgorithme densachage

2.Random Forest

Random Forest est une extension du bagging pour les arbres de décision qui peut être utilisée pour la classification ou la régression. Un inconvénient des arbres de décision ensachés est que les arbres de décision sont construits à laide dun algorithme glouton qui sélectionne le meilleur point de partage à chaque étape du processus de construction de larbre. En tant que tels, les arbres résultants finissent par être très similaires, ce qui réduit la variance des prédictions de tous les sacs, ce qui nuit à la robustesse des prédictions faites.

Random Forest est une amélioration des arbres de décision en sac perturbe lalgorithme de fractionnement gourmand lors de la création de larborescence de sorte que les points de partage ne peuvent être sélectionnés quà partir dun sous-ensemble aléatoire des attributs dentrée. Ce simple changement peut avoir un effet important en diminuant la similitude entre les arbres ensachés et à son tour les prédictions résultantes.

Choisissez lalgorithme de forêt aléatoire:

  1. Cliquez sur le bouton « Choisir » et sélectionnez « RandomForest » sous le groupe « arbres ».
  2. Cliquez sur le nom de lalgorithme pour revoir la configuration de lalgorithme.
Configuration Weka pour lalgorithme de forêt aléatoire

En plus des paramètres répertoriés ci-dessus pour lensachage, un paramètre clé pour la forêt aléatoire est le nombre dattributs à prendre en compte dans chaque point de partage. Dans Weka, cela peut être contrôlé par lattribut «numFeatures», qui par défaut est défini sur 0, qui sélectionne la valeur automatiquement en fonction dune règle empirique.

  1. Cliquez sur «OK» pour fermer le configuration de lalgorithme.
  2. Cliquez sur le bouton « Démarrer » pour exécuter lalgorithme sur lensemble de données Ionosphère.

Vous pouvez voir quavec la configuration par défaut, les forêts aléatoires atteignent une précision sur 92%:

Résultats de classification Weka pour lalgorithme de forêt aléatoire

3. AdaBoost

AdaBoost est un algorithme dapprentissage automatique densemble pour les problèmes de classification. Il fait partie dun groupe de méthodes densemble appelées boosting, qui ajoutent de nouveaux modèles dapprentissage automatique dans une série où les modèles suivants tentent de corriger les erreurs de prédiction commises par les modèles précédents. AdaBoost a été la première implémentation réussie de ce type de modèle.

Adaboost a été conçu pour utiliser des modèles darbres de décision courts, chacun avec un point de décision unique. Ces arbres courts sont souvent appelés souches de décision.

Le premier modèle est construit comme dhabitude. Chaque instance de lensemble de données dentraînement est pondérée et les pondérations sont mises à jour en fonction de la précision globale du modèle et du fait quune instance a été classée correctement ou non. Les modèles suivants sont formés et ajoutés jusquà ce quune précision minimale soit atteinte ou quaucune amélioration supplémentaire ne soit possible. Chaque modèle est pondéré en fonction de ses compétences et ces pondérations sont utilisées lors de la combinaison des prédictions de tous les modèles sur de nouvelles données.

Choisissez lalgorithme AdaBoost:

  1. Cliquez sur licône Cliquez sur le bouton « Choisir » et sélectionnez « AdaBoostM1 » dans le groupe « méta ».
  2. Cliquez sur le nom de lalgorithme pour revoir la configuration de lalgorithme.
Configuration Weka pour lalgorithme AdaBoost

Lapprenant faible le modèle AdaBoost peut être spécifié par le paramètre classifier. La valeur par défaut est lalgorithme de souche de décision, mais dautres algorithmes peuvent être utilisés. un paramètre clé en plus de lapprenant faible est le nombre de modèles à créer et à ajouter en série. Cela peut être spécifié dans le paramètre « numIterations » et sa valeur par défaut est 10.

  1. Cliquez sur « OK » pour fermer la configuration de lalgorithme.
  2. Cliquez sur le bouton « Démarrer » pour exécuter lalgorithme sur le jeu de données Ionosphère.

Vous pouvez voir quavec la configuration par défaut, AdaBoost atteint une précision de 90%:

Résultats de classification Weka pour lalgorithme AdaBoost

4. Vote

Le vote est peut-être lalgorithme densemble le plus simple, et il est souvent très efficace. Il peut être utilisé pour des problèmes de classification ou de régression. Le vote fonctionne en créant deux ou plusieurs sous-modèles. Chaque sous-modèle fait des prédictions qui sont combinées dune manière ou dune autre, par exemple en prenant la moyenne ou le mode des prédictions, permettant à chaque sous-modèle de voter sur ce que devrait être le résultat.

Choisissez le vote algorithme:

  1. Cliquez sur le bouton «Choisir» et sélectionnez «Vote» dans le groupe «méta».
  2. Cliquez sur le nom de lalgorithme pour revoir la configuration de lalgorithme.
Configuration Weka pour lalgorithme densemble de vote

Le paramètre clé dun ensemble Vote est la sélection de sous-modèles. Les modèles peuvent être spécifiés dans Weka dans le paramètre «classifiers».Cliquez sur ce paramètre pour ajouter un certain nombre de classificateurs:

Sélection de lalgorithme Weka pour lalgorithme densemble de vote

Cliquer sur le bouton « Modifier » avec un classificateur sélectionné vous permet de configurer les détails de ce classificateur. Un objectif de la sélection des sous-modèles est de sélectionner des modèles qui font des prédictions assez différentes (prédictions non corrélées). En tant que tel, il est judicieux de sélectionner des types de modèles très différents, tels que des arbres, des méthodes basées sur des instances, des fonctions, etc.

Un autre paramètre clé à configurer pour le vote est la manière dont les prédictions du les sous-modèles sont combinés. Ceci est contrôlé par le paramètre «combinationRule» qui est défini pour prendre la moyenne des probabilités par défaut.

  1. Cliquez sur «OK» pour fermer la configuration de lalgorithme.
  2. Cliquez sur le bouton «Démarrer» pour exécuter lalgorithme sur lensemble de données Ionosphère.

Vous pouvez voir quavec la configuration par défaut, Vote atteint une précision de 64%. De toute évidence, cette technique a donné de mauvais résultats car seul le sous-modèle ZeroR a été sélectionné.

5. Empilement

La généralisation empilée ou lempilement pour faire court est une simple extension des ensembles de vote qui peuvent être utilisés pour les problèmes de classification et de régression.

En plus de sélectionner plusieurs sous-modèles, lempilement vous permet pour spécifier un autre modèle pour savoir comment combiner au mieux les prédictions des sous-modèles. Comme un méta-modèle est utilisé pour combiner au mieux les prédictions des sous-modèles, cette technique est parfois appelée mélange, comme pour mélanger les prédictions.

Choisissez lalgorithme dempilement:

  1. Cliquez sur le bouton « Choisir » et sélectionnez « Empilement » dans le groupe « méta ».
  2. Cliquez sur le nom de lalgorithme pour revoir la configuration de lalgorithme.
Configuration Weka pour lalgorithme dempilage densemble

Comme pour le classificateur Vote, vous pouvez spécifier les sous-modèles dans le paramètre classifiers. Le modèle qui sera formé pour apprendre à combiner au mieux les prédictions du sous-modèle peut être spécifié dans le paramètre «metaClassifier», qui est défini sur ZeroR par défaut. Il est courant dutiliser un algorithme linéaire comme la régression linéaire ou la régression logistique pour les problèmes de type régression et classification respectivement. Ceci permet dobtenir une sortie qui est une simple combinaison linéaire des prédictions des sous-modèles.

  1. Cliquez sur «OK» pour fermer la configuration de lalgorithme.
  2. Cliquez sur licône Bouton « Démarrer » pour exécuter lalgorithme sur lensemble de données Ionosphère.

Vous pouvez voir quavec la configuration par défaut, Stacking atteint une précision de 64%:

Résultats de classification Weka pour lalgorithme dEnsemble dempilage

Encore , comme pour le vote, Stacking a obtenu de mauvais résultats car seul le sous-modèle ZeroR a été sélectionné.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *