/AEGADT

Application and Evaluation of Genetic Algorithms on Decision Trees. A project for the course of Software Dependability at University of Salerno.

Primary LanguagePython


AEGADT: Application and Evaluation of Genetic Algorithms on Decision Trees

The project at the centre of this project aims to apply and evaluate the evolution of Decision Trees by means of a Genetic Algorithm. The objectives of the project emphasise the desire to compare the results of different runs of equivalent models, obtained through a batch methodology, to the chosen Genetic Algorithm. Identifying the rate of improvement of decision trees and the number of generations required to obtain the maximum number of correct predictions is an interesting step that this project aims to achieve. It is also important to make observations on the application of the two techniques, considering various factors on the results obtained in the various runs.

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contacts
  4. Acknowledgments

About The Project

The focus of this project is on the application and evaluation of Genetic Algorithms on Decision Trees.

In order to achieve this goal, we propose:

  1. The implementation of a Genetic Algorithm capable of operating on decision trees;
  2. The application of the Genetic Algorithm using different configurations;
  3. The construction of Decision Trees by means of batch learning techniques based on the same configurations;
  4. The comparison of the results obtained between equivalent models.

In this project we propose to evaluate the functioning of a Genetic Algorithm in training populations of Decision Trees in order to analyse the results obtained by having one Decision Tree constructed using a classical training technique called CART (Classification And Regression Trees). In this regard, it becomes interesting to empirically identify the rate of improvement of Decision Trees and the number of generations required to reach the highest number of correct predictions made. In order to assess the impact of the data on the construction of Decision Trees, it is proposed to repeat the experiment on two Datasets.

For more details explore the documentation here.

(back to top)

Requirements

  • Numpy (recommended version 1.21.5 )
  • Matplotlib (recommended version 3.5.1)
  • Scikit-learn (recommended version 1.0.2)

(back to top)

Getting Started

Installation

Install the module

Recommended way:

  1. Clone the repository

    git clone https://github.com/LamFra/AEGADT.git
  2. Install the requirements

    pip install numpy==1.21.5
    pip install matplotlib==3.5.1
    pip install scikit-learn==1.0.2
  3. Run GA.py

    python GA.py

(back to top)

Contacts

Francesca La Manna - f.lamanna5@studenti.unisa.it
Gioacchino Caliendo - g.caliendo16@studenti.unisa.it

(back to top)

Acknowledgments

Datasets

(back to top)