Arbre de décision Weka | Créer un arbre de décision avec Weka

Partager sur Facebook
Partager sur Twitter
Partager sur lié
Partager sur télégramme
Partager sur WhatsApp

Contenu

  • Apprenez à construire un modèle d'arbre de décision avec Weka
  • Ce tutoriel est parfait pour les débutants en apprentissage automatique et en arbres de décision, et pour ceux qui ne sont pas à l'aise avec le codage.

introduction

“Plus l'obstacle est grand, plus de gloire est obtenue en le surmontant”.

– Molière

L'apprentissage automatique peut être intimidant pour les non-techniciens. Tous les travaux d'apprentissage automatique semblent nécessiter une bonne compréhension de Python (le R).

Ensuite, Comment les non-programmeurs acquièrent-ils une expérience de codage? Ce n'est pas un jeu d'enfant!

interprétable_machine_learning-7519646

Ce sont les bonnes nouvelles: il existe de nombreux outils qui nous permettent d'effectuer des tâches d'apprentissage automatique sans avoir à coder. Vous pouvez facilement créer des algorithmes sous forme d'arbres de décision à partir de zéro dans une belle interface graphique. N'est-ce pas le rêve? Ces outils, como mettre, ils nous aident principalement à gérer deux choses:

  • Construire rapidement un modèle d'apprentissage automatique, comme arbre de décision, et comprendre comment l'algorithme fonctionne. Ceci peut être modifié ultérieurement et basé sur
  • C'est idéal pour montrer au client / votre équipe de direction avec quoi vous travaillez

Cet article vous montrera comment résoudre les problèmes de classification et de régression à l'aide d'arbres de décision dans Weka sans aucune connaissance préalable en programmation !!

Mais si vous êtes passionné par le fait de vous salir les mains avec la programmation et l'apprentissage automatique, Je vous suggère de suivre les cours suivants merveilleusement sélectionnés:

Table des matières

  • Classification vs régression dans l'apprentissage automatique
  • Comprendre les arbres de décision
  • Explorer l'ensemble de données dans Weka
  • Classification à l'aide de l'arbre de décision dans Weka
  • Paramètres de l'arbre de décision dans Weka
  • Affichage d'un arbre de décision dans Weka
  • Régression à l'aide de l'arbre de décision dans Weka

Classification vs régression dans l'apprentissage automatique

Permettez-moi d'abord de résumer rapidement ce que sont la classification et la régression dans le contexte de apprentissage automatique. Il est important de connaître ces concepts avant de plonger dans les arbres de décision.

UNE classification problème il s'agit d'enseigner à votre modèle d'apprentissage automatique comment catégoriser une valeur de données dans l'une des nombreuses classes. Il le fait en apprenant les caractéristiques de chaque type de classe. Par exemple, pour prédire si une image est celle d'un chat ou d'un chien, le modèle apprend les caractéristiques du chien et du chat dans les données d'entraînement.

UNE régression problème il s'agit d'enseigner à votre modèle d'apprentissage automatique comment prédire la valeur future d'une quantité continue. Il le fait en apprenant le modèle de la quantité dans le passé affectée par différentes variables.. Par exemple, un modèle qui tente de prédire le prix futur des actions d'une entreprise est un problème de régression.

Vous pouvez trouver ces deux problèmes en abondance dans notre Plateforme DataHack.

À présent, découvrons un algorithme qui résout les deux problèmes: Arbres de décision!

Comprendre les arbres de décision

Arbres de décision ils sont également connus sous le nom Arbres de classification et de régression (CHARIOT). Ils travaillent en apprenant des réponses à une hiérarchie de questions si / sinon cela conduit à une décision. Ces questions forment une structure arborescente, et d'où le nom.

Par exemple, disons que nous voulons prédire si une personne va commander de la nourriture ou non. Nous pouvons visualiser l'arbre de décision suivant pour ce:

arbre-de-décision-9507729

Chaque nœud de l'arbre représente une question dérivée des caractéristiques présentes dans votre ensemble de données.. Votre ensemble de données est divisé en fonction de ces questions jusqu'à ce que la profondeur maximale de l'arbre soit atteinte.. Le dernier nœud ne pose pas de question, il représente à quelle classe appartient la valeur.

  • Le nœud supérieur de l'arbre de décision est appelé Rnodo oot
  • Le nœud le plus bas est appelé Leaf nœud
  • Un nœud divisé en sous-nœuds est appelé Nœud parent. Les sous-noeuds sont appelés Nœuds secondaires

Si vous voulez comprendre les arbres de décision en détail, Je vous suggère de consulter les ressources suivantes:

Qu'est-ce que la Weka? Pourquoi devriez-vous utiliser Weka pour l'apprentissage automatique?

“Mettre est un logiciel open source gratuit avec une gamme d'algorithmes d'apprentissage automatique intégrés auxquels vous pouvez accéder via une interface utilisateur graphique. “

WEKA Cela représente Environnement Waikato pour l'analyse des connaissances et a été développé à l'Université de Waikato, Nouvelle Zélande.

Weka dispose de plusieurs fonctions intégrées pour implémenter une large gamme d'algorithmes d'apprentissage automatique, de la régression linéaire au réseau de neurones. Cela vous permet d'implémenter les algorithmes les plus complexes dans votre ensemble de données en un clic !! Pas seulement ceci, Weka prend en charge l'accès à certains des algorithmes de bibliothèque d'apprentissage automatique Python et R les plus courants!

Avec Weka, vous pouvez prétraiter les données, les classer, les regrouper et même les visualiser. Cela peut être fait dans différents formats de fichiers de données comme ARFF, CSV, C4.5 et JSON. Weka vous permet même d'ajouter des filtres à votre ensemble de données grâce auxquels vous pouvez normaliser vos données., les standardiser, permuter les fonctions entre les valeurs nominales et numériques, beaucoup plus!

Je pourrais continuer sur la merveille qu'est Weka, mais pour la portée de cet article, essayons d'explorer Weka de manière pratique en créant un arbre de décision. Maintenant, allez-y et téléchargez Weka depuis votre site officiel!

weka-logo-3580378

Explorer l'ensemble de données dans Weka

Je vais prendre l'ensemble de données sur le cancer du sein de Référentiel d'apprentissage automatique de l'UCI. Je vous recommande de lire le problème avant d'aller plus loin..

dt1-9517445

Commençons par charger l'ensemble de données dans Weka. Pour faire ça, suivez les étapes ci-dessous:

  1. Ouvrez l'interface graphique Weka
  2. Sélectionnez le “Explorateur” option.
  3. Veuillez sélectionner “Ouvrir le document” et choisissez votre jeu de données.

Votre fenêtre Weka devrait maintenant ressembler à ceci:

classement_1-1266739

Vous pouvez voir toutes les fonctions de votre ensemble de données sur le côté gauche. Weka crée automatiquement des graphiques pour ses fonctionnalités que vous remarquerez en parcourant ses fonctionnalités.

Vous pouvez même voir toutes les parcelles ensemble si vous cliquez sur le “Voir tout” bouton.

classification_2-6224045

Entraînons maintenant notre modèle de classification!

Classification à l'aide Arbre de décision dans Weka

L'implémentation d'un arbre de décision dans Weka est assez simple. Complétez simplement les étapes suivantes:

  1. Clique sur le “Trier” onglet en haut
  2. Clique sur le “Choisir” bouton
  3. Dans la liste déroulante, sélectionner “des arbres” qui ouvrira tous les algorithmes de l'arbre
  4. Finalement, sélectionner les “RepTree” arbre de décision

”Erreur d'élagage réduite (RepTree) est un apprenant d'arbre de décision rapide qui construit un arbre de décision / régression à l'aide obtenir des informations comme critère de division et élagué à l'aide d'un algorithme d'élagage à erreur réduite “.

Vous pouvez en savoir plus sur la technique d'élagage réduit des bogues dans ce travail de recherche.

dt4-3180037

“L'arbre de décision divise les nœuds en toutes les variables disponibles, puis sélectionne la division qui donne les sous-nœuds les plus homogènes”.

Le gain d'information est utilisé pour calculer l'homogénéité de l'échantillon dans une division.

Vous pouvez sélectionner votre rôle cible dans le menu déroulant juste au-dessus du “Début” bouton. Si vous ne le faites pas, WEKA sélectionne automatiquement la dernière fonction comme cible pour vous.

Les “Division en pourcentage” spécifie la quantité de données que vous souhaitez conserver pour entraîner le classificateur. Le reste des données est utilisé pendant la phase de test pour calculer la précision du modèle..

Avec “Pliage de validation croisée” peut créer plusieurs échantillons (ou des plis) à partir de l'ensemble de données d'entraînement. Si vous décidez de créer N plis, le modèle est exécuté de manière itérative N fois. Et à chaque fois qu'un des plis est retenu pour validation, tandis que les plis N-1 restants sont utilisés pour entraîner le modèle. Le résultat de tous les plis est moyenné pour obtenir le résultat de la validation croisée.

Plus le nombre de plis de validation croisée que vous utilisez est grand, meilleur sera votre modèle. Cela entraîne l'entraînement du modèle sur des données sélectionnées au hasard., ce qui le rend plus robuste.

