Skip to content

ib4rz/DecisionTree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Mushroom Decision Tree

Pràctica de Haskell de Llenguatges de programació (edició tardor 2020).

Table of Contents

Description

Aquest programa permet construir un arbre de decisió (decision tree) per discernir si un bolet és comestible (edible) o verinós (poisonous). Tot això a partir de processar un conjunt de dades d'atributs de bolets agaricus-lepiota.data, obtingut d'aquesta font.

El programa consta de dos blocs:

  • Arbre de decisió

  • Classificació

Decision Tree

Un arbre de decisió es un model per clasificar les dades de forma eficaç. És desitjable crear l'arbre el més petit possible per representar una gran mostra de dades.

En aquesta pràctica està implementada l'algorisme d'arbres de decisió ID3 en Haskell. Es un dels més fàcils d'implementar i produeix resultats útils. Es tracte d'un algorisme que utilitza el concepte d'entropia de Shannon per dividir un conjunt de mostres per l'atribut que maximitza el guany d'informació. Aquest procés es repeteix recursivament fins que estem tractant amb mostres de la mateixa classifiació o quan ens quedem sense atributs.

Al executar el programa s'observarà l'arbre resultant espaiat per nivells. Per si fos necessari, a continuació trobem l'arbre resultant amb més claredat.

Classification

Després de que es mostri l'arbre de decisió resultant. Apareixerà un procés de classificació que funciona a partir d'un sistema de diàleg que va recorrent l'arbre i et donarà una predicció si el bolet és comestible (edible) o no (poisonous). Cal remarcar que l'arbre pot tenir valors null que vindria a dir que no hi ha cap bolet amb aquelles característiques.

Usage

Per executar el programa és tan fàcil com posar:

ghc dts.hs

i a continuació:

./dts

References

Author Info

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks