weka dataset classifier
Ce didacticiel explique l'ensemble de données WEKA, le classificateur et l'algorithme J48 pour l'arbre de décision. Fournit également des informations sur des exemples de jeux de données ARFF pour Weka:
dans le Tutoriel précédent , nous avons découvert l'outil Weka Machine Learning, ses fonctionnalités et comment télécharger, installer et utiliser le logiciel Weka Machine Learning.
WEKA est une bibliothèque d'algorithmes d'apprentissage automatique pour résoudre des problèmes d'exploration de données sur des données réelles. WEKA fournit également un environnement pour développer de nombreux algorithmes d'apprentissage automatique. Il dispose d'un ensemble d'outils pour effectuer diverses tâches d'exploration de données telles que la classification des données, le regroupement de données, la régression, la sélection d'attributs, l'exploration fréquente d'ensembles d'éléments, etc.
Toutes ces tâches peuvent être effectuées sur le fichier sample.ARFF disponible dans le référentiel WEKA ou les utilisateurs peuvent préparer leurs fichiers de données. Les exemples de fichiers .arff sont des ensembles de données contenant des données historiques intégrées collectées par les chercheurs.
=> Lisez la série complète de formations sur l'apprentissage automatique
Dans ce didacticiel, nous verrons quelques exemples d'ensembles de données dans WEKA et effectuerons également une exploration de données d'algorithme d'arbre de décision à l'aide de l'ensemble de données weather.arff.
Ce que vous apprendrez:
- Explorer les ensembles de données WEKA
- Algorithmes de classification d'arbre de décision Weka
- Conclusion
Explorer les ensembles de données WEKA
L'outil d'apprentissage automatique WEKA fournit un répertoire de quelques exemples de jeux de données. Ces ensembles de données peuvent être directement chargés dans WEKA pour que les utilisateurs commencent immédiatement à développer des modèles.
Les ensembles de données WEKA peuvent être explorés à partir du lien «C: Program Files Weka-3-8 data». Les ensembles de données sont au format .arff.
Exemples d'ensembles de données WEKA
Certains exemples de jeux de données présents dans WEKA sont répertoriés dans le tableau ci-dessous:
S.No. | Exemples d'ensembles de données |
---|---|
7. | diabète.arff |
1. | compagnie aérienne.arff |
2. | cancer du sein.arff |
3. | lentille de contact.arff |
Quatre. | cpu.arff |
5. | cpu.with-vendor.arff |
6. | credit-g.arff |
8. | verre.arff |
9. | hypothyroid.arff |
dix. | ionospehre.arff |
Onze. | iris.2D.arff |
12. | iris.arff |
13. | labour.arff |
14. | ReutersCorn-train.arff |
quinze. | ReutersCorn-test.arff |
16. | ReutersGrain-train.arff |
17. | ReutersGrain-test.arff |
18. | segment-challenge.arff |
19. | segment-test.arff |
vingt. | soybean.arff |
vingt-et-un. | supermarket.arff |
22. | déséquilibré.arff |
2. 3. | vote.arff |
24. | weather.numeric.arff |
25. | weather.nominal.arff |
Jetons un coup d'œil à certains de ces éléments:
lentille de contact.arff
Le jeu de données contact-lens.arff est une base de données pour l'ajustement des lentilles de contact. Il a été donné par le donateur, Benoit Julien en 1990.
Base de données: Cette base de données est complète. Les exemples utilisés dans cette base de données sont complets et sans bruit. La base de données a 24 instances et 4 attributs.
Les attributs: Les quatre attributs sont nominaux. Il n'y a aucune valeur d'attribut manquante. Les quatre attributs sont les suivants:
#1) Âge du patient: l'attribut age peut prendre des valeurs:
- Jeune
- pré-presbyte
- presbyte
#deux) Prescription de lunettes: cet attribut peut prendre des valeurs:
- myope
- hypermétrope
# 3) Astigmatique: cet attribut peut prendre des valeurs
- non
- Oui
# 4) Taux de production de larmes: les valeurs peuvent être
- réduit
- Ordinaire
Classe: trois étiquettes de classe sont définies ici. Ceux-ci sont:
- le patient doit porter des lentilles de contact rigides.
- le patient doit porter des lentilles de contact souples.
- le patient ne doit pas porter de lentilles de contact.
Distribution de classe: les instances classées en étiquettes de classe sont répertoriées ci-dessous:
Étiquette de classe | Nb d'instances | |
---|---|---|
1. | Lentilles de contact rigides | 4 |
2. | Lentilles de contact souples | 5 |
3. | Pas de lentilles de contact | quinze |
iris.arff
L'ensemble de données iris.arff a été créé en 1988 par Michael Marshall. Il s'agit de la base de données Iris Plants.
comment utiliser l'extension github pour visual studio
Base de données: Cette base de données est utilisée pour la reconnaissance de formes. L'ensemble de données contient 3 classes de 50 instances. Chaque classe représente un type de plante iris. Une classe est linéairement séparable des 2 autres mais ces dernières ne sont pas linéairement séparables l'une de l'autre. Il prédit à quelle espèce des 3 fleurs d'iris l'observation appartient. C'est ce qu'on appelle un jeu de données de classification multi-classes.
Les attributs: Il a 4 attributs numériques prédictifs et la classe. Il n'y a aucun attribut manquant.
Les attributs sont:
- longueur sépale en cm
- largeur sépale en cm
- longueur des pétales en cm
- largeur des pétales en cm
- classer:
- Iris Setosa
- Iris Versicolor
- Iris Virginica
Statistiques récapitulatives:
Min | Max | Moyenne | Dakota du Sud | Corrélation de classe | |
---|---|---|---|---|---|
longueur sépale | 4.3 | 7,9 | 5,84 | 0,83 | 0,7826 |
largeur sépale | 2.0 | 4.4 | 3,05 | 0,43 | -0,4194 |
longueur des pétales | 1.0 | 6,9 | 3,76 | 1,76 | 0,9490 (élevé!) |
largeur des pétales | 0,1 | 2,5 | 1,20 | 0,76 | 0,9565 (élevé!) |
Répartition des classes: 33,3% pour chacune des 3 classes
Quelques autres ensembles de données:
diabète.arff
La base de données de cet ensemble de données est Pima Indians Diabetes. Cet ensemble de données prédit si le patient est susceptible d'être diabétique au cours des 5 prochaines années. Les patients de cet ensemble de données sont tous des femmes âgées d'au moins 21 ans de Pima Indian Heritage. Il a 768 instances et 8 attributs numériques plus une classe. Il s'agit d'un ensemble de données de classification binaire où la variable de sortie prédite est nominale et comprend deux classes.
ionosphère.arff
Il s'agit d'un ensemble de données populaire pour la classification binaire. L'instance de cet ensemble de données décrit les propriétés des retours radar de l'atmosphère. Il est utilisé pour prédire où l'ionosphère a une structure ou non. Il a 34 attributs numériques et une classe.
L'attribut de classe est «bon» ou «mauvais», ce qui est prédit sur la base de 34 observations d'attributs. Les signaux reçus sont traités par la fonction d'autocorrélation en prenant l'impulsion de temps et le nombre d'impulsions comme arguments.
Ensembles de données de régression
Les jeux de données de régression peuvent être téléchargés à partir de la page Web WEKA ' Collections d'ensembles de données ». Il a 37 problèmes de régression obtenus à partir de différentes sources. Le fichier téléchargé créera un répertoire numérique / avec des ensembles de données de régression au format .arff.
Les jeux de données populaires présents dans l'annuaire sont: Ensemble de données économiques Longley (longley.arff), ensemble de données sur les prix des logements à Boston (Housing.arff) et ensemble de données sur le sommeil chez les mammifères (sleep.arff).
Voyons maintenant comment identifier les attributs réels et nominaux dans le jeu de données à l'aide de l'explorateur WEKA.
Quels sont les attributs réels et nominaux
Les attributs à valeur réelle sont des attributs numériques contenant uniquement des valeurs réelles. Ce sont des quantités mesurables. Ces attributs peuvent être mis à l'échelle par intervalles tels que la température ou un rapport mis à l'échelle comme la moyenne, la médiane.
Les attributs nominaux représentent des noms ou une représentation des choses. Il n'y a pas d'ordre dans ces attributs et ils représentent une catégorie. Par exemple, Couleur.
Suivez les étapes décrites ci-dessous pour utiliser WEKA pour identifier les valeurs réelles et les attributs nominaux dans l'ensemble de données.
#1) Ouvrez WEKA et sélectionnez «Explorer» sous «Applications».
#deux) Sélectionnez l'onglet «Pre-Process». Cliquez sur «Ouvrir le fichier». Avec l'utilisateur WEKA, vous pouvez accéder aux fichiers d'exemple WEKA.
# 3) Sélectionnez le fichier d'entrée dans le dossier WEKA3.8 stocké sur le système local. Sélectionnez le fichier prédéfini .arff «credit-g.arff» et cliquez sur «Ouvrir».
# 4) Une liste d'attributs s'ouvrira sur le panneau de gauche. Les statistiques d'attributs sélectionnés seront affichées dans le panneau de droite avec l'histogramme.
Analyse de l'ensemble de données:
Dans le panneau de gauche, la relation actuelle montre:
- Nom de la relation: german_credit est le fichier d'exemple.
- Les instances: 1000 nombre de lignes de données dans l'ensemble de données.
- Les attributs: 21 attributs dans l'ensemble de données.
Le panneau sous la relation actuelle montre le nom des attributs.
Dans le panneau de droite, les statistiques d'attribut sélectionné sont affichées. Sélectionnez le attribut «état_contrôle».
Ça montre:
- Nom de l'attribut
- Disparu: Toutes les valeurs manquantes de l'attribut dans l'ensemble de données. 0% dans ce cas.
- Distinct: L'attribut a 4 valeurs distinctes.
- Taper: L'attribut est de type nominal, c'est-à-dire qu'il ne prend aucune valeur numérique.
- Compter: Parmi les 1000 instances, le nombre de chaque étiquette de classe distincte est écrit dans la colonne count.
- Histogramme: Il affichera l'étiquette de classe de sortie pour l'attribut. L'étiquette de classe dans cet ensemble de données est bonne ou mauvaise. Il existe 700 instances de bon (marquées en bleu) et 300 instances de mauvais (marquées en rouge).
- Pour le label<0, the instances for good or bad are almost the same in number.
- Pour l'étiquette, 0<= X<200, the instances with decision good are more than instances with bad.
- De même, pour label> = 200, les instances max se produisent pour de bon et aucune étiquette de contrôle n'a plus d'instances avec une décision bonne.
Pour l'attribut suivant «durée».
Le panneau de droite montre:
- Nom: C'est le nom de l'attribut.
- Taper: Le type d'attribut est numérique.
- Valeur manquante: L'attribut n'a aucune valeur manquante.
- Distinct: Il a 33 valeurs distinctes dans 1000 instances. Cela signifie que dans 1000 cas, il a 33 valeurs distinctes.
- Unique: Il a 5 valeurs uniques qui ne correspondent pas les unes aux autres.
- Valeur minimum: La valeur minimale de l'attribut est 4.
- Valeur maximum: La valeur maximale de l'attribut est 72.
- Moyenne: La moyenne ajoute toutes les valeurs divisées par des instances.
- Écart-type: Écart type de la durée de l'attribut.
- Histogramme: L'histogramme représente la durée de 4 unités, les instances max se produisent pour une bonne classe. À mesure que la durée passe à 38 unités, le nombre d'instances diminue pour les bonnes étiquettes de classe. La durée atteint 72 unités qui n'ont qu'une seule instance qui classe la décision comme mauvaise.
La classe est la caractéristique de classification du type nominal. Il a deux valeurs distinctes: bon et mauvais. Le bon libellé de classe a 700 instances et le mauvais libellé de classe 300 instances.
Pour visualiser tous les attributs du jeu de données, cliquez sur «Tout visualiser».
# 5) Pour connaître uniquement les attributs numériques, cliquez sur le bouton Filtrer. De là, cliquez sur Choisissez -> WEKA> FILTRES -> Type non supervisé -> Supprimer le type.
Les filtres WEKA ont de nombreuses fonctionnalités pour transformer les valeurs d'attribut de l'ensemble de données afin de le rendre adapté aux algorithmes. Par exemple, la transformation numérique des attributs.
Le filtrage des attributs nominaux et réels de l'ensemble de données est un autre exemple d'utilisation des filtres WEKA.
# 6) Cliquez sur RemoveType dans l'onglet de filtre. Une fenêtre d'éditeur d'objets s'ouvrira. Sélectionnez le type d'attribut «Supprimer les attributs numériques» et cliquez sur OK.
# 7) Appliquez le filtre. Seuls les attributs numériques seront affichés.
L'attribut class est du type nominal. Il classe la sortie et ne peut donc pas être supprimé. Ainsi, il est vu avec l'attribut numérique.
Production:
Les attributs de valeurs réelles et nominales de l'ensemble de données sont identifiés. La visualisation avec l'étiquette de classe est vue sous forme d'histogrammes.
Algorithmes de classification d'arbre de décision Weka
Maintenant, nous allons voir comment implémenter la classification d'arbre de décision sur l'ensemble de données weather.nominal.arff à l'aide du classificateur J48.
weather.nominal.arff
Il s'agit d'un exemple de jeu de données présent dans le direct de WEKA. Cet ensemble de données prédit si le temps est propice pour jouer au cricket. L'ensemble de données a 5 attributs et 14 instances. Le libellé de classe «play» classe la sortie comme «oui» ou «non».
Qu'est-ce que l'arbre de décision
L'arbre de décision est la technique de classification qui se compose de trois composants: nœud racine, branche (bord ou lien) et nœud feuille. La racine représente la condition de test pour différents attributs, la branche représente tous les résultats possibles qui peuvent être présents dans le test et les nœuds feuilles contiennent le libellé de la classe à laquelle il appartient. Le nœud racine est au début de l'arbre qui est également appelé le haut de l'arbre.
Classificateur J48
C'est un algorithme pour générer un arbre de décision qui est généré par C4.5 (une extension d'ID3). Il est également connu comme un classificateur statistique. Pour la classification de l'arbre de décision, nous avons besoin d'une base de données.
Les étapes comprennent:
#1) Ouvrez l'explorateur WEKA.
#deux) Sélectionnez le fichier weather.nominal.arff dans le menu 'Choose file' sous l'option de l'onglet Preprocess.
# 3) Allez dans l'onglet «Classifier» pour classer les données non classées. Cliquez sur le bouton «Choisir». À partir de là, sélectionnez «arbres -> J48». Jetons également un coup d'œil aux autres options du bouton Choisir:
- Bayes: Il s'agit d'une estimation de densité pour les attributs numériques.
- Méta: Il s'agit d'une régression linéaire à réponses multiples.
- Les fonctions: C'est une régression logistique.
- Fainéant: Il définit automatiquement l'entropie de fusion.
- Régner: C'est un apprenant aux règles.
- Des arbres: Trees classe les données.
# 4) Cliquez sur le bouton Démarrer. La sortie du classificateur sera visible sur le panneau de droite. Il affiche les informations d'exécution dans le panneau comme:
- Schème: L'algorithme de classification utilisé.
- Les instances: Nombre de lignes de données dans l'ensemble de données.
- Les attributs: L'ensemble de données a 5 attributs.
- Le nombre de feuilles et la taille de l'arbre décrivent l'arbre de décision.
- Temps de construction du modèle: Temps pour la sortie.
- Classification complète du J48 élagué avec les attributs et le nombre d'instances.
# 5) Pour visualiser l'arborescence, faites un clic droit sur le résultat et sélectionnez Visualiser l'arborescence.
Production :
La sortie se présente sous la forme d'un arbre de décision. L'attribut principal est «perspectives».
Si les perspectives sont ensoleillées, puis l'arbre analyse davantage l'humidité. Si le taux d'humidité est élevé, alors l'étiquette de classe play = «oui».
Si les perspectives sont couvertes, l'étiquette de la classe, le jeu est «oui». Le nombre d'instances qui obéissent à la classification est de 4.
Si les perspectives sont pluvieuses, une classification supplémentaire a lieu pour analyser l'attribut «venteux». Si venteux = vrai, le jeu = «non». Le nombre d'instances qui obéissent à la classification pour outlook = windy and windy = true est de 2.
Conclusion
WEKA propose une large gamme d'exemples de jeux de données pour appliquer des algorithmes d'apprentissage automatique. Les utilisateurs peuvent effectuer des tâches d'apprentissage automatique telles que la classification, la régression, la sélection d'attributs, l'association sur ces exemples de jeux de données, et peuvent également apprendre l'outil en les utilisant.
L'explorateur WEKA est utilisé pour exécuter plusieurs fonctions, à partir du prétraitement. Le prétraitement prend l'entrée sous forme de fichier .arff, traite l'entrée et donne une sortie qui peut être utilisée par d'autres programmes informatiques. Dans WEKA, la sortie du prétraitement donne les attributs présents dans le jeu de données qui peuvent être ensuite utilisés pour l'analyse statistique et la comparaison avec les étiquettes de classe.
WEKA propose également de nombreux algorithmes de classification pour l'arbre de décision. J48 est l'un des algorithmes de classification populaires qui génère un arbre de décision. À l'aide de l'onglet Classifier, l'utilisateur peut visualiser l'arbre de décision. Si l'arbre de décision est trop peuplé, l'élagage de l'arbre peut être appliqué à partir de l'onglet Prétraitement en supprimant les attributs qui ne sont pas requis et en relançant le processus de classification.
=> Visitez ici pour la série exclusive d'apprentissage automatique
lecture recommandée
- Tutoriel Weka - Comment télécharger, installer et utiliser l'outil Weka
- Comment rédiger des scénarios de test de logique métier complexes à l'aide de la technique de table de décision
- WEKA Explorer: visualisation, clustering, exploration de règles d'association
- Exemples d'algorithmes d'arbre de décision dans l'exploration de données
- Constructions de prise de décision en C ++
- Arborescence B et structure de données d'arbre B + en C ++
- Structure de données d'arbre binaire en C ++
- Arborescence AVL et structure de données de tas en C ++