Finalement, appuie sur le “Début” Bouton pour que le classificateur fasse sa magie !!

classification_3-3413977

Notre classificateur a une précision de 92,4%. Weka imprime même le Matrice de confusion pour toi, ce qui offre différentes métriques. Vous pouvez étudier en détail la matrice de confusion et d'autres métriques ici.

Paramètres de l'arbre de décision dans Weka

Les arbres de décision ont de nombreux paramètres. Nous pouvons les ajuster pour améliorer les performances globales de notre modèle. C'est là que la connaissance pratique des arbres de décision joue vraiment un rôle crucial..

Vous pouvez accéder à ces paramètres en cliquant sur votre algorithme d'arbre de décision en haut:

classification_4-7543783

Parlons brièvement des principaux paramètres:

  • Profondeur maximale En tant que– Déterminez la profondeur maximale de votre arbre de décision. Par défaut, il est -1, ce qui signifie que l'algorithme contrôlera automatiquement la profondeur. Mais vous pouvez modifier manuellement cette valeur pour obtenir les meilleurs résultats sur vos données.
  • ne pouvait pas – L'élagage signifie réduire automatiquement un nœud feuille qui ne contient pas beaucoup d'informations. Cela rend l'arbre de décision simple et facile à interpréter..
  • numFolds – Le nombre spécifié de plis de données sera utilisé pour élaguer l'arbre de décision. Le reste servira à développer les règles.
  • minNum – Nombre minimum d'instances par feuille. Si non mentionné, l'arbre continuera à se diviser jusqu'à ce que tous les nœuds feuilles n'aient qu'une seule classe associée.

Vous pouvez toujours expérimenter avec différentes valeurs pour ces paramètres afin d'obtenir la meilleure précision dans votre ensemble de données..

Affichage de votre arbre de décision dans Weka

Weka vous permet même de visualiser facilement l'arbre de décision construit sur votre jeu de données.:

  1. Allez au “Liste des résultats” section et faites un clic droit sur votre algorithme entraîné
  2. Choisir la “Voir l'arbre” option

classification_7-6047348

Votre arbre de décision ressemblera à ci-dessous:

classification_6-4660370

Interpréter ces valeurs peut être un peu intimidant, mais c'est en fait assez facile une fois qu'on a compris.

  • Les valeurs des lignes qui joignent les nœuds représentent les critères de division basés sur les valeurs de la fonction de nœud principal.
  • Dans le nœud feuille:
    • La valeur avant les parenthèses indique la valeur de rang.
    • La première valeur dans les premières parenthèses est le nombre total d'instances de l'ensemble d'apprentissage sur cette feuille. La deuxième valeur est le nombre d'instances mal classées sur cette feuille.
    • La première valeur dans la deuxième parenthèse est le nombre total d'instances de l'élagage défini sur cette feuille. La deuxième valeur est le nombre d'instances mal classées sur cette feuille.

Régression à l'aide de l'arbre de décision dans Weka

Comme j'ai dit avant, les arbres de décision sont si polyvalents qu'ils peuvent fonctionner à la fois dans des problèmes de classification et de régression. Pour ca, je vais utiliser le “Prédire le nombre de votes en faveur“Problème de Plateforme DataHack de DataPeaker.

Ici, nous devons prédire l'évaluation d'une question posée par un utilisateur sur une plateforme de questions-réponses.

Comme d'habitude, nous allons commencer par charger le fichier de données. Mais cette fois-ci, les données contiennent également un “identifiant” colonne pour chaque utilisateur dans l'ensemble de données. Cela ne serait pas utile dans la prédiction. Ensuite, nous supprimerons cette colonne en sélectionnant le “Supprimer” option sous les noms de colonnes:

dt9-6919311

Nous pouvons faire des prédictions sur l'ensemble de données comme nous l'avons fait pour le Problème de cancer du sein. RepTree détectera automatiquement le problème de régression:

dt10-7672339

La métrique d'évaluation fournie dans le hackathon est le score RMSE. Nous pouvons voir que le modèle a un très faible RMSE sans aucune ingénierie de fonctionnalité. C'est là qu'il entre en jeu: avant, expérimenter et améliorer le modèle final!

Remarques finales

Et donc, Vous avez créé un modèle d'arbre de décision sans avoir à faire de programmation! Cela vous sera d'une grande aide dans votre quête pour maîtriser le fonctionnement des modèles d'apprentissage automatique..

Si vous voulez apprendre et explorer la partie programmation de l'apprentissage automatique, Je vous propose de suivre ces cours merveilleusement sélectionnés sur le Vidhya Analytics site Web:

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